You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by zr...@apache.org on 2019/09/04 21:01:54 UTC

[camel] branch camel-2.x updated (969ca54 -> fa2ca03)

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

zregvart pushed a change to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git.


    from 969ca54  CAMEL-12471: Fix overriding rabbit mq exchange name with EXCHANGE_OVERRIDE_NAME header.
     new f2561b0  CAMEL-13159: remove camel-website directory
     new d4ae077  Upgrade maven plugins to maven 3.x
     new 58c7b77  CAMEL-13246: Add Maven GAV to spring-boot auto configuration doc
     new 76d9269  Cleanup camel-package-maven-plugin
     new 48db737  CAMEL-13588: escape $ in options
     new 4a269a1  CAMEL-13588: additional escapes for URLs
     new b43ea0d  adding additional escaping logic to the Maven plugin that generates the Asciidoc files
     new 2c84b02  CAMEL-13798: code changes to re-level headings
     new 80d2d2a  CAMEL-13932: backport changes from master
     new 3750679  CAMEL-13932: backport documentation changes
     new 0a281a9  CAMEL-13932: Regen
     new 4ce5980  CAMEL-13932: Remove See Also sections
     new ceb920e  CAMEL-13932: Heading cleanup
     new 9353641  CAMEL-13910: add `page-source` attribute
     new c7ff5b0  CAMEL-13932: Regen with CAMEL-13910
     new fa2ca03  CAMEL-13932: More cleanup

The 16 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 camel-core/readme.adoc                             |   82 +-
 camel-core/src/main/docs/bean-component.adoc       |    6 +-
 camel-core/src/main/docs/bean-language.adoc        |    2 +-
 camel-core/src/main/docs/binding-component.adoc    |    6 +-
 camel-core/src/main/docs/browse-component.adoc     |    6 +-
 camel-core/src/main/docs/class-component.adoc      |    6 +-
 camel-core/src/main/docs/clustering.adoc           |    1 -
 camel-core/src/main/docs/constant-language.adoc    |    2 +-
 camel-core/src/main/docs/controlbus-component.adoc |    6 +-
 camel-core/src/main/docs/dataformat-component.adoc |    6 +-
 camel-core/src/main/docs/dataset-component.adoc    |    6 +-
 camel-core/src/main/docs/direct-component.adoc     |    6 +-
 camel-core/src/main/docs/direct-vm-component.adoc  |    6 +-
 camel-core/src/main/docs/eips/aggregate-eip.adoc   |    5 +-
 .../src/main/docs/eips/batch-config-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/bean-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/choice-eip.adoc      |    5 +-
 .../src/main/docs/eips/circuitBreaker-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/claimCheck-eip.adoc  |    5 +-
 .../src/main/docs/eips/convertBodyTo-eip.adoc      |    5 +-
 .../src/main/docs/eips/customLoadBalancer-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/delay-eip.adoc       |    5 +-
 .../src/main/docs/eips/dynamicRouter-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/enrich-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/failover-eip.adoc    |    5 +-
 camel-core/src/main/docs/eips/filter-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/from-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/hystrix-eip.adoc     |    5 +-
 .../main/docs/eips/hystrixConfiguration-eip.adoc   |    5 +-
 .../src/main/docs/eips/idempotentConsumer-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/inOnly-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/inOut-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/loadBalance-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/log-eip.adoc         |    5 +-
 camel-core/src/main/docs/eips/loop-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/marshal-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/multicast-eip.adoc   |    5 +-
 camel-core/src/main/docs/eips/onFallback-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/otherwise-eip.adoc   |    5 +-
 camel-core/src/main/docs/eips/pollEnrich-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/process-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/random-eip.adoc      |    5 +-
 .../src/main/docs/eips/recipientList-eip.adoc      |    5 +-
 .../src/main/docs/eips/removeHeader-eip.adoc       |    5 +-
 .../src/main/docs/eips/removeHeaders-eip.adoc      |    5 +-
 .../src/main/docs/eips/removeProperties-eip.adoc   |    5 +-
 .../src/main/docs/eips/removeProperty-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/resequence-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/rollback-eip.adoc    |    8 +-
 camel-core/src/main/docs/eips/roundRobin-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/routingSlip-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/saga-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/sample-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/script-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/serviceCall-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/setBody-eip.adoc     |    5 +-
 .../src/main/docs/eips/setFaultBody-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/setHeader-eip.adoc   |    5 +-
 .../src/main/docs/eips/setOutHeader-eip.adoc       |    3 +-
 camel-core/src/main/docs/eips/setProperty-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/sort-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/split-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/sticky-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/stop-eip.adoc        |    5 +-
 .../src/main/docs/eips/stream-config-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/threads-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/throttle-eip.adoc    |    5 +-
 camel-core/src/main/docs/eips/to-eip.adoc          |    5 +-
 camel-core/src/main/docs/eips/toD-eip.adoc         |    7 +-
 camel-core/src/main/docs/eips/topic-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/transform-eip.adoc   |    5 +-
 camel-core/src/main/docs/eips/unmarshal-eip.adoc   |    6 +-
 camel-core/src/main/docs/eips/validate-eip.adoc    |    7 +-
 camel-core/src/main/docs/eips/weighted-eip.adoc    |    5 +-
 camel-core/src/main/docs/eips/when-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/wireTap-eip.adoc     |    5 +-
 .../src/main/docs/exchangeProperty-language.adoc   |    2 +-
 camel-core/src/main/docs/file-component.adoc       |   21 +-
 camel-core/src/main/docs/file-language.adoc        |    4 +-
 camel-core/src/main/docs/gzip-dataformat.adoc      |    4 +-
 camel-core/src/main/docs/header-language.adoc      |    2 +-
 camel-core/src/main/docs/health-check.adoc         |    1 -
 camel-core/src/main/docs/language-component.adoc   |    6 +-
 camel-core/src/main/docs/log-component.adoc        |    6 +-
 camel-core/src/main/docs/mock-component.adoc       |    9 +-
 camel-core/src/main/docs/properties-component.adoc |   24 +-
 camel-core/src/main/docs/ref-component.adoc        |    6 +-
 camel-core/src/main/docs/ref-language.adoc         |    2 +-
 camel-core/src/main/docs/rest-api-component.adoc   |    6 +-
 camel-core/src/main/docs/rest-component.adoc       |    6 +-
 camel-core/src/main/docs/rest-dsl.adoc             |    1 -
 camel-core/src/main/docs/saga-component.adoc       |    6 +-
 camel-core/src/main/docs/scheduler-component.adoc  |    6 +-
 camel-core/src/main/docs/seda-component.adoc       |    6 +-
 .../src/main/docs/serialization-dataformat.adoc    |    2 +-
 camel-core/src/main/docs/simple-language.adoc      |    4 +-
 camel-core/src/main/docs/string-dataformat.adoc    |    2 +-
 camel-core/src/main/docs/stub-component.adoc       |    6 +-
 camel-core/src/main/docs/test-component.adoc       |    6 +-
 camel-core/src/main/docs/timer-component.adoc      |    6 +-
 camel-core/src/main/docs/tokenize-language.adoc    |    4 +-
 camel-core/src/main/docs/validator-component.adoc  |    6 +-
 camel-core/src/main/docs/vm-component.adoc         |    6 +-
 camel-core/src/main/docs/xpath-language.adoc       |    4 +-
 camel-core/src/main/docs/xslt-component.adoc       |   11 +-
 camel-core/src/main/docs/xtokenize-language.adoc   |    2 +-
 camel-core/src/main/docs/zip-dataformat.adoc       |    4 +-
 camel-website/.gitignore                           |    2 -
 camel-website/Gruntfile.js                         |   62 -
 camel-website/npm-shrinkwrap.json                  | 1253 ----------
 camel-website/package.json                         |   17 -
 camel-website/pom.xml                              |  117 -
 .../resources/styles/impact/css/pygmentize.css     |  126 -
 .../src/main/resources/styles/impact/css/site.css  |  234 --
 .../src/main/resources/user-manual/index.html      |   38 -
 .../src/main/docs/ahc-ws-component.adoc            |   48 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  112 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |   94 +-
 .../camel-apns/src/main/docs/apns-component.adoc   |   52 +-
 .../src/main/docs/as2-component.adoc               |   30 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   25 +-
 .../src/main/docs/asterisk-component.adoc          |   27 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |   36 +-
 .../main/docs/atmosphere-websocket-component.adoc  |   51 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |   43 +-
 .../src/main/docs/atomix-map-component.adoc        |   31 +-
 .../src/main/docs/atomix-messaging-component.adoc  |   24 +-
 .../src/main/docs/atomix-multimap-component.adoc   |   24 +-
 .../src/main/docs/atomix-queue-component.adoc      |   24 +-
 .../src/main/docs/atomix-set-component.adoc        |   24 +-
 .../src/main/docs/atomix-value-component.adoc      |   24 +-
 .../camel-avro/src/main/docs/avro-component.adoc   |   33 +-
 .../camel-avro/src/main/docs/avro-dataformat.adoc  |   25 +-
 .../camel-aws-xray/src/main/docs/aws-xray.adoc     |   12 +-
 .../camel-aws/src/main/docs/aws-cw-component.adoc  |   49 +-
 .../camel-aws/src/main/docs/aws-ddb-component.adoc |   66 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |   60 +-
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |   42 +-
 .../camel-aws/src/main/docs/aws-iam-component.adoc |   44 +-
 .../src/main/docs/aws-kinesis-component.adoc       |   57 +-
 .../main/docs/aws-kinesis-firehose-component.adoc  |   51 +-
 .../camel-aws/src/main/docs/aws-kms-component.adoc |   44 +-
 .../src/main/docs/aws-lambda-component.adoc        |   48 +-
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |   42 +-
 .../camel-aws/src/main/docs/aws-s3-component.adoc  |   63 +-
 .../camel-aws/src/main/docs/aws-sdb-component.adoc |   54 +-
 .../camel-aws/src/main/docs/aws-ses-component.adoc |   48 +-
 .../camel-aws/src/main/docs/aws-sns-component.adoc |   51 +-
 .../camel-aws/src/main/docs/aws-sqs-component.adoc |   61 +-
 .../camel-aws/src/main/docs/aws-swf-component.adoc |   57 +-
 components/camel-aws/src/main/docs/aws.adoc        |    2 +-
 .../camel/component/aws/s3/S3Configuration.java    |    3 +-
 .../src/main/docs/azure-blob-component.adoc        |   55 +-
 .../src/main/docs/azure-queue-component.adoc       |   55 +-
 components/camel-azure/src/main/docs/azure.adoc    |    8 +-
 .../camel-bam/src/main/docs/bam-example.adoc       |   18 +-
 components/camel-bam/src/main/docs/bam.adoc        |   18 +-
 .../src/main/docs/barcode-dataformat.adoc          |   29 +-
 .../src/main/docs/base64-dataformat.adoc           |   27 +-
 .../src/main/docs/bean-validator-component.adoc    |   43 +-
 .../src/main/docs/beanio-dataformat.adoc           |   35 +-
 .../src/main/docs/beanstalk-component.adoc         |   83 +-
 .../src/main/docs/bindy-dataformat.adoc            |   76 +-
 .../camel-blueprint/src/main/docs/blueprint.adoc   |    6 +-
 .../src/main/docs/bonita-component.adoc            |   33 +-
 .../camel-boon/src/main/docs/boon-dataformat.adoc  |   26 +-
 .../src/main/docs/box-component.adoc               |   53 +-
 .../src/main/docs/braintree-component.adoc         |   94 +-
 .../camel-cache/src/main/docs/cache-component.adoc |  100 +-
 .../src/main/docs/caffeine-cache-component.adoc    |   31 +-
 .../main/docs/caffeine-loadcache-component.adoc    |   28 +-
 .../src/main/docs/cql-component.adoc               |   41 +-
 .../src/main/docs/castor-dataformat.adoc           |   27 +-
 components/camel-cdi/src/main/docs/cdi.adoc        |  510 +---
 .../src/main/docs/chronicle-engine-component.adoc  |   28 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |   42 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   44 +-
 .../camel-coap/src/main/docs/coap-component.adoc   |   29 +-
 .../src/main/docs/cometd-component.adoc            |   60 +-
 .../src/main/docs/consul-component.adoc            |   35 +-
 .../src/main/docs/context-component.adoc           |   33 +-
 .../camel-corda/src/main/docs/corda-component.adoc |   29 +-
 .../src/main/docs/couchbase-component.adoc         |   28 +-
 .../src/main/docs/couchdb-component.adoc           |   33 +-
 .../src/main/docs/crypto-cms-component.adoc        |   33 +-
 .../src/main/docs/crypto-component.adoc            |   52 +-
 .../src/main/docs/crypto-dataformat.adoc           |   41 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |   39 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc    |   39 +-
 .../src/main/docs/cxf-transport.adoc               |   41 +-
 .../camel-cxf/src/main/docs/cxf-component.adoc     |  158 +-
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |   53 +-
 .../src/main/docs/digitalocean-component.adoc      |   55 +-
 .../src/main/docs/disruptor-component.adoc         |   61 +-
 .../camel-dns/src/main/docs/dns-component.adoc     |   49 +-
 .../src/main/docs/docker-component.adoc            |   33 +-
 .../camel-dozer/src/main/docs/dozer-component.adoc |   39 +-
 .../camel-drill/src/main/docs/drill-component.adoc |   41 +-
 .../src/main/docs/dropbox-component.adoc           |   83 +-
 .../camel-eclipse/src/main/docs/eclipse.adoc       |   10 +-
 .../src/main/docs/ehcache-component.adoc           |   35 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     |   40 +-
 .../main/docs/elasticsearch-rest-component.adoc    |   45 +-
 .../src/main/docs/elasticsearch-component.adoc     |   44 +-
 .../src/main/docs/elasticsearch5-component.adoc    |   40 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |   63 +-
 .../camel-etcd/src/main/docs/etcd-component.adoc   |   28 +-
 .../src/main/docs/eventadmin-component.adoc        |   23 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   54 +-
 .../src/main/docs/facebook-component.adoc          |   64 +-
 .../src/main/docs/json-fastjson-dataformat.adoc    |   23 +-
 .../src/main/docs/fhir-component.adoc              |   23 +-
 .../src/main/docs/fhirJson-dataformat.adoc         |   22 +-
 .../src/main/docs/fhirXml-dataformat.adoc          |   21 +-
 .../src/main/docs/flatpack-component.adoc          |   66 +-
 .../src/main/docs/flatpack-dataformat.adoc         |   30 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   43 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   40 +-
 .../src/main/docs/freemarker-component.adoc        |   46 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |  114 +-
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   46 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   31 +-
 .../src/main/docs/ganglia-component.adoc           |   35 +-
 .../src/main/docs/geocoder-component.adoc          |   36 +-
 .../camel-git/src/main/docs/git-component.adoc     |   34 +-
 .../src/main/docs/github-component.adoc            |   31 +-
 .../src/main/docs/google-bigquery-component.adoc   |   37 +-
 .../main/docs/google-bigquery-sql-component.adoc   |   38 +-
 .../src/main/docs/google-calendar-component.adoc   |   39 +-
 .../docs/google-calendar-stream-component.adoc     |   33 +-
 .../src/main/docs/google-drive-component.adoc      |   39 +-
 .../src/main/docs/google-mail-component.adoc       |   35 +-
 .../main/docs/google-mail-stream-component.adoc    |   29 +-
 .../src/main/docs/google-pubsub-component.adoc     |   37 +-
 .../src/main/docs/google-sheets-component.adoc     |   35 +-
 .../main/docs/google-sheets-stream-component.adoc  |   33 +-
 .../camel-gora/src/main/docs/gora-component.adoc   |   39 +-
 .../camel-grape/src/main/docs/grape-component.adoc |   74 +-
 .../camel-groovy-dsl/src/main/docs/groovy-dsl.adoc |   28 +-
 .../src/main/docs/groovy-language.adoc             |   61 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |   47 +-
 .../src/main/docs/json-gson-dataformat.adoc        |   23 +-
 .../src/main/docs/guava-eventbus-component.adoc    |   33 +-
 components/camel-guice/src/main/docs/guice.adoc    |   25 +-
 components/camel-hawtdb/src/main/docs/hawtdb.adoc  |    8 +-
 .../main/docs/hazelcast-atomicvalue-component.adoc |   37 +-
 .../main/docs/hazelcast-instance-component.adoc    |   27 +-
 .../src/main/docs/hazelcast-list-component.adoc    |   37 +-
 .../src/main/docs/hazelcast-map-component.adoc     |   39 +-
 .../main/docs/hazelcast-multimap-component.adoc    |   37 +-
 .../src/main/docs/hazelcast-queue-component.adoc   |   53 +-
 .../docs/hazelcast-replicatedmap-component.adoc    |   35 +-
 .../main/docs/hazelcast-ringbuffer-component.adoc  |   31 +-
 .../src/main/docs/hazelcast-seda-component.adoc    |   29 +-
 .../src/main/docs/hazelcast-set-component.adoc     |   26 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |   31 +-
 .../camel-hazelcast/src/main/docs/hazelcast.adoc   |   40 +-
 .../camel-hbase/src/main/docs/hbase-component.adoc |   69 +-
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |   48 +-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |   51 +-
 .../camel-headersmap/src/main/docs/headersmap.adoc |    6 +-
 .../src/main/docs/hessian-dataformat.adoc          |   25 +-
 .../src/main/docs/hipchat-component.adoc           |   41 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |   59 +-
 .../camel-hl7/src/main/docs/terser-language.adoc   |    9 +-
 .../camel-http/src/main/docs/http-component.adoc   |  642 ++---
 .../camel-http4/src/main/docs/http4-component.adoc |  116 +-
 .../camel-hystrix/src/main/docs/hystrix.adoc       |   18 +-
 .../src/main/docs/ibatis-component.adoc            |   47 +-
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   30 +-
 .../src/main/docs/iec60870-client-component.adoc   |   25 +-
 .../src/main/docs/iec60870-server-component.adoc   |   26 +-
 .../src/main/docs/ignite-cache-component.adoc      |   27 +-
 .../src/main/docs/ignite-compute-component.adoc    |   29 +-
 .../src/main/docs/ignite-events-component.adoc     |   26 +-
 .../src/main/docs/ignite-idgen-component.adoc      |   26 +-
 .../src/main/docs/ignite-messaging-component.adoc  |   27 +-
 .../src/main/docs/ignite-queue-component.adoc      |   27 +-
 .../src/main/docs/ignite-set-component.adoc        |   27 +-
 components/camel-ignite/src/main/docs/ignite.adoc  |   29 +-
 .../src/main/docs/infinispan-component.adoc        |   42 +-
 .../src/main/docs/influxdb-component.adoc          |   38 +-
 .../camel-iota/src/main/docs/iota-component.adoc   |   32 +-
 .../camel-ipfs/src/main/docs/ipfs-component.adoc   |   31 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   54 +-
 .../src/main/docs/ironmq-component.adoc            |   41 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   25 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   46 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |   55 +-
 .../src/main/docs/javaspace-component.adoc         |   54 +-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |   73 +-
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   54 +-
 .../src/main/docs/jcache-component.adoc            |   27 +-
 .../src/main/docs/jclouds-component.adoc           |   93 +-
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   38 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |   68 +-
 .../src/main/docs/jetty-component.adoc             |   58 +-
 .../src/main/docs/jgroups-raft-component.adoc      |   37 +-
 .../src/main/docs/jgroups-component.adoc           |   91 +-
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |   25 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   38 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |   29 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |  237 +-
 .../camel-jmx/src/main/docs/jmx-component.adoc     |   42 +-
 .../src/main/docs/json-johnzon-dataformat.adoc     |   23 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   36 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |   38 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc     |   70 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |   40 +-
 .../src/main/docs/json-validator-component.adoc    |   27 +-
 .../src/main/docs/jsonpath-language.adoc           |   45 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc |   51 +-
 .../camel-juel/src/main/docs/el-language.adoc      |   34 +-
 .../src/main/docs/jxpath-language.adoc             |   42 +-
 .../camel-kafka/src/main/docs/kafka-component.adoc |   85 +-
 .../src/main/docs/kestrel-component.adoc           |   48 +-
 .../camel-krati/src/main/docs/krati-component.adoc |   47 +-
 .../src/main/docs/kubernetes-component.adoc        |   51 +-
 .../docs/kubernetes-config-maps-component.adoc     |   30 +-
 .../docs/kubernetes-deployments-component.adoc     |   30 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |   30 +-
 .../src/main/docs/kubernetes-job-component.adoc    |   30 +-
 .../main/docs/kubernetes-namespaces-component.adoc |   30 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |   30 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   30 +-
 .../kubernetes-persistent-volumes-component.adoc   |   30 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   30 +-
 ...bernetes-replication-controllers-component.adoc |   30 +-
 .../docs/kubernetes-resources-quota-component.adoc |   30 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   30 +-
 .../kubernetes-service-accounts-component.adoc     |   30 +-
 .../main/docs/kubernetes-services-component.adoc   |   30 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc |   38 +-
 .../docs/openshift-build-configs-component.adoc    |   13 +-
 .../src/main/docs/openshift-builds-component.adoc  |   15 +-
 components/camel-kura/src/main/docs/kura.adoc      |   50 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   47 +-
 .../camel-ldif/src/main/docs/ldif-component.adoc   |   33 +-
 .../camel-leveldb/src/main/docs/leveldb.adoc       |   34 +-
 .../src/main/docs/linkedin-component.adoc          |   59 +-
 components/camel-lra/src/main/docs/lra.adoc        |   22 +-
 .../src/main/docs/lucene-component.adoc            |   45 +-
 .../src/main/docs/lumberjack-component.adoc        |   33 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc    |   47 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |  118 +-
 .../src/main/docs/mime-multipart-dataformat.adoc   |   18 +-
 .../src/main/docs/master-component.adoc            |   38 +-
 .../src/main/docs/metrics-component.adoc           |   84 +-
 .../src/main/docs/micrometer-component.adoc        |   79 +-
 .../src/main/docs/milo-client-component.adoc       |   42 +-
 .../src/main/docs/milo-server-component.adoc       |   38 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |   47 +-
 .../camel-mina2/src/main/docs/mina2-component.adoc |   58 +-
 .../camel-mllp/src/main/docs/mllp-component.adoc   |   39 +-
 .../src/main/docs/mongodb-gridfs-component.adoc    |   45 +-
 .../src/main/docs/mongodb-component.adoc           |  126 +-
 .../src/main/docs/mongodb3-component.adoc          |   69 +-
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |   38 +-
 .../camel-msv/src/main/docs/msv-component.adoc     |   38 +-
 .../src/main/docs/mustache-component.adoc          |   42 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |   44 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |   34 +-
 .../src/main/docs/mybatis-bean-component.adoc      |   33 +-
 .../src/main/docs/mybatis-component.adoc           |   68 +-
 .../src/main/docs/nagios-component.adoc            |   51 +-
 .../camel-nats/src/main/docs/nats-component.adoc   |   29 +-
 .../src/main/docs/netty-http-component.adoc        |   87 +-
 .../camel-netty/src/main/docs/netty-component.adoc |  440 ++--
 .../src/main/docs/netty4-http-component.adoc       |   72 +-
 .../src/main/docs/netty4-component.adoc            |   69 +-
 .../camel-nsq/src/main/docs/nsq-component.adoc     |   26 +-
 .../camel-ognl/src/main/docs/ognl-language.adoc    |   34 +-
 .../src/main/docs/olingo2-component.adoc           |   47 +-
 .../src/main/docs/olingo4-component.adoc           |   45 +-
 .../src/main/docs/openshift-component.adoc         |   40 +-
 .../src/main/docs/openstack-cinder-component.adoc  |   54 +-
 .../src/main/docs/openstack-glance-component.adoc  |   44 +-
 .../main/docs/openstack-keystone-component.adoc    |   72 +-
 .../src/main/docs/openstack-neutron-component.adoc |   67 +-
 .../src/main/docs/openstack-nova-component.adoc    |   60 +-
 .../src/main/docs/openstack-swift-component.adoc   |   54 +-
 .../camel-openstack/src/main/docs/openstack.adoc   |   18 +-
 .../src/main/docs/opentracing.adoc                 |   28 +-
 .../src/main/docs/optaplanner-component.adoc       |   45 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |   40 +-
 .../src/main/docs/paxlogging-component.adoc        |   21 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   40 +-
 .../src/main/docs/pgevent-component.adoc           |   34 +-
 .../camel-printer/src/main/docs/lpr-component.adoc |   72 +-
 .../src/main/docs/protobuf-dataformat.adoc         |   46 +-
 .../src/main/docs/pubnub-component.adoc            |   51 +-
 .../src/main/docs/pulsar-component.adoc            |   27 +-
 .../src/main/docs/quartz-component.adoc            |  341 ++-
 .../src/main/docs/quartz2-component.adoc           |   57 +-
 .../src/main/docs/quickfix-component.adoc          |   82 +-
 .../src/main/docs/rabbitmq-component.adoc          |   42 +-
 .../src/main/docs/reactive-streams-component.adoc  |   59 +-
 .../src/main/docs/reactor-component.adoc           |    2 +-
 .../src/main/docs/rest-swagger-component.adoc      |   55 +-
 .../src/main/docs/restlet-component.adoc           |   51 +-
 components/camel-ribbon/src/main/docs/ribbon.adoc  |   10 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |   35 +-
 .../src/main/docs/routebox-component.adoc          |   43 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |   44 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |   21 +-
 components/camel-ruby/src/main/docs/ruby.adoc      |   38 +-
 components/camel-rx/src/main/docs/rx.adoc          |   14 +-
 .../camel-rxjava2/src/main/docs/rxjava2.adoc       |    4 +-
 .../src/main/docs/salesforce-component.adoc        |   80 +-
 .../src/main/docs/sap-netweaver-component.adoc     |   42 +-
 .../src/main/docs/xquery-component.adoc            |   64 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |   48 +-
 .../camel-scala/src/main/docs/scala-eip.adoc       |   94 +-
 .../src/main/docs/scala-getting-started.adoc       |   11 +-
 .../src/main/docs/scala-supported-languages.adoc   |    6 +-
 components/camel-scala/src/main/docs/scala.adoc    |   13 +-
 .../src/main/docs/schematron-component.adoc        |   33 +-
 components/camel-scr/src/main/docs/scr.adoc        |   20 +-
 .../src/main/docs/javaScript-language.adoc         |   53 +-
 .../camel-script/src/main/docs/php-language.adoc   |   34 +-
 .../src/main/docs/python-language.adoc             |   36 +-
 .../camel-script/src/main/docs/ruby-language.adoc  |   36 +-
 components/camel-script/src/main/docs/script.adoc  |   16 +-
 .../src/main/docs/service-component.adoc           |   36 +-
 .../src/main/docs/servicenow-component.adoc        |   97 +-
 .../src/main/docs/servlet-component.adoc           |   64 +-
 .../src/main/docs/servletlistener.adoc             |   63 +-
 components/camel-shiro/src/main/docs/shiro.adoc    |   31 +-
 .../camel-sip/src/main/docs/sip-component.adoc     |   39 +-
 .../src/main/docs/sjms-batch-component.adoc        |   31 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   |   64 +-
 .../camel-sjms2/src/main/docs/sjms2-component.adoc |   68 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   40 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |   62 +-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   27 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   46 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   47 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   42 +-
 .../src/main/docs/spark-rest-component.adoc        |   19 +-
 .../camel-spark/src/main/docs/spark-component.adoc |   50 +-
 .../src/main/docs/splunk-component.adoc            |   47 +-
 .../src/main/docs/spring-batch-component.adoc      |   41 +-
 .../src/main/docs/spring-boot.adoc                 |  125 +-
 .../src/main/docs/spring-cloud-consul.adoc         |    4 +-
 .../src/main/docs/spring-cloud-netflix.adoc        |   18 +-
 .../src/main/docs/spring-cloud-zookeeper.adoc      |    4 +-
 .../src/main/docs/spring-cloud.adoc                |   19 +-
 .../main/docs/spring-integration-component.adoc    |   42 +-
 .../src/main/docs/spring-javaconfig.adoc           |   11 +-
 .../src/main/docs/spring-ldap-component.adoc       |   44 +-
 .../src/main/docs/spring-redis-component.adoc      |   45 +-
 .../src/main/docs/spring-security.adoc             |   28 +-
 .../src/main/docs/spring-ws-component.adoc         |   63 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |   29 +-
 .../src/main/docs/spring-event-component.adoc      |   40 +-
 components/camel-spring/src/main/docs/spring.adoc  |  104 +-
 .../camel-sql/src/main/docs/sql-component.adoc     |   91 +-
 .../src/main/docs/sql-stored-component.adoc        |   41 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   44 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |   43 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |   38 +-
 .../src/main/docs/stream-component.adoc            |   35 +-
 .../src/main/docs/string-template-component.adoc   |   44 +-
 .../src/main/docs/swagger-java.adoc                |   16 +-
 .../camel-swagger/src/main/docs/swagger.adoc       |   26 +-
 .../src/main/docs/syslog-dataformat.adoc           |   52 +-
 .../src/main/docs/tidyMarkup-dataformat.adoc       |   27 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   29 +-
 .../src/main/docs/telegram-component.adoc          |   39 +-
 .../src/main/docs/test-blueprint.adoc              |   34 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |   63 +-
 .../camel-test-karaf/src/main/docs/test-karaf.adoc |    4 +-
 .../src/main/docs/test-spring.adoc                 |   81 +-
 components/camel-test/src/main/docs/test.adoc      |   49 +-
 .../src/main/docs/testcontainers-spring.adoc       |    5 +-
 .../src/main/docs/testcontainers.adoc              |    6 +-
 components/camel-testng/src/main/docs/testng.adoc  |    4 +-
 .../src/main/docs/thrift-component.adoc            |   42 +-
 .../src/main/docs/thrift-dataformat.adoc           |   38 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   29 +-
 .../src/main/docs/twilio-component.adoc            |   35 +-
 .../src/main/docs/twitter-component.adoc           |   70 +-
 .../main/docs/twitter-directmessage-component.adoc |   28 +-
 .../src/main/docs/twitter-search-component.adoc    |   28 +-
 .../src/main/docs/twitter-streaming-component.adoc |   28 +-
 .../src/main/docs/twitter-timeline-component.adoc  |   28 +-
 .../camel-twitter/src/main/docs/twitter.adoc       |   57 +-
 .../src/main/docs/undertow-component.adoc          |   65 +-
 .../src/main/docs/univocity-csv-dataformat.adoc    |   54 +-
 .../src/main/docs/univocity-fixed-dataformat.adoc  |   54 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc    |   54 +-
 .../camel-urlrewrite/src/main/docs/urlrewrite.adoc |   53 +-
 .../src/main/docs/velocity-component.adoc          |   52 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   36 +-
 .../src/main/docs/weather-component.adoc           |   37 +-
 .../camel-web3j/src/main/docs/web3j-component.adoc |   29 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |   27 +-
 .../src/main/docs/websocket-component.adoc         |   74 +-
 .../src/main/docs/wordpress-component.adoc         |   35 +-
 .../src/main/docs/xchange-component.adoc           |   33 +-
 .../src/main/docs/xmlBeans-dataformat.adoc         |   23 +-
 .../src/main/docs/xmlrpc-component.adoc            |   38 +-
 .../src/main/docs/xmlrpc-dataformat.adoc           |   21 +-
 .../src/main/docs/secureXML-dataformat.adoc        |   34 +-
 .../src/main/docs/xmlsecurity-component.adoc       |  157 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   41 +-
 .../src/main/docs/json-xstream-dataformat.adoc     |   15 +-
 .../src/main/docs/xstream-dataformat.adoc          |   29 +-
 .../src/main/docs/yammer-component.adoc            |   38 +-
 .../src/main/docs/zendesk-component.adoc           |   35 +-
 .../src/main/docs/zipfile-dataformat.adoc          |   29 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |   64 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   38 +-
 .../src/main/docs/zookeeper-component.adoc         |   47 +-
 components/readme.adoc                             |  127 +-
 docs/.gitignore                                    |    1 +
 docs/component-nav.adoc.template                   |    4 +
 docs/components/antora.yml                         |    2 +-
 .../modules/ROOT/assets/images}/apache-ignite.png  |  Bin
 .../modules/ROOT/assets/images}/camel-jmx.png      |  Bin
 .../ROOT/assets/images}/camel_spark_cluster.png    |  Bin
 .../ROOT/assets/images}/camel_spark_driver.png     |  Bin
 .../images}/jconsole_trace_notifications.png       |  Bin
 .../modules/ROOT/assets/images}/qr-code.png        |  Bin
 .../quickfixj/QuickfixjSpringTest-context.xml      |    0
 docs/components/modules/ROOT/nav.adoc              |   61 +-
 .../modules/ROOT/pages/ahc-component.adoc          |  473 +++-
 .../modules/ROOT/pages/ahc-ws-component.adoc       |  200 +-
 .../modules/ROOT/pages/amqp-component.adoc         |  481 +++-
 .../modules/ROOT/pages/apns-component.adoc         |  339 ++-
 .../modules/ROOT/pages}/as2-component.adoc         |   31 +-
 .../modules/ROOT/pages/asn1-dataformat.adoc        |  108 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |  108 +-
 .../modules/ROOT/pages/atmos-component.adoc        |  182 +-
 .../ROOT/pages/atmosphere-websocket-component.adoc |  223 +-
 .../modules/ROOT/pages/atom-component.adoc         |  175 +-
 .../modules/ROOT/pages/atomix-map-component.adoc   |  230 +-
 .../ROOT/pages/atomix-messaging-component.adoc     |  126 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |  124 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |  120 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |  122 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |  122 +-
 .../modules/ROOT/pages/avro-component.adoc         |  350 ++-
 .../modules/ROOT/pages/avro-dataformat.adoc        |  187 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       |  213 +-
 .../modules/ROOT/pages/aws-ddb-component.adoc      |  383 ++-
 .../ROOT/pages/aws-ddbstream-component.adoc        |  239 +-
 .../modules/ROOT/pages/aws-ec2-component.adoc      |  178 +-
 .../modules/ROOT/pages/aws-iam-component.adoc      |  178 +-
 .../modules/ROOT/pages/aws-kinesis-component.adoc  |  268 ++-
 .../ROOT/pages/aws-kinesis-firehose-component.adoc |  204 +-
 .../modules/ROOT/pages/aws-kms-component.adoc      |  176 +-
 .../modules/ROOT/pages/aws-lambda-component.adoc   |  233 +-
 .../modules/ROOT/pages/aws-mq-component.adoc       |  177 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |  416 +++-
 .../modules/ROOT/pages/aws-sdb-component.adoc      |  250 +-
 .../modules/ROOT/pages/aws-ses-component.adoc      |  213 +-
 .../modules/ROOT/pages/aws-sns-component.adoc      |  209 +-
 .../modules/ROOT/pages/aws-sqs-component.adoc      |  345 ++-
 .../modules/ROOT/pages/aws-swf-component.adoc      |  304 ++-
 docs/components/modules/ROOT/pages/aws-xray.adoc   |  117 +-
 docs/components/modules/ROOT/pages/aws.adoc        |    7 +-
 .../modules/ROOT/pages/azure-blob-component.adoc   |  260 ++-
 .../modules/ROOT/pages/azure-queue-component.adoc  |  213 +-
 docs/components/modules/ROOT/pages/azure.adoc      |   16 +-
 .../components/modules/ROOT/pages/bam-example.adoc |   91 +-
 docs/components/modules/ROOT/pages/bam.adoc        |   82 +-
 .../modules/ROOT/pages/barcode-dataformat.adoc     |  166 +-
 .../modules/ROOT/pages/base64-dataformat.adoc      |  147 +-
 .../ROOT/pages/bean-validator-component.adoc       |  308 ++-
 .../modules/ROOT/pages/beanio-dataformat.adoc      |  123 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |  258 ++-
 .../modules/ROOT/pages/bindy-dataformat.adoc       | 1916 ++++++++++++++-
 docs/components/modules/ROOT/pages/blueprint.adoc  |   47 +-
 .../modules/ROOT/pages/bonita-component.adoc       |  122 +-
 .../modules/ROOT/pages/boon-dataformat.adoc        |  107 +-
 .../modules/ROOT/pages}/box-component.adoc         |   54 +-
 .../modules/ROOT/pages/braintree-component.adoc    |  887 ++++++-
 .../modules/ROOT/pages/cache-component.adoc        |  498 +++-
 .../ROOT/pages/caffeine-cache-component.adoc       |  173 +-
 .../ROOT/pages/caffeine-loadcache-component.adoc   |  140 +-
 .../modules/ROOT/pages/castor-dataformat.adoc      |  183 +-
 docs/components/modules/ROOT/pages/cdi.adoc        |  849 ++++++-
 .../ROOT/pages/chronicle-engine-component.adoc     |   94 +-
 .../modules/ROOT/pages/chunk-component.adoc        |  217 +-
 .../modules/ROOT/pages/cm-sms-component.adoc       |    1 -
 .../modules/ROOT/pages/cmis-component.adoc         |  170 +-
 .../modules/ROOT/pages/coap-component.adoc         |  145 +-
 .../modules/ROOT/pages/cometd-component.adoc       |  244 +-
 .../modules/ROOT/pages/consul-component.adoc       |  239 +-
 .../modules/ROOT/pages/context-component.adoc      |  210 +-
 .../modules/ROOT/pages/corda-component.adoc        |  154 +-
 .../modules/ROOT/pages/couchbase-component.adoc    |  141 +-
 .../modules/ROOT/pages/couchdb-component.adoc      |  184 +-
 .../modules/ROOT/pages/cql-component.adoc          |  296 ++-
 .../modules/ROOT/pages/crypto-cms-component.adoc   |  427 +++-
 .../modules/ROOT/pages/crypto-component.adoc       |  295 ++-
 .../modules/ROOT/pages/crypto-dataformat.adoc      |  338 ++-
 .../modules/ROOT/pages/csv-dataformat.adoc         |  426 +++-
 .../modules/ROOT/pages/cxf-component.adoc          |  909 +++++++-
 .../modules/ROOT/pages/cxf-transport.adoc          |  264 ++-
 .../modules/ROOT/pages/cxfrs-component.adoc        |  512 +++-
 .../modules/ROOT/pages/digitalocean-component.adoc |  300 ++-
 .../modules/ROOT/pages/disruptor-component.adoc    |  370 ++-
 .../modules/ROOT/pages/dns-component.adoc          |  207 +-
 .../modules/ROOT/pages/docker-component.adoc       |  184 +-
 .../modules/ROOT/pages/dozer-component.adoc        |  310 ++-
 .../modules/ROOT/pages/drill-component.adoc        |  106 +-
 .../modules/ROOT/pages/dropbox-component.adoc      |  442 +++-
 docs/components/modules/ROOT/pages/eclipse.adoc    |   60 +-
 .../modules/ROOT/pages/ehcache-component.adoc      |  284 ++-
 .../modules/ROOT/pages/ejb-component.adoc          |  216 +-
 .../components/modules/ROOT/pages/el-language.adoc |  137 +-
 .../ROOT/pages/elasticsearch-component.adoc        |  205 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |  350 ++-
 .../ROOT/pages/elasticsearch5-component.adoc       |  205 +-
 .../modules/ROOT/pages/elsql-component.adoc        |  304 ++-
 .../modules/ROOT/pages/etcd-component.adoc         |  136 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   |  105 +-
 .../modules/ROOT/pages/exec-component.adoc         |  266 ++-
 .../modules/ROOT/pages/facebook-component.adoc     |  370 ++-
 .../modules/ROOT/pages}/fhir-component.adoc        |   24 +-
 .../modules/ROOT/pages}/fhirJson-dataformat.adoc   |   23 +-
 .../modules/ROOT/pages}/fhirXml-dataformat.adoc    |   22 +-
 .../modules/ROOT/pages/flatpack-component.adoc     |  349 ++-
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |  137 +-
 .../modules/ROOT/pages/flink-component.adoc        |  190 +-
 .../modules/ROOT/pages/fop-component.adoc          |  196 +-
 .../modules/ROOT/pages/freemarker-component.adoc   |  270 ++-
 .../modules/ROOT/pages/ftp-component.adoc          |  789 ++++++-
 .../modules/ROOT/pages/ftps-component.adoc         |  223 +-
 .../modules/ROOT/pages/ganglia-component.adoc      |  202 +-
 .../modules/ROOT/pages/geocoder-component.adoc     |  204 +-
 .../modules/ROOT/pages/git-component.adoc          |  163 +-
 .../modules/ROOT/pages/github-component.adoc       |  160 +-
 .../ROOT/pages/google-bigquery-component.adoc      |  195 +-
 .../ROOT/pages/google-bigquery-sql-component.adoc  |  163 +-
 .../ROOT/pages/google-calendar-component.adoc      |  206 +-
 .../pages/google-calendar-stream-component.adoc    |  177 +-
 .../modules/ROOT/pages/google-drive-component.adoc |  211 +-
 .../modules/ROOT/pages/google-mail-component.adoc  |  200 +-
 .../ROOT/pages/google-mail-stream-component.adoc   |  173 +-
 .../ROOT/pages/google-pubsub-component.adoc        |  192 +-
 .../ROOT/pages/google-sheets-component.adoc        |  195 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |  181 +-
 .../modules/ROOT/pages/gora-component.adoc         |  295 ++-
 .../modules/ROOT/pages/grape-component.adoc        |  246 +-
 docs/components/modules/ROOT/pages/groovy-dsl.adoc |  399 +++-
 .../modules/ROOT/pages/groovy-language.adoc        |  227 +-
 .../modules/ROOT/pages/grpc-component.adoc         |  302 ++-
 .../ROOT/pages/guava-eventbus-component.adoc       |  254 +-
 docs/components/modules/ROOT/pages/guice.adoc      |  147 +-
 docs/components/modules/ROOT/pages/hawtdb.adoc     |  151 +-
 .../pages/hazelcast-atomicvalue-component.adoc     |  255 +-
 .../ROOT/pages/hazelcast-instance-component.adoc   |  165 +-
 .../ROOT/pages/hazelcast-list-component.adoc       |  174 +-
 .../ROOT/pages/hazelcast-map-component.adoc        |  381 ++-
 .../ROOT/pages/hazelcast-multimap-component.adoc   |  282 ++-
 .../ROOT/pages/hazelcast-queue-component.adoc      |  260 ++-
 .../pages/hazelcast-replicatedmap-component.adoc   |  254 +-
 .../ROOT/pages/hazelcast-ringbuffer-component.adoc |  158 +-
 .../ROOT/pages/hazelcast-seda-component.adoc       |  149 +-
 .../ROOT/pages/hazelcast-set-component.adoc        |  100 +-
 .../ROOT/pages/hazelcast-topic-component.adoc      |  135 +-
 docs/components/modules/ROOT/pages/hazelcast.adoc  |  167 +-
 .../modules/ROOT/pages/hbase-component.adoc        |  537 ++++-
 .../modules/ROOT/pages/hdfs-component.adoc         |  283 ++-
 .../modules/ROOT/pages/hdfs2-component.adoc        |  324 ++-
 docs/components/modules/ROOT/pages/headersmap.adoc |   37 +-
 .../modules/ROOT/pages/hessian-dataformat.adoc     |   89 +-
 .../modules/ROOT/pages/hipchat-component.adoc      |  253 +-
 .../modules/ROOT/pages/hl7-dataformat.adoc         |  597 ++++-
 .../modules/ROOT/pages/http-component.adoc         |  706 +++++-
 .../modules/ROOT/pages/http4-component.adoc        |  752 +++++-
 docs/components/modules/ROOT/pages/hystrix.adoc    |   51 +-
 .../modules/ROOT/pages/ibatis-component.adoc       |  256 +-
 .../modules/ROOT/pages/ical-dataformat.adoc        |  102 +-
 .../ROOT/pages/iec60870-client-component.adoc      |  152 +-
 .../ROOT/pages/iec60870-server-component.adoc      |  139 +-
 .../modules/ROOT/pages/ignite-cache-component.adoc |  136 +-
 .../ROOT/pages/ignite-compute-component.adoc       |  137 +-
 .../ROOT/pages/ignite-events-component.adoc        |   95 +-
 .../modules/ROOT/pages/ignite-idgen-component.adoc |   92 +-
 .../ROOT/pages/ignite-messaging-component.adoc     |  111 +-
 .../modules/ROOT/pages/ignite-queue-component.adoc |  115 +-
 .../modules/ROOT/pages/ignite-set-component.adoc   |  104 +-
 docs/components/modules/ROOT/pages/ignite.adoc     |  107 +-
 docs/components/modules/ROOT/pages/index.adoc      |  338 +++
 .../modules/ROOT/pages/infinispan-component.adoc   |  273 ++-
 .../modules/ROOT/pages/influxdb-component.adoc     |  147 +-
 .../modules/ROOT/pages/iota-component.adoc         |  175 +-
 .../modules/ROOT/pages/ipfs-component.adoc         |  111 +-
 .../modules/ROOT/pages/irc-component.adoc          |  248 +-
 .../modules/ROOT/pages/ironmq-component.adoc       |  190 +-
 .../modules/ROOT/pages/jacksonxml-dataformat.adoc  |  406 +++-
 docs/components/modules/ROOT/pages/jasypt.adoc     |  290 ++-
 .../modules/ROOT/pages/javaScript-language.adoc    |  221 +-
 .../modules/ROOT/pages/javaspace-component.adoc    |  179 +-
 .../modules/ROOT/pages/jaxb-dataformat.adoc        |  385 ++-
 .../modules/ROOT/pages/jbpm-component.adoc         |  305 ++-
 .../modules/ROOT/pages/jcache-component.adoc       |  123 +-
 .../modules/ROOT/pages/jclouds-component.adoc      |  382 ++-
 .../modules/ROOT/pages/jcr-component.adoc          |  160 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |  273 ++-
 .../modules/ROOT/pages/jetty-component.adoc        |  805 ++++++-
 .../modules/ROOT/pages/jgroups-component.adoc      |  298 ++-
 .../modules/ROOT/pages/jgroups-raft-component.adoc |  212 +-
 .../modules/ROOT/pages/jibx-dataformat.adoc        |  126 +-
 .../modules/ROOT/pages/jing-component.adoc         |  121 +-
 .../modules/ROOT/pages/jira-component.adoc         |  153 +-
 .../modules/ROOT/pages/jms-component.adoc          | 1548 ++++++++++++-
 .../modules/ROOT/pages/jmx-component.adoc          | 1092 ++++++++-
 .../modules/ROOT/pages/jolt-component.adoc         |  158 +-
 .../modules/ROOT/pages/jpa-component.adoc          |  476 +++-
 .../ROOT/pages/json-fastjson-dataformat.adoc       |  115 +-
 .../modules/ROOT/pages/json-gson-dataformat.adoc   |  116 +-
 .../ROOT/pages/json-jackson-dataformat.adoc        |  124 +-
 .../ROOT/pages/json-johnzon-dataformat.adoc        |  116 +-
 .../ROOT/pages/json-validator-component.adoc       |  162 +-
 .../ROOT/pages/json-xstream-dataformat.adoc        |  153 +-
 .../modules/ROOT/pages/jsonpath-language.adoc      |  373 ++-
 .../modules/ROOT/pages/jt400-component.adoc        |  230 +-
 .../modules/ROOT/pages/jxpath-language.adoc        |  188 +-
 .../modules/ROOT/pages/kafka-component.adoc        |  614 ++++-
 .../modules/ROOT/pages/kestrel-component.adoc      |  308 ++-
 .../modules/ROOT/pages/krati-component.adoc        |  248 +-
 .../modules/ROOT/pages/kubernetes-component.adoc   |  304 ++-
 .../pages/kubernetes-config-maps-component.adoc    |   95 +-
 .../pages/kubernetes-deployments-component.adoc    |  104 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |  105 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |  104 +-
 .../pages/kubernetes-namespaces-component.adoc     |  105 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |  105 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   96 +-
 .../kubernetes-persistent-volumes-component.adoc   |   96 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |  104 +-
 ...bernetes-replication-controllers-component.adoc |  105 +-
 .../kubernetes-resources-quota-component.adoc      |   96 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |   96 +-
 .../kubernetes-service-accounts-component.adoc     |   94 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |  105 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc |  151 +-
 docs/components/modules/ROOT/pages/kura.adoc       |  299 ++-
 .../modules/ROOT/pages/ldap-component.adoc         |  373 ++-
 .../modules/ROOT/pages/ldif-component.adoc         |  203 +-
 docs/components/modules/ROOT/pages/leveldb.adoc    |  152 +-
 .../modules/ROOT/pages}/linkedin-component.adoc    |   60 +-
 .../modules/ROOT/pages/lpr-component.adoc          |  189 +-
 docs/components/modules/ROOT/pages/lra.adoc        |   51 +-
 .../modules/ROOT/pages/lucene-component.adoc       |  281 ++-
 .../modules/ROOT/pages/lumberjack-component.adoc   |  148 +-
 .../modules/ROOT/pages/lzf-dataformat.adoc         |  100 +-
 .../modules/ROOT/pages/mail-component.adoc         |  738 +++++-
 .../modules/ROOT/pages/master-component.adoc       |  193 +-
 .../modules/ROOT/pages/metrics-component.adoc      |  662 +++++-
 .../modules/ROOT/pages/micrometer-component.adoc   |  598 ++++-
 .../modules/ROOT/pages/milo-client-component.adoc  |  256 +-
 .../modules/ROOT/pages/milo-server-component.adoc  |  157 +-
 .../ROOT/pages/mime-multipart-dataformat.adoc      |  200 +-
 .../modules/ROOT/pages/mina-component.adoc         |  338 ++-
 .../modules/ROOT/pages/mina2-component.adoc        |  326 ++-
 .../modules/ROOT/pages/mllp-component.adoc         |  281 ++-
 .../modules/ROOT/pages/mongodb-component.adoc      | 1025 +++++++-
 .../ROOT/pages/mongodb-gridfs-component.adoc       |  242 +-
 .../modules/ROOT/pages/mongodb3-component.adoc     |  962 +++++++-
 .../modules/ROOT/pages/mqtt-component.adoc         |  201 +-
 .../modules/ROOT/pages/msv-component.adoc          |  155 +-
 .../modules/ROOT/pages/mustache-component.adoc     |  213 +-
 .../modules/ROOT/pages/mvel-component.adoc         |  208 +-
 .../modules/ROOT/pages/mvel-language.adoc          |  154 +-
 .../modules/ROOT/pages/mybatis-bean-component.adoc |  184 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |  442 +++-
 .../modules/ROOT/pages/nagios-component.adoc       |  186 +-
 .../modules/ROOT/pages/nats-component.adoc         |  173 +-
 .../modules/ROOT/pages/netty-component.adoc        |  784 ++++++-
 .../modules/ROOT/pages/netty-http-component.adoc   |  580 ++++-
 .../modules/ROOT/pages/netty4-component.adoc       |  800 ++++++-
 .../modules/ROOT/pages/netty4-http-component.adoc  |  586 ++++-
 .../modules/ROOT/pages/nsq-component.adoc          |  124 +-
 .../modules/ROOT/pages/ognl-language.adoc          |  159 +-
 .../modules/ROOT/pages}/olingo2-component.adoc     |   48 +-
 .../modules/ROOT/pages}/olingo4-component.adoc     |   46 +-
 .../pages/openshift-build-configs-component.adoc   |   68 +-
 .../ROOT/pages/openshift-builds-component.adoc     |   68 +-
 .../modules/ROOT/pages/openshift-component.adoc    |  202 +-
 .../ROOT/pages/openstack-cinder-component.adoc     |  200 +-
 .../ROOT/pages/openstack-glance-component.adoc     |  160 +-
 .../ROOT/pages/openstack-keystone-component.adoc   |  306 ++-
 .../ROOT/pages/openstack-neutron-component.adoc    |  278 ++-
 .../ROOT/pages/openstack-nova-component.adoc       |  229 +-
 .../ROOT/pages/openstack-swift-component.adoc      |  206 +-
 docs/components/modules/ROOT/pages/openstack.adoc  |   32 +-
 .../components/modules/ROOT/pages/opentracing.adoc |  127 +-
 .../modules/ROOT/pages/optaplanner-component.adoc  |  178 +-
 .../modules/ROOT/pages/paho-component.adoc         |  226 +-
 .../modules/ROOT/pages/paxlogging-component.adoc   |  111 +-
 .../modules/ROOT/pages/pdf-component.adoc          |  129 +-
 .../modules/ROOT/pages/pgevent-component.adoc      |  112 +-
 .../modules/ROOT/pages/pgp-dataformat.adoc         |  321 ++-
 .../modules/ROOT/pages/php-language.adoc           |  157 +-
 .../modules/ROOT/pages/protobuf-dataformat.adoc    |  247 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |  228 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |  125 +-
 .../modules/ROOT/pages/python-language.adoc        |  190 +-
 .../modules/ROOT/pages/quartz-component.adoc       |  456 +++-
 .../modules/ROOT/pages/quartz2-component.adoc      |  367 ++-
 .../modules/ROOT/pages/quickfix-component.adoc     |  629 ++++-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |  490 +++-
 .../ROOT/pages/reactive-streams-component.adoc     |  446 +++-
 .../modules/ROOT/pages/reactor-component.adoc      |   18 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |  244 +-
 .../modules/ROOT/pages/restlet-component.adoc      |  443 +++-
 docs/components/modules/ROOT/pages/ribbon.adoc     |   77 +-
 .../modules/ROOT/pages/rmi-component.adoc          |  155 +-
 .../modules/ROOT/pages/routebox-component.adoc     |  311 ++-
 .../modules/ROOT/pages/rss-component.adoc          |  204 +-
 .../modules/ROOT/pages/rss-dataformat.adoc         |   69 +-
 .../modules/ROOT/pages/ruby-language.adoc          |  190 +-
 docs/components/modules/ROOT/pages/ruby.adoc       |  173 +-
 docs/components/modules/ROOT/pages/rx.adoc         |  191 +-
 docs/components/modules/ROOT/pages/rxjava2.adoc    |   22 +-
 .../modules/ROOT/pages}/salesforce-component.adoc  |   81 +-
 .../ROOT/pages/sap-netweaver-component.adoc        |  216 +-
 docs/components/modules/ROOT/pages/scala-eip.adoc  |  209 +-
 .../modules/ROOT/pages/scala-getting-started.adoc  |   59 +-
 .../ROOT/pages/scala-supported-languages.adoc      |   29 +-
 docs/components/modules/ROOT/pages/scala.adoc      |   76 +-
 .../modules/ROOT/pages/schematron-component.adoc   |  216 +-
 .../modules/ROOT/pages/scp-component.adoc          |  156 +-
 docs/components/modules/ROOT/pages/scr.adoc        |  656 +++++-
 docs/components/modules/ROOT/pages/script.adoc     |   97 +-
 .../modules/ROOT/pages/secureXML-dataformat.adoc   |  258 ++-
 .../modules/ROOT/pages/service-component.adoc      |  106 +-
 .../modules/ROOT/pages}/servicenow-component.adoc  |   98 +-
 .../modules/ROOT/pages/servlet-component.adoc      |  502 +++-
 .../modules/ROOT/pages/servletlistener.adoc        |  335 ++-
 .../modules/ROOT/pages/sftp-component.adoc         |  182 +-
 docs/components/modules/ROOT/pages/shiro.adoc      |  308 ++-
 .../modules/ROOT/pages/sip-component.adoc          |  251 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |  229 +-
 .../modules/ROOT/pages/sjms-component.adoc         |  596 ++++-
 .../modules/ROOT/pages/sjms2-component.adoc        |  618 ++++-
 .../modules/ROOT/pages/slack-component.adoc        |  196 +-
 .../modules/ROOT/pages/smpp-component.adoc         |  694 +++++-
 .../modules/ROOT/pages/snmp-component.adoc         |  229 +-
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    |  326 ++-
 .../modules/ROOT/pages/solr-component.adoc         |  244 +-
 .../modules/ROOT/pages/spark-component.adoc        |  431 +++-
 .../modules/ROOT/pages/spark-rest-component.adoc   |  188 +-
 .../modules/ROOT/pages/spel-language.adoc          |  158 +-
 .../modules/ROOT/pages/splunk-component.adoc       |  274 ++-
 .../modules/ROOT/pages/spring-batch-component.adoc |  310 ++-
 .../components/modules/ROOT/pages/spring-boot.adoc |  642 ++++-
 .../modules/ROOT/pages/spring-cloud-consul.adoc    |    5 +-
 .../modules/ROOT/pages/spring-cloud-netflix.adoc   |   32 +-
 .../modules/ROOT/pages/spring-cloud-zookeeper.adoc |    5 +-
 .../modules/ROOT/pages/spring-cloud.adoc           |   24 +-
 .../modules/ROOT/pages/spring-event-component.adoc |   97 +-
 .../ROOT/pages/spring-integration-component.adoc   |  140 +-
 .../modules/ROOT/pages/spring-javaconfig.adoc      |   96 +-
 .../modules/ROOT/pages/spring-ldap-component.adoc  |  167 +-
 .../modules/ROOT/pages/spring-redis-component.adoc |  415 +++-
 .../modules/ROOT/pages/spring-security.adoc        |  202 +-
 .../modules/ROOT/pages/spring-ws-component.adoc    |  631 ++++-
 docs/components/modules/ROOT/pages/spring.adoc     |  358 ++-
 .../modules/ROOT/pages/sql-component.adoc          |  836 ++++++-
 .../modules/ROOT/pages/sql-language.adoc           |  117 +-
 .../modules/ROOT/pages/sql-stored-component.adoc   |  282 ++-
 .../modules/ROOT/pages/ssh-component.adoc          |  281 ++-
 .../modules/ROOT/pages/stax-component.adoc         |  245 +-
 .../modules/ROOT/pages/stomp-component.adoc        |  188 +-
 .../modules/ROOT/pages/stream-component.adoc       |  191 +-
 .../ROOT/pages/string-template-component.adoc      |  167 +-
 .../modules/ROOT/pages/swagger-java.adoc           |  202 +-
 docs/components/modules/ROOT/pages/swagger.adoc    |  237 +-
 .../modules/ROOT/pages/syslog-dataformat.adoc      |  163 +-
 .../modules/ROOT/pages/tarfile-dataformat.adoc     |  199 +-
 .../modules/ROOT/pages/telegram-component.adoc     |  403 +++-
 .../modules/ROOT/pages/terser-language.adoc        |   45 +-
 .../modules/ROOT/pages/test-blueprint.adoc         |  178 +-
 docs/components/modules/ROOT/pages/test-cdi.adoc   |  727 +++++-
 docs/components/modules/ROOT/pages/test-karaf.adoc |   12 +-
 .../components/modules/ROOT/pages/test-spring.adoc |  459 +++-
 docs/components/modules/ROOT/pages/test.adoc       |   97 +-
 .../modules/ROOT/pages/testcontainers-spring.adoc  |   10 +-
 .../modules/ROOT/pages/testcontainers.adoc         |  118 +-
 docs/components/modules/ROOT/pages/testng.adoc     |    9 +-
 .../modules/ROOT/pages/thrift-component.adoc       |  193 +-
 .../modules/ROOT/pages/thrift-dataformat.adoc      |  193 +-
 .../modules/ROOT/pages/tidyMarkup-dataformat.adoc  |  116 +-
 .../modules/ROOT/pages/tika-component.adoc         |  121 +-
 .../modules/ROOT/pages/twilio-component.adoc       |  236 +-
 .../modules/ROOT/pages/twitter-component.adoc      |  341 ++-
 .../pages/twitter-directmessage-component.adoc     |  139 +-
 .../ROOT/pages/twitter-search-component.adoc       |  139 +-
 .../ROOT/pages/twitter-streaming-component.adoc    |  140 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |  140 +-
 docs/components/modules/ROOT/pages/twitter.adoc    |  147 +-
 .../modules/ROOT/pages/undertow-component.adoc     |  228 +-
 .../ROOT/pages/univocity-csv-dataformat.adoc       |  217 +-
 .../ROOT/pages/univocity-fixed-dataformat.adoc     |  215 +-
 .../ROOT/pages/univocity-tsv-dataformat.adoc       |  211 +-
 docs/components/modules/ROOT/pages/urlrewrite.adoc |  169 +-
 .../modules/ROOT/pages/velocity-component.adoc     |  302 ++-
 .../modules/ROOT/pages/vertx-component.adoc        |  149 +-
 .../modules/ROOT/pages/weather-component.adoc      |  231 +-
 .../modules/ROOT/pages/web3j-component.adoc        |  217 +-
 .../modules/ROOT/pages/websocket-component.adoc    |  282 ++-
 .../ROOT/pages/websocket-jsr356-component.adoc     |   99 +-
 .../modules/ROOT/pages/wordpress-component.adoc    |  155 +-
 .../modules/ROOT/pages/xchange-component.adoc      |  132 +-
 .../modules/ROOT/pages/xmlBeans-dataformat.adoc    |   81 +-
 .../modules/ROOT/pages/xmljson-dataformat.adoc     |    1 -
 .../modules/ROOT/pages/xmlrpc-component.adoc       |  221 +-
 .../modules/ROOT/pages/xmlrpc-dataformat.adoc      |   87 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |  798 ++++++-
 .../modules/ROOT/pages/xmpp-component.adoc         |  196 +-
 .../modules/ROOT/pages/xquery-component.adoc       |  326 ++-
 .../modules/ROOT/pages/xquery-language.adoc        |  251 +-
 .../modules/ROOT/pages/xstream-dataformat.adoc     |  201 +-
 .../ROOT/pages/yaml-snakeyaml-dataformat.adoc      |  189 +-
 .../modules/ROOT/pages/yammer-component.adoc       |  396 +++-
 .../modules/ROOT/pages/yql-component.adoc          |    1 -
 .../modules/ROOT/pages/zendesk-component.adoc      |  151 +-
 .../modules/ROOT/pages/zipfile-dataformat.adoc     |  198 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |  297 ++-
 .../modules/ROOT/pages/zookeeper-component.adoc    |  367 ++-
 .../ROOT/pages/zookeeper-master-component.adoc     |  183 +-
 docs/generated.txt                                 |    2 +
 docs/gulpfile.js                                   |  144 +-
 docs/img/logo-d.svg                                |   46 +
 docs/nav.adoc.template                             |    2 -
 docs/package.json                                  |    8 +-
 docs/pom.xml                                       |  144 +-
 docs/site.yml                                      |   15 +
 docs/theme/apache-theme.yml                        |  284 ---
 docs/theme/fonts/DroidSerif-Bold.ttf               |  Bin 185228 -> 0 bytes
 docs/theme/fonts/DroidSerif-BoldItalic.ttf         |  Bin 190304 -> 0 bytes
 docs/theme/fonts/DroidSerif-Italic.ttf             |  Bin 177560 -> 0 bytes
 docs/theme/fonts/DroidSerif-Regular.ttf            |  Bin 172916 -> 0 bytes
 docs/theme/fonts/DroidSerif_Apache License.txt     |  201 --
 docs/theme/fonts/OpenSans-Bold.ttf                 |  Bin 224452 -> 0 bytes
 docs/theme/fonts/OpenSans-BoldItalic.ttf           |  Bin 213168 -> 0 bytes
 docs/theme/fonts/OpenSans-ExtraBold.ttf            |  Bin 222424 -> 0 bytes
 docs/theme/fonts/OpenSans-ExtraBoldItalic.ttf      |  Bin 213336 -> 0 bytes
 docs/theme/fonts/OpenSans-Italic.ttf               |  Bin 212760 -> 0 bytes
 docs/theme/fonts/OpenSans-Light.ttf                |  Bin 222236 -> 0 bytes
 docs/theme/fonts/OpenSans-LightItalic.ttf          |  Bin 213024 -> 0 bytes
 docs/theme/fonts/OpenSans-Regular.ttf              |  Bin 217276 -> 0 bytes
 docs/theme/fonts/OpenSans-SemiBold.ttf             |  Bin 221164 -> 0 bytes
 docs/theme/fonts/OpenSans-SemiBoldItalic.ttf       |  Bin 212732 -> 0 bytes
 docs/theme/fonts/OpenSans_LICENSE.txt              |  202 --
 docs/theme/images/asf_logo.png                     |  Bin 21243 -> 0 bytes
 docs/theme/images/asf_logo_url.png                 |  Bin 21121 -> 0 bytes
 docs/user-manual/antora.yml                        |    5 -
 docs/user-manual/en/README.md                      |    7 -
 docs/user-manual/en/apache.css                     | 2448 --------------------
 docs/user-manual/en/book.json                      |   15 -
 .../en/books/3151EN_Mastering_Apache_Camel.jpg     |  Bin 129296 -> 0 bytes
 docs/user-manual/en/books/3477OS.jpg               |  Bin 26159 -> 0 bytes
 docs/user-manual/en/books/3477OSmall.jpg           |  Bin 44674 -> 0 bytes
 docs/user-manual/en/books/5347OSmall.jpg           |  Bin 42924 -> 0 bytes
 .../en/books/B03507_MockupCover_Normal.jpg         |  Bin 177120 -> 0 bytes
 docs/user-manual/en/books/CamelCookbookCover.png   |  Bin 340571 -> 0 bytes
 docs/user-manual/en/books/CiA-front-medium.png     |  Bin 149095 -> 0 bytes
 .../user-manual/en/books/camel-design-patterns.jpg |  Bin 46890 -> 0 bytes
 docs/user-manual/en/books/cia2-cover-small.jpg     |  Bin 46646 -> 0 bytes
 docs/user-manual/en/books/cia_small.jpg            |  Bin 22213 -> 0 bytes
 docs/user-manual/en/books/eip_book_cover.jpg       |  Bin 16091 -> 0 bytes
 docs/user-manual/en/books/large.jpg                |  Bin 58398 -> 0 bytes
 docs/user-manual/en/books/rademakers.jpg           |  Bin 87220 -> 0 bytes
 .../en/faq/can-i-get-commercial-support.adoc       |    4 -
 .../en/faq/can-i-use-camel-on-java-14.adoc         |    9 -
 ...loader-issue-of-servicemix-camel-component.adoc |   43 -
 .../en/faq/does-camel-work-on-ibms-jdk.adoc        |   32 -
 .../exception-beandefinitionstoreexception.adoc    |   50 -
 ...ption-javaxnamingnoinitialcontextexception.adoc |   36 -
 ...tion-orgapachecamelnosuchendpointexception.adoc |   25 -
 .../faq/exception-orgxmlsaxsaxparseexception.adoc  |   26 -
 ...an-i-create-a-custom-component-or-endpoint.adoc |   13 -
 ...on-ip-address-from-the-camel-cxf-consumer-.adoc |   17 -
 .../en/faq/how-can-i-get-the-source-code.adoc      |   50 -
 .../faq/how-can-i-stop-a-route-from-a-route.adoc   |   70 -
 ...ults-with-stacktraces-when-using-camel-cxf.adoc |    6 -
 .../en/faq/how-do-i-become-a-committer.adoc        |   61 -
 .../en/faq/how-do-i-change-the-logging.adoc        |   20 -
 .../en/faq/how-do-i-compile-the-code.adoc          |    4 -
 .../en/faq/how-do-i-configure-endpoints.adoc       |  321 ---
 ...-endpoints-without-the-value-being-encoded.adoc |   16 -
 ...size-for-producercache-or-producertemplate.adoc |   36 -
 ...ximum-endpoint-cache-size-for-camelcontext.adoc |   42 -
 .../en/faq/how-do-i-debug-my-route.adoc            |   15 -
 docs/user-manual/en/faq/how-do-i-disable-jmx.adoc  |   30 -
 .../en/faq/how-do-i-edit-the-website.adoc          |   18 -
 .../en/faq/how-do-i-enable-debug-logging.adoc      |   33 -
 ...reams-when-debug-logging-messages-in-camel.adoc |   55 -
 ...en-consuming-for-example-from-a-ftp-server.adoc |   31 -
 ...how-do-i-import-rests-from-other-xml-files.adoc |   87 -
 ...ow-do-i-import-routes-from-other-xml-files.adoc |   44 -
 .../faq/how-do-i-invoke-camel-routes-from-jbi.adoc |   34 -
 .../en/faq/how-do-i-let-jetty-match-wildcards.adoc |   31 -
 ...ow-do-i-make-my-jms-endpoint-transactional.adoc |   31 -
 .../en/faq/how-do-i-name-my-routes.adoc            |   20 -
 .../en/faq/how-do-i-restart-camelcontext.adoc      |    9 -
 ...wn-exception-during-processing-an-exchange.adoc |   54 -
 .../how-do-i-retry-failed-messages-forever.adoc    |   19 -
 ...om-a-certain-point-back-or-an-entire-route.adoc |   92 -
 ...-contexttestsupport-class-in-my-unit-tests.adoc |   44 -
 .../how-do-i-run-activemq-and-camel-in-jboss.adoc  |   21 -
 .../how-do-i-run-camel-using-java-webstart.adoc    |   83 -
 ...chars-when-debug-logging-messages-in-camel.adoc |   54 -
 ...do-i-set-the-mep-when-interacting-with-jbi.adoc |   34 -
 ...ify-time-period-in-a-human-friendly-syntax.adoc |   55 -
 ...h-method-to-use-when-using-beans-in-routes.adoc |    9 -
 .../en/faq/how-do-i-use-a-big-uber-jar.adoc        |   11 -
 .../faq/how-do-i-use-camel-inside-servicemix.adoc  |    7 -
 .../en/faq/how-do-i-use-java-14-logging.adoc       |   20 -
 docs/user-manual/en/faq/how-do-i-use-log4j.adoc    |   47 -
 ...spring-property-placeholder-with-camel-xml.adoc |   77 -
 .../how-do-i-use-uris-with-parameters-in-xml.adoc  |   52 -
 ...om-processor-which-sends-multiple-messages.adoc |   51 -
 ...direct-event-seda-and-vm-endpoints-compare.adoc |   14 -
 ...-do-the-timer-and-quartz-endpoints-compare.adoc |    8 -
 .../en/faq/how-does-camel-compare-to-mule.adoc     |   29 -
 .../how-does-camel-compare-to-servicemix-eip.adoc  |   61 -
 .../faq/how-does-camel-compare-to-servicemix.adoc  |   43 -
 .../en/faq/how-does-camel-compare-to-synapse.adoc  |   32 -
 ...how-does-camel-look-up-beans-and-endpoints.adoc |   23 -
 .../en/faq/how-does-camel-work-with-activemq.adoc  |   21 -
 .../faq/how-does-camel-work-with-servicemix.adoc   |   25 -
 docs/user-manual/en/faq/how-does-camel-work.adoc   |    5 -
 .../en/faq/how-does-the-camel-api-compare-to.adoc  |   43 -
 .../en/faq/how-does-the-website-work.adoc          |    8 -
 ...hould-i-invoke-my-pojos-or-spring-services.adoc |   22 -
 ...kage-applications-using-camel-and-activemq.adoc |   22 -
 ...the-camel-cxf-endpoint-from-osgi-platform-.adoc |   67 -
 ...-avoid-sending-some-or-all-message-headers.adoc |   75 -
 ...e-a-static-camel-converter-method-in-scala.adoc |   19 -
 ...http-protocol-headers-in-the-camel-message.adoc |   44 -
 ...end-the-same-message-to-multiple-endpoints.adoc |   34 -
 ...-without-touching-the-spring-configuration.adoc |   88 -
 .../en/faq/how-to-use-a-dynamic-uri-in-to.adoc     |   80 -
 ...-extra-camel-componets-in-servicemix-camel.adoc |   73 -
 ...-1x-context-xml-from-apache-camel-web-site.adoc |   42 -
 ...f-i-use-servicemix-when-should-i-use-camel.adoc |   22 -
 .../Message-flow-in-Route.png                      |  Bin 13415 -> 0 bytes
 .../flow.png                                       |  Bin 6152 -> 0 bytes
 docs/user-manual/en/faq/is-camel-an-esb.adoc       |   17 -
 docs/user-manual/en/faq/is-camel-ioc-friendly.adoc |   61 -
 docs/user-manual/en/faq/is-there-an-ide.adoc       |   14 -
 ...when-adding-and-removing-routes-at-runtime.adoc |   10 -
 .../en/faq/running-camel-standalone.adoc           |   29 -
 ...-activemq-broker-or-in-another-application.adoc |   36 -
 .../en/faq/using-camel-core-testsjar.adoc          |   10 -
 .../using-getin-or-getout-methods-on-exchange.adoc |  131 --
 .../en/faq/what-are-the-dependencies.adoc          |   67 -
 docs/user-manual/en/faq/what-is-a-router.adoc      |   23 -
 docs/user-manual/en/faq/what-is-camel.adoc         |   60 -
 docs/user-manual/en/faq/what-is-the-license.adoc   |    6 -
 docs/user-manual/en/faq/what-jars-do-i-need.adoc   |   34 -
 .../en/faq/what-platforms-are-supported.adoc       |    8 -
 ...se-when-or-otherwise-in-a-java-camel-route.adoc |   98 -
 .../en/faq/why-cant-i-use-sign-in-my-password.adoc |   18 -
 ...o-many-noclassdeffoundexception-on-startup.adoc |   17 -
 ...my-message-lose-its-headers-during-routing.adoc |    4 -
 ...use-too-many-threads-with-producertemplate.adoc |   29 -
 ...-does-ftp-component-not-download-any-files.adoc |    8 -
 .../why-does-maven-not-download-dependencies.adoc  |   10 -
 ...-file-consumer-use-the-camel-error-handler.adoc |   51 -
 ...jms-route-only-consume-one-message-at-once.adoc |   21 -
 ...ge-with-error-handler-not-work-as-expected.adoc |   16 -
 .../en/faq/why-is-my-message-body-empty.adoc       |   19 -
 ...is-my-processor-not-showing-up-in-jconsole.adoc |   35 -
 ...-the-exception-null-when-i-use-onexception.adoc |   37 -
 docs/user-manual/en/faq/why-the-name-camel.adoc    |   30 -
 .../en/faq/why-use-multiple-camelcontext.adoc      |   16 -
 .../apache-spark.data/camel_spark_cluster.png      |  Bin 172359 -> 0 bytes
 .../apache-spark.data/camel_spark_driver.png       |  Bin 293927 -> 0 bytes
 .../images/apache-spark.data/fabric_docker-(2).png |  Bin 37481 -> 0 bytes
 .../images/architecture.data/camel-components.png  |  Bin 229901 -> 0 bytes
 .../images/async.data/camel_async_request_only.png |  Bin 59864 -> 0 bytes
 .../async.data/camel_async_request_reply.png       |  Bin 64513 -> 0 bytes
 .../images/async.data/camel_sync_request_only.png  |  Bin 59351 -> 0 bytes
 .../images/async.data/camel_sync_request_reply.png |  Bin 61299 -> 0 bytes
 .../en/images/barcode-data-format.data/qr-code.png |  Bin 307 -> 0 bytes
 .../camel-eclipse-m2e-import-completed.png         |  Bin 73775 -> 0 bytes
 .../building.data/camel-eclipse-m2e-import.png     |  Bin 39095 -> 0 bytes
 .../en/images/camel-core.data/architecture.png     |  Bin 7767 -> 0 bytes
 .../architecture_incl_violations.png               |  Bin 23733 -> 0 bytes
 docs/user-manual/en/images/camel-logo.png          |  Bin 22001 -> 0 bytes
 docs/user-manual/en/images/debugger.data/debug.png |  Bin 212850 -> 0 bytes
 .../en/images/direct-vm.data/camel-direct-vm.png   |  Bin 129236 -> 0 bytes
 .../download.data/camel-box-v1.0-150x200.png       |  Bin 93934 -> 0 bytes
 .../enterprise-integration-patterns.data/clear.png |  Bin 26517 -> 0 bytes
 .../en/images/lifecycle.data/service_lifecycle.png |  Bin 35951 -> 0 bytes
 docs/user-manual/en/notice.md                      |   17 -
 .../en/release-notes/camel-2170-release.adoc       |  441 ----
 .../en/release-notes/camel-2171-release.adoc       |   44 -
 .../en/release-notes/camel-2172-release.adoc       |   45 -
 .../en/release-notes/camel-2173-release.adoc       |   44 -
 .../en/release-notes/camel-2174-release.adoc       |   43 -
 .../en/release-notes/camel-2175-release.adoc       |   43 -
 .../en/release-notes/camel-2176-release.adoc       |   43 -
 .../en/release-notes/camel-2177-release.adoc       |   39 -
 .../en/release-notes/camel-2180-release.adoc       |  370 ---
 .../en/release-notes/camel-2181-release.adoc       |   43 -
 .../en/release-notes/camel-2182-release.adoc       |   45 -
 .../en/release-notes/camel-2183-release.adoc       |   43 -
 .../en/release-notes/camel-2184-release.adoc       |   39 -
 .../en/release-notes/camel-2185-release.adoc       |   39 -
 .../en/release-notes/camel-2190-release.adoc       |  317 ---
 .../en/release-notes/camel-2191-release.adoc       |   40 -
 .../en/release-notes/camel-2192-release.adoc       |   39 -
 .../en/release-notes/camel-2193-release.adoc       |   39 -
 .../en/release-notes/camel-2194-release.adoc       |   39 -
 .../en/release-notes/camel-2195-release.adoc       |   39 -
 .../en/release-notes/camel-2200-release.adoc       |  271 ---
 .../en/release-notes/camel-2201-release.adoc       |   40 -
 .../en/release-notes/camel-2202-release.adoc       |   40 -
 .../en/release-notes/camel-2203-release.adoc       |   40 -
 .../en/release-notes/camel-2204-release.adoc       |   40 -
 .../en/release-notes/camel-2210-release.adoc       |  209 --
 .../en/release-notes/camel-2211-release.adoc       |   40 -
 .../en/release-notes/camel-2212-release.adoc       |   40 -
 .../en/security-advisories/CVE-2013-4330.txt.asc   |   46 -
 .../en/security-advisories/CVE-2014-0002.txt.asc   |   46 -
 .../en/security-advisories/CVE-2014-0003.txt.asc   |   46 -
 .../en/security-advisories/CVE-2015-0263.txt.asc   |   38 -
 .../en/security-advisories/CVE-2015-0264.txt.asc   |   38 -
 .../en/security-advisories/CVE-2015-5344.txt.asc   |   52 -
 .../en/security-advisories/CVE-2015-5348.txt.asc   |   37 -
 .../en/security-advisories/CVE-2016-8749.txt.asc   |   35 -
 .../en/security-advisories/CVE-2017-12633.txt.asc  |   33 -
 .../en/security-advisories/CVE-2017-12634.txt.asc  |   33 -
 .../en/security-advisories/CVE-2017-3159.txt.asc   |   33 -
 .../en/security-advisories/CVE-2017-5643.txt.asc   |   30 -
 .../en/security-advisories/CVE-2018-8027.txt.asc   |   31 -
 .../en/security-advisories/CVE-2018-8041.txt.asc   |   32 -
 .../images/apache-spark.data/fabric_docker-(2).png |  Bin 37481 -> 0 bytes
 .../images/architecture.data/camel-components.png  |  Bin 229901 -> 0 bytes
 .../images/async.data/camel_async_request_only.png |  Bin 59864 -> 0 bytes
 .../async.data/camel_async_request_reply.png       |  Bin 64513 -> 0 bytes
 .../images/async.data/camel_sync_request_only.png  |  Bin 59351 -> 0 bytes
 .../images/async.data/camel_sync_request_reply.png |  Bin 61299 -> 0 bytes
 .../camel-eclipse-m2e-import-completed.png         |  Bin 73775 -> 0 bytes
 .../building.data/camel-eclipse-m2e-import.png     |  Bin 39095 -> 0 bytes
 .../images/images/camel-core.data/architecture.png |  Bin 7767 -> 0 bytes
 .../architecture_incl_violations.png               |  Bin 23733 -> 0 bytes
 .../ROOT/assets/images/images/camel-logo.png       |  Bin 22001 -> 0 bytes
 .../assets/images/images/debugger.data/debug.png   |  Bin 212850 -> 0 bytes
 .../images/direct-vm.data/camel-direct-vm.png      |  Bin 129236 -> 0 bytes
 .../download.data/camel-box-v1.0-150x200.png       |  Bin 93934 -> 0 bytes
 .../enterprise-integration-patterns.data/clear.png |  Bin 26517 -> 0 bytes
 .../images/lifecycle.data/service_lifecycle.png    |  Bin 35951 -> 0 bytes
 docs/user-manual/modules/ROOT/nav.adoc             |   43 -
 .../annotation-based-expression-language.adoc      |  154 --
 .../modules/ROOT/pages/architecture.adoc           |   42 -
 docs/user-manual/modules/ROOT/pages/async.adoc     |  655 ------
 .../ROOT/pages/asynchronous-routing-engine.adoc    |   69 -
 .../modules/ROOT/pages/backlog-tracer.adoc         |  115 -
 .../modules/ROOT/pages/backlogdebugger.adoc        |  107 -
 .../modules/ROOT/pages/bam-example.adoc            |  117 -
 docs/user-manual/modules/ROOT/pages/bam.adoc       |   85 -
 .../modules/ROOT/pages/batch-consumer.adoc         |   71 -
 .../modules/ROOT/pages/bean-integration.adoc       |  103 -
 docs/user-manual/modules/ROOT/pages/binding.adoc   |   90 -
 .../modules/ROOT/pages/book-getting-started.adoc   |  575 -----
 docs/user-manual/modules/ROOT/pages/books.adoc     |  238 --
 .../modules/ROOT/pages/browsable-endpoint.adoc     |   17 -
 docs/user-manual/modules/ROOT/pages/building.adoc  |  284 ---
 .../user-manual/modules/ROOT/pages/camel-boot.adoc |   37 -
 .../ROOT/pages/camel-configuration-utilities.adoc  |  647 ------
 .../user-manual/modules/ROOT/pages/camel-core.adoc |   55 -
 .../modules/ROOT/pages/camel-jar-dependencies.adoc |   55 -
 .../modules/ROOT/pages/camelcontext.adoc           |   22 -
 docs/user-manual/modules/ROOT/pages/cep.adoc       |   43 -
 .../ROOT/pages/commercial-camel-offerings.adoc     |  126 -
 docs/user-manual/modules/ROOT/pages/component.adoc |   42 -
 .../modules/ROOT/pages/componentconfiguration.adoc |   44 -
 .../modules/ROOT/pages/configuring-camel.adoc      |   75 -
 ...ing-route-startup-ordering-and-autostartup.adoc |  271 ---
 .../modules/ROOT/pages/data-format.adoc            |  177 --
 docs/user-manual/modules/ROOT/pages/debugger.adoc  |  123 -
 .../modules/ROOT/pages/defaulterrorhandler.adoc    |   66 -
 .../modules/ROOT/pages/delay-interceptor.adoc      |   87 -
 .../modules/ROOT/pages/dependency-injection.adoc   |   17 -
 .../modules/ROOT/pages/download-archives.adoc      |  127 -
 docs/user-manual/modules/ROOT/pages/download.adoc  |  127 -
 .../modules/ROOT/pages/dozer-type-conversion.adoc  |  231 --
 docs/user-manual/modules/ROOT/pages/dsl.adoc       |   44 -
 .../modules/ROOT/pages/endpoint-completer.adoc     |   27 -
 docs/user-manual/modules/ROOT/pages/endpoint.adoc  |   36 -
 .../pages/enterprise-integration-patterns.adoc     |  318 ---
 .../modules/ROOT/pages/error-handler.adoc          |  389 ----
 .../ROOT/pages/error-handling-in-camel.adoc        |  235 --
 docs/user-manual/modules/ROOT/pages/examples.adoc  |   55 -
 .../modules/ROOT/pages/exception-clause.adoc       |  766 ------
 .../modules/ROOT/pages/exchange-pattern.adoc       |   27 -
 docs/user-manual/modules/ROOT/pages/exchange.adoc  |   22 -
 .../user-manual/modules/ROOT/pages/expression.adoc |  136 --
 docs/user-manual/modules/ROOT/pages/faq.adoc       |  192 --
 .../modules/ROOT/pages/fluent-builders.adoc        |   11 -
 .../modules/ROOT/pages/getting-started.adoc        |   79 -
 .../modules/ROOT/pages/graceful-shutdown.adoc      |  471 ----
 .../user-manual/modules/ROOT/pages/groovy-dsl.adoc |  408 ----
 .../modules/ROOT/pages/guice-jms-example.adoc      |   61 -
 .../modules/ROOT/pages/guice-maven-plugin.adoc     |  160 --
 docs/user-manual/modules/ROOT/pages/guice.adoc     |  155 --
 .../modules/ROOT/pages/http-session-handling.adoc  |  152 --
 .../modules/ROOT/pages/http-session.adoc           |  151 --
 docs/user-manual/modules/ROOT/pages/index.adoc     |  610 -----
 docs/user-manual/modules/ROOT/pages/injector.adoc  |   24 -
 docs/user-manual/modules/ROOT/pages/intercept.adoc |  274 ---
 .../inversion-of-control-with-smart-defaults.adoc  |   30 -
 docs/user-manual/modules/ROOT/pages/irc-room.adoc  |   24 -
 docs/user-manual/modules/ROOT/pages/java-dsl.adoc  |  200 --
 docs/user-manual/modules/ROOT/pages/jndi.adoc      |   22 -
 docs/user-manual/modules/ROOT/pages/json.adoc      |  636 -----
 docs/user-manual/modules/ROOT/pages/karaf.adoc     |  528 -----
 docs/user-manual/modules/ROOT/pages/languages.adoc |   50 -
 docs/user-manual/modules/ROOT/pages/lifecycle.adoc |  116 -
 .../modules/ROOT/pages/mailing-lists.adoc          |   72 -
 .../modules/ROOT/pages/oncompletion.adoc           |  332 ---
 docs/user-manual/modules/ROOT/pages/predicate.adoc |  222 --
 docs/user-manual/modules/ROOT/pages/processor.adoc |   99 -
 .../modules/ROOT/pages/producertemplate.adoc       |  103 -
 docs/user-manual/modules/ROOT/pages/registry.adoc  |   20 -
 .../modules/ROOT/pages/route-builder.adoc          |   11 -
 .../modules/ROOT/pages/route-policy.adoc           |  227 --
 docs/user-manual/modules/ROOT/pages/routes.adoc    |  112 -
 .../modules/ROOT/pages/scala-dsl-eip.adoc          |  413 ----
 .../ROOT/pages/scala-dsl-getting-started.adoc      |   67 -
 .../ROOT/pages/scala-dsl-supported-languages.adoc  |   48 -
 docs/user-manual/modules/ROOT/pages/scala-dsl.adoc |   76 -
 .../modules/ROOT/pages/scripting-languages.adoc    |  175 --
 .../modules/ROOT/pages/security-advisories.adoc    |   55 -
 docs/user-manual/modules/ROOT/pages/security.adoc  |   89 -
 .../modules/ROOT/pages/servicepool.adoc            |   60 -
 .../modules/ROOT/pages/spring-testing.adoc         |  449 ----
 .../modules/ROOT/pages/spring-xml-extensions.adoc  |   33 -
 docs/user-manual/modules/ROOT/pages/spring.adoc    |  304 ---
 docs/user-manual/modules/ROOT/pages/support.adoc   |  134 --
 docs/user-manual/modules/ROOT/pages/team.adoc      |  174 --
 docs/user-manual/modules/ROOT/pages/testing.adoc   |  304 ---
 .../modules/ROOT/pages/threading-model.adoc        |  244 --
 .../ROOT/pages/transactionerrorhandler.adoc        |  178 --
 docs/user-manual/modules/ROOT/pages/transport.adoc |   39 -
 .../modules/ROOT/pages/try-catch-finally.adoc      |  132 --
 .../modules/ROOT/pages/type-converter.adoc         |  403 ----
 docs/user-manual/modules/ROOT/pages/uris.adoc      |   28 -
 .../modules/ROOT/pages/user-stories.adoc           |  342 ---
 .../pages/using-osgi-blueprint-with-camel.adoc     |   60 -
 .../ROOT/pages/using-propertyplaceholder.adoc      | 1032 ---------
 .../modules/ROOT/pages/uuidgenerator.adoc          |   80 -
 .../modules/ROOT/pages/writing-components.adoc     |  158 --
 .../modules/ROOT/pages/xml-configuration.adoc      |   25 -
 .../modules/ROOT/pages/xml-reference.adoc          | 1436 ------------
 docs/yarn.lock                                     |  655 +++++-
 .../s3/springboot/S3ComponentConfiguration.java    |    3 +-
 .../camel-spring-boot-dependencies/pom.xml         |   56 +-
 tooling/maven/bom-generator-maven-plugin/pom.xml   |   18 +-
 .../maven/bom/generator/BomGeneratorMojo.java      |   48 +-
 .../maven/camel-api-component-maven-plugin/pom.xml |    8 +-
 .../pom.xml                                        |    8 -
 tooling/maven/camel-maven-plugin/pom.xml           |   26 +-
 .../java/org/apache/camel/maven/EmbeddedMojo.java  |   29 +-
 .../org/apache/camel/maven/RouteCoverageMojo.java  |   26 +-
 .../main/java/org/apache/camel/maven/RunMojo.java  |   68 +-
 .../java/org/apache/camel/maven/ValidateMojo.java  |   56 +-
 tooling/maven/camel-package-maven-plugin/pom.xml   |   11 +-
 .../apache/camel/maven/packaging/MvelHelper.java   |   46 +
 .../packaging/PackageArchetypeCatalogMojo.java     |   21 +-
 .../maven/packaging/PackageComponentMojo.java      |   22 +-
 .../maven/packaging/PackageDataFormatMojo.java     |   25 +-
 .../camel/maven/packaging/PackageLanguageMojo.java |   25 +-
 .../camel/maven/packaging/PackageModelMojo.java    |   25 +-
 .../camel/maven/packaging/PackageOtherMojo.java    |   25 +-
 .../maven/packaging/PrepareCatalogKarafMojo.java   |   36 +-
 .../camel/maven/packaging/PrepareCatalogMojo.java  |   59 +-
 .../packaging/PrepareCatalogSpringBootMojo.java    |   32 +-
 .../maven/packaging/PrepareComponentMojo.java      |   31 +-
 .../camel/maven/packaging/PrepareExampleMojo.java  |   19 +-
 .../camel/maven/packaging/PrepareReadmeMojo.java   |   90 +-
 .../maven/packaging/PrepareUserGuideMojo.java      |   32 +-
 .../packaging/SpringBootAutoConfigurationMojo.java |   24 +-
 .../maven/packaging/SpringBootStarterMojo.java     |   47 +-
 .../camel/maven/packaging/UpdateReadmeMojo.java    |  525 +----
 ...pdateSpringBootAutoConfigurationReadmeMojo.java |   59 +-
 .../maven/packaging/ValidateComponentMojo.java     |   25 +-
 .../maven/packaging/model/SpringBootModel.java     |   60 +
 .../src/main/resources/component-options.mvel      |    4 +-
 .../src/main/resources/dataformat-options.mvel     |    2 +-
 .../src/main/resources/eip-options.mvel            |    2 +-
 .../src/main/resources/endpoint-options.mvel       |    8 +-
 .../src/main/resources/language-options.mvel       |    2 +-
 .../src/main/resources/readme-components.mvel      |    2 +-
 .../src/main/resources/readme-dataformats.mvel     |    2 +-
 .../src/main/resources/readme-eips.mvel            |    2 +-
 .../src/main/resources/readme-examples.mvel        |    2 +-
 .../src/main/resources/readme-languages.mvel       |    2 +-
 .../src/main/resources/readme-others.mvel          |    2 +-
 .../spring-boot-auto-configure-options.mvel        |   24 +-
 .../camel/maven/packaging/MvelHelperTest.java      |   77 +
 tooling/maven/camel-restdsl-swagger-plugin/pom.xml |    4 -
 .../main/docs/camel-restdsl-swagger-plugin.adoc    |    4 +-
 tooling/parent/pom.xml                             |   20 +-
 1306 files changed, 110981 insertions(+), 41262 deletions(-)
 delete mode 100644 camel-website/.gitignore
 delete mode 100644 camel-website/Gruntfile.js
 delete mode 100644 camel-website/npm-shrinkwrap.json
 delete mode 100644 camel-website/package.json
 delete mode 100644 camel-website/pom.xml
 delete mode 100644 camel-website/src/main/resources/styles/impact/css/pygmentize.css
 delete mode 100644 camel-website/src/main/resources/styles/impact/css/site.css
 delete mode 100644 camel-website/src/main/resources/user-manual/index.html
 create mode 100644 docs/component-nav.adoc.template
 copy {components/camel-ignite/src/main/docs => docs/components/modules/ROOT/assets/images}/apache-ignite.png (100%)
 copy {components/camel-jmx/src/main/docs => docs/components/modules/ROOT/assets/images}/camel-jmx.png (100%)
 rename docs/{user-manual/modules/ROOT/assets/images/images/apache-spark.data => components/modules/ROOT/assets/images}/camel_spark_cluster.png (100%)
 rename docs/{user-manual/modules/ROOT/assets/images/images/apache-spark.data => components/modules/ROOT/assets/images}/camel_spark_driver.png (100%)
 copy {components/camel-jmx/src/main/docs => docs/components/modules/ROOT/assets/images}/jconsole_trace_notifications.png (100%)
 rename docs/{user-manual/modules/ROOT/assets/images/images/barcode-data-format.data => components/modules/ROOT/assets/images}/qr-code.png (100%)
 copy {components => docs/components/modules/ROOT/examples/components}/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml (100%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ahc-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ahc-ws-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/amqp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/apns-component.adoc
 copy {components/camel-as2/camel-as2-component/src/main/docs => docs/components/modules/ROOT/pages}/as2-component.adoc (95%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/asn1-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/asterisk-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atmos-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atom-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atomix-map-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atomix-queue-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atomix-set-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/atomix-value-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/avro-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/avro-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-cw-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-ddb-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-ec2-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-iam-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-kms-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-lambda-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-mq-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-s3-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-sdb-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-ses-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-sns-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-sqs-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-swf-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws-xray.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/aws.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/azure-blob-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/azure-queue-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/azure.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/bam-example.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/bam.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/barcode-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/base64-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/bean-validator-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/beanio-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/beanstalk-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/bindy-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/blueprint.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/bonita-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/boon-dataformat.adoc
 copy {components/camel-box/camel-box-component/src/main/docs => docs/components/modules/ROOT/pages}/box-component.adoc (96%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/braintree-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/castor-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cdi.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/chronicle-engine-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/chunk-component.adoc
 delete mode 120000 docs/components/modules/ROOT/pages/cm-sms-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cmis-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/coap-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cometd-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/consul-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/context-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/corda-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/couchbase-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/couchdb-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cql-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/crypto-cms-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/crypto-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/crypto-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/csv-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cxf-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cxf-transport.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/cxfrs-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/digitalocean-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/disruptor-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/dns-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/docker-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/dozer-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/drill-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/dropbox-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/eclipse.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ehcache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ejb-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/el-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/elasticsearch-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/elasticsearch5-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/elsql-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/etcd-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/eventadmin-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/exec-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/facebook-component.adoc
 copy {components/camel-fhir/camel-fhir-component/src/main/docs => docs/components/modules/ROOT/pages}/fhir-component.adoc (93%)
 copy {components/camel-fhir/camel-fhir-component/src/main/docs => docs/components/modules/ROOT/pages}/fhirJson-dataformat.adoc (95%)
 copy {components/camel-fhir/camel-fhir-component/src/main/docs => docs/components/modules/ROOT/pages}/fhirXml-dataformat.adoc (95%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/flatpack-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/flink-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/fop-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/freemarker-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ftp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ftps-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ganglia-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/geocoder-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/git-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/github-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-bigquery-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-calendar-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-drive-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-mail-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-pubsub-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-sheets-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/gora-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/grape-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/groovy-dsl.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/groovy-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/grpc-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/guava-eventbus-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/guice.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hawtdb.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-atomicvalue-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-instance-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-list-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-map-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-multimap-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-queue-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-replicatedmap-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-ringbuffer-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-seda-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-set-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast-topic-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hazelcast.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hbase-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hdfs-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hdfs2-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/headersmap.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hessian-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hipchat-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hl7-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/http-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/http4-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/hystrix.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ibatis-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ical-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/iec60870-client-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/iec60870-server-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-cache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-compute-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-events-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-messaging-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-queue-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite-set-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ignite.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/infinispan-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/influxdb-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/iota-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ipfs-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/irc-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ironmq-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jacksonxml-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jasypt.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/javaScript-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/javaspace-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jbpm-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jcache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jclouds-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jcr-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jdbc-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jetty-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jgroups-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jibx-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jing-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jira-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jms-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jmx-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jolt-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jpa-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/json-fastjson-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/json-gson-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/json-jackson-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/json-johnzon-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/json-validator-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/json-xstream-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jsonpath-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jt400-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/jxpath-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kafka-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kestrel-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/krati-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kubernetes.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/kura.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ldap-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ldif-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/leveldb.adoc
 copy {components/camel-linkedin/camel-linkedin-component/src/main/docs => docs/components/modules/ROOT/pages}/linkedin-component.adoc (95%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/lpr-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/lra.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/lucene-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/lumberjack-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/lzf-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mail-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/master-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/metrics-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/micrometer-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/milo-client-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/milo-server-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mime-multipart-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mina-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mina2-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mllp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mongodb-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mongodb3-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mqtt-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/msv-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mustache-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mvel-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mvel-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mybatis-bean-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/mybatis-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/nagios-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/nats-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/netty-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/netty-http-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/netty4-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/netty4-http-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/nsq-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ognl-language.adoc
 copy {components/camel-olingo2/camel-olingo2-component/src/main/docs => docs/components/modules/ROOT/pages}/olingo2-component.adoc (94%)
 copy {components/camel-olingo4/camel-olingo4-component/src/main/docs => docs/components/modules/ROOT/pages}/olingo4-component.adoc (93%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openshift-build-configs-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openshift-builds-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openshift-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack-cinder-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack-glance-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack-keystone-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack-neutron-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack-nova-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack-swift-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/openstack.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/opentracing.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/optaplanner-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/paho-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/paxlogging-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/pdf-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/pgevent-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/pgp-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/php-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/pubnub-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/pulsar-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/python-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/quartz-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/quartz2-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/quickfix-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rabbitmq-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/reactive-streams-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/reactor-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rest-swagger-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/restlet-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ribbon.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rmi-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/routebox-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rss-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rss-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ruby-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ruby.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rx.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/rxjava2.adoc
 copy {components/camel-salesforce/camel-salesforce-component/src/main/docs => docs/components/modules/ROOT/pages}/salesforce-component.adoc (95%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/scala-eip.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/scala-getting-started.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/scala-supported-languages.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/scala.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/schematron-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/scp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/scr.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/script.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/secureXML-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/service-component.adoc
 copy {components/camel-servicenow/camel-servicenow-component/src/main/docs => docs/components/modules/ROOT/pages}/servicenow-component.adoc (89%)
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/servlet-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/servletlistener.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sftp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/shiro.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sip-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sjms-batch-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sjms-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sjms2-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/slack-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/smpp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/snmp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/solr-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spark-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spark-rest-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spel-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/splunk-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-batch-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-boot.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-cloud-consul.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-cloud-netflix.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-cloud-zookeeper.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-cloud.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-event-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-integration-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-javaconfig.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-ldap-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-redis-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-security.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring-ws-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/spring.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sql-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sql-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/sql-stored-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/ssh-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/stax-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/stomp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/stream-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/string-template-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/swagger-java.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/swagger.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/syslog-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/tarfile-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/telegram-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/terser-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/test-blueprint.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/test-cdi.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/test-karaf.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/test-spring.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/test.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/testcontainers-spring.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/testcontainers.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/testng.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/thrift-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/thrift-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/tidyMarkup-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/tika-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twilio-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twitter-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twitter-directmessage-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twitter-search-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twitter-streaming-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twitter-timeline-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/twitter.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/undertow-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/univocity-tsv-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/urlrewrite.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/velocity-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/vertx-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/weather-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/web3j-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/websocket-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/wordpress-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xchange-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xmlBeans-dataformat.adoc
 delete mode 120000 docs/components/modules/ROOT/pages/xmljson-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xmlrpc-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xmlrpc-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xmlsecurity-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xmpp-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xquery-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xquery-language.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/xstream-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/yaml-snakeyaml-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/yammer-component.adoc
 delete mode 120000 docs/components/modules/ROOT/pages/yql-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/zendesk-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/zipfile-dataformat.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/zipkin.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/zookeeper-component.adoc
 mode change 120000 => 100644 docs/components/modules/ROOT/pages/zookeeper-master-component.adoc
 create mode 100644 docs/generated.txt
 create mode 100644 docs/img/logo-d.svg
 delete mode 100644 docs/nav.adoc.template
 create mode 100644 docs/site.yml
 delete mode 100644 docs/theme/apache-theme.yml
 delete mode 100644 docs/theme/fonts/DroidSerif-Bold.ttf
 delete mode 100644 docs/theme/fonts/DroidSerif-BoldItalic.ttf
 delete mode 100644 docs/theme/fonts/DroidSerif-Italic.ttf
 delete mode 100644 docs/theme/fonts/DroidSerif-Regular.ttf
 delete mode 100644 docs/theme/fonts/DroidSerif_Apache License.txt
 delete mode 100644 docs/theme/fonts/OpenSans-Bold.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-BoldItalic.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-ExtraBold.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-ExtraBoldItalic.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-Italic.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-Light.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-LightItalic.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-Regular.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-SemiBold.ttf
 delete mode 100644 docs/theme/fonts/OpenSans-SemiBoldItalic.ttf
 delete mode 100644 docs/theme/fonts/OpenSans_LICENSE.txt
 delete mode 100644 docs/theme/images/asf_logo.png
 delete mode 100644 docs/theme/images/asf_logo_url.png
 delete mode 100644 docs/user-manual/antora.yml
 delete mode 100644 docs/user-manual/en/README.md
 delete mode 100644 docs/user-manual/en/apache.css
 delete mode 100644 docs/user-manual/en/book.json
 delete mode 100644 docs/user-manual/en/books/3151EN_Mastering_Apache_Camel.jpg
 delete mode 100644 docs/user-manual/en/books/3477OS.jpg
 delete mode 100644 docs/user-manual/en/books/3477OSmall.jpg
 delete mode 100644 docs/user-manual/en/books/5347OSmall.jpg
 delete mode 100644 docs/user-manual/en/books/B03507_MockupCover_Normal.jpg
 delete mode 100644 docs/user-manual/en/books/CamelCookbookCover.png
 delete mode 100644 docs/user-manual/en/books/CiA-front-medium.png
 delete mode 100644 docs/user-manual/en/books/camel-design-patterns.jpg
 delete mode 100644 docs/user-manual/en/books/cia2-cover-small.jpg
 delete mode 100644 docs/user-manual/en/books/cia_small.jpg
 delete mode 100644 docs/user-manual/en/books/eip_book_cover.jpg
 delete mode 100644 docs/user-manual/en/books/large.jpg
 delete mode 100644 docs/user-manual/en/books/rademakers.jpg
 delete mode 100644 docs/user-manual/en/faq/can-i-get-commercial-support.adoc
 delete mode 100644 docs/user-manual/en/faq/can-i-use-camel-on-java-14.adoc
 delete mode 100644 docs/user-manual/en/faq/classloader-issue-of-servicemix-camel-component.adoc
 delete mode 100644 docs/user-manual/en/faq/does-camel-work-on-ibms-jdk.adoc
 delete mode 100644 docs/user-manual/en/faq/exception-beandefinitionstoreexception.adoc
 delete mode 100644 docs/user-manual/en/faq/exception-javaxnamingnoinitialcontextexception.adoc
 delete mode 100644 docs/user-manual/en/faq/exception-orgapachecamelnosuchendpointexception.adoc
 delete mode 100644 docs/user-manual/en/faq/exception-orgxmlsaxsaxparseexception.adoc
 delete mode 100644 docs/user-manual/en/faq/how-can-i-create-a-custom-component-or-endpoint.adoc
 delete mode 100644 docs/user-manual/en/faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
 delete mode 100644 docs/user-manual/en/faq/how-can-i-get-the-source-code.adoc
 delete mode 100644 docs/user-manual/en/faq/how-can-i-stop-a-route-from-a-route.adoc
 delete mode 100644 docs/user-manual/en/faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-become-a-committer.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-change-the-logging.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-compile-the-code.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-configure-endpoints.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-debug-my-route.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-disable-jmx.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-edit-the-website.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-enable-debug-logging.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-import-rests-from-other-xml-files.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-import-routes-from-other-xml-files.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-invoke-camel-routes-from-jbi.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-let-jetty-match-wildcards.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-make-my-jms-endpoint-transactional.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-name-my-routes.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-restart-camelcontext.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-retry-failed-messages-forever.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-run-activemq-and-camel-in-jboss.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-run-camel-using-java-webstart.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-set-the-mep-when-interacting-with-jbi.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-use-a-big-uber-jar.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-use-camel-inside-servicemix.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-use-java-14-logging.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-use-log4j.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-use-uris-with-parameters-in-xml.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc
 delete mode 100644 docs/user-manual/en/faq/how-do-the-timer-and-quartz-endpoints-compare.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-compare-to-mule.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-compare-to-servicemix-eip.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-compare-to-servicemix.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-compare-to-synapse.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-look-up-beans-and-endpoints.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-work-with-activemq.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-work-with-servicemix.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-camel-work.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-the-camel-api-compare-to.adoc
 delete mode 100644 docs/user-manual/en/faq/how-does-the-website-work.adoc
 delete mode 100644 docs/user-manual/en/faq/how-should-i-invoke-my-pojos-or-spring-services.adoc
 delete mode 100644 docs/user-manual/en/faq/how-should-i-package-applications-using-camel-and-activemq.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-avoid-sending-some-or-all-message-headers.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-define-a-static-camel-converter-method-in-scala.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-send-the-same-message-to-multiple-endpoints.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-use-a-dynamic-uri-in-to.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-use-extra-camel-componets-in-servicemix-camel.adoc
 delete mode 100644 docs/user-manual/en/faq/how-to-validate-the-camel-1x-context-xml-from-apache-camel-web-site.adoc
 delete mode 100644 docs/user-manual/en/faq/if-i-use-servicemix-when-should-i-use-camel.adoc
 delete mode 100644 docs/user-manual/en/faq/images/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
 delete mode 100644 docs/user-manual/en/faq/images/using-getin-or-getout-methods-on-exchange.data/flow.png
 delete mode 100644 docs/user-manual/en/faq/is-camel-an-esb.adoc
 delete mode 100644 docs/user-manual/en/faq/is-camel-ioc-friendly.adoc
 delete mode 100644 docs/user-manual/en/faq/is-there-an-ide.adoc
 delete mode 100644 docs/user-manual/en/faq/memory-leak-when-adding-and-removing-routes-at-runtime.adoc
 delete mode 100644 docs/user-manual/en/faq/running-camel-standalone.adoc
 delete mode 100644 docs/user-manual/en/faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc
 delete mode 100644 docs/user-manual/en/faq/using-camel-core-testsjar.adoc
 delete mode 100644 docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.adoc
 delete mode 100644 docs/user-manual/en/faq/what-are-the-dependencies.adoc
 delete mode 100644 docs/user-manual/en/faq/what-is-a-router.adoc
 delete mode 100644 docs/user-manual/en/faq/what-is-camel.adoc
 delete mode 100644 docs/user-manual/en/faq/what-is-the-license.adoc
 delete mode 100644 docs/user-manual/en/faq/what-jars-do-i-need.adoc
 delete mode 100644 docs/user-manual/en/faq/what-platforms-are-supported.adoc
 delete mode 100644 docs/user-manual/en/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
 delete mode 100644 docs/user-manual/en/faq/why-cant-i-use-sign-in-my-password.adoc
 delete mode 100644 docs/user-manual/en/faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc
 delete mode 100644 docs/user-manual/en/faq/why-do-my-message-lose-its-headers-during-routing.adoc
 delete mode 100644 docs/user-manual/en/faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc
 delete mode 100644 docs/user-manual/en/faq/why-does-ftp-component-not-download-any-files.adoc
 delete mode 100644 docs/user-manual/en/faq/why-does-maven-not-download-dependencies.adoc
 delete mode 100644 docs/user-manual/en/faq/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
 delete mode 100644 docs/user-manual/en/faq/why-does-my-jms-route-only-consume-one-message-at-once.adoc
 delete mode 100644 docs/user-manual/en/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
 delete mode 100644 docs/user-manual/en/faq/why-is-my-message-body-empty.adoc
 delete mode 100644 docs/user-manual/en/faq/why-is-my-processor-not-showing-up-in-jconsole.adoc
 delete mode 100644 docs/user-manual/en/faq/why-is-the-exception-null-when-i-use-onexception.adoc
 delete mode 100644 docs/user-manual/en/faq/why-the-name-camel.adoc
 delete mode 100644 docs/user-manual/en/faq/why-use-multiple-camelcontext.adoc
 delete mode 100644 docs/user-manual/en/images/apache-spark.data/camel_spark_cluster.png
 delete mode 100644 docs/user-manual/en/images/apache-spark.data/camel_spark_driver.png
 delete mode 100644 docs/user-manual/en/images/apache-spark.data/fabric_docker-(2).png
 delete mode 100644 docs/user-manual/en/images/architecture.data/camel-components.png
 delete mode 100644 docs/user-manual/en/images/async.data/camel_async_request_only.png
 delete mode 100644 docs/user-manual/en/images/async.data/camel_async_request_reply.png
 delete mode 100644 docs/user-manual/en/images/async.data/camel_sync_request_only.png
 delete mode 100644 docs/user-manual/en/images/async.data/camel_sync_request_reply.png
 delete mode 100644 docs/user-manual/en/images/barcode-data-format.data/qr-code.png
 delete mode 100644 docs/user-manual/en/images/building.data/camel-eclipse-m2e-import-completed.png
 delete mode 100644 docs/user-manual/en/images/building.data/camel-eclipse-m2e-import.png
 delete mode 100644 docs/user-manual/en/images/camel-core.data/architecture.png
 delete mode 100644 docs/user-manual/en/images/camel-core.data/architecture_incl_violations.png
 delete mode 100644 docs/user-manual/en/images/camel-logo.png
 delete mode 100644 docs/user-manual/en/images/debugger.data/debug.png
 delete mode 100644 docs/user-manual/en/images/direct-vm.data/camel-direct-vm.png
 delete mode 100644 docs/user-manual/en/images/download.data/camel-box-v1.0-150x200.png
 delete mode 100644 docs/user-manual/en/images/enterprise-integration-patterns.data/clear.png
 delete mode 100644 docs/user-manual/en/images/lifecycle.data/service_lifecycle.png
 delete mode 100644 docs/user-manual/en/notice.md
 delete mode 100644 docs/user-manual/en/release-notes/camel-2170-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2171-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2172-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2173-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2174-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2175-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2176-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2177-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2180-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2181-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2182-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2183-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2184-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2185-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2190-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2191-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2192-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2193-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2194-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2195-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2200-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2201-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2202-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2203-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2204-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2210-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2211-release.adoc
 delete mode 100644 docs/user-manual/en/release-notes/camel-2212-release.adoc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2013-4330.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2014-0002.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2014-0003.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2015-0263.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2015-0264.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2015-5344.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2015-5348.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2016-8749.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2017-12633.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2017-12634.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2017-3159.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2017-5643.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2018-8027.txt.asc
 delete mode 100644 docs/user-manual/en/security-advisories/CVE-2018-8041.txt.asc
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/apache-spark.data/fabric_docker-(2).png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/architecture.data/camel-components.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/async.data/camel_async_request_only.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/async.data/camel_async_request_reply.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/async.data/camel_sync_request_only.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/async.data/camel_sync_request_reply.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/building.data/camel-eclipse-m2e-import-completed.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/building.data/camel-eclipse-m2e-import.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/camel-core.data/architecture.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/camel-core.data/architecture_incl_violations.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/camel-logo.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/debugger.data/debug.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/direct-vm.data/camel-direct-vm.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/download.data/camel-box-v1.0-150x200.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/enterprise-integration-patterns.data/clear.png
 delete mode 100644 docs/user-manual/modules/ROOT/assets/images/images/lifecycle.data/service_lifecycle.png
 delete mode 100644 docs/user-manual/modules/ROOT/nav.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/annotation-based-expression-language.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/architecture.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/async.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/asynchronous-routing-engine.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/backlog-tracer.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/backlogdebugger.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/bam-example.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/bam.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/batch-consumer.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/bean-integration.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/binding.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/book-getting-started.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/books.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/browsable-endpoint.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/building.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/camel-boot.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/camel-configuration-utilities.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/camel-core.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/camel-jar-dependencies.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/camelcontext.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/cep.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/commercial-camel-offerings.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/component.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/componentconfiguration.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/configuring-camel.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/configuring-route-startup-ordering-and-autostartup.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/data-format.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/debugger.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/defaulterrorhandler.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/delay-interceptor.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/dependency-injection.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/download-archives.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/download.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/dozer-type-conversion.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/dsl.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/endpoint-completer.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/endpoint.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/enterprise-integration-patterns.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/error-handler.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/error-handling-in-camel.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/examples.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/exception-clause.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/exchange-pattern.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/exchange.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/expression.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/faq.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/fluent-builders.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/getting-started.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/graceful-shutdown.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/groovy-dsl.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/guice-jms-example.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/guice-maven-plugin.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/guice.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/http-session-handling.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/http-session.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/index.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/injector.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/intercept.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/inversion-of-control-with-smart-defaults.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/irc-room.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/java-dsl.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/jndi.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/json.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/karaf.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/languages.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/lifecycle.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/mailing-lists.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/oncompletion.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/predicate.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/processor.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/producertemplate.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/registry.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/route-builder.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/route-policy.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/routes.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/scala-dsl-eip.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/scala-dsl-getting-started.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/scala-dsl-supported-languages.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/scala-dsl.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/scripting-languages.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/security-advisories.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/security.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/servicepool.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/spring-testing.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/spring-xml-extensions.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/spring.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/support.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/team.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/testing.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/threading-model.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/transactionerrorhandler.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/transport.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/try-catch-finally.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/type-converter.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/uris.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/user-stories.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/using-osgi-blueprint-with-camel.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/uuidgenerator.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/writing-components.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/xml-configuration.adoc
 delete mode 100644 docs/user-manual/modules/ROOT/pages/xml-reference.adoc
 create mode 100644 tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
 create mode 100644 tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootModel.java
 create mode 100644 tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java


[camel] 16/16: CAMEL-13932: More cleanup

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit fa2ca039fb4f5ec708ad2743db306a456eed887f
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Wed Sep 4 14:14:45 2019 +0200

    CAMEL-13932: More cleanup
    
    Cleans up headers, properly escapes non-attributes in `{...}` and links.
---
 camel-core/readme.adoc                             |  82 +------------
 camel-core/src/main/docs/bean-component.adoc       |   2 +-
 camel-core/src/main/docs/binding-component.adoc    |   2 +-
 camel-core/src/main/docs/browse-component.adoc     |   2 +-
 camel-core/src/main/docs/class-component.adoc      |   2 +-
 camel-core/src/main/docs/controlbus-component.adoc |   2 +-
 camel-core/src/main/docs/dataformat-component.adoc |   2 +-
 camel-core/src/main/docs/dataset-component.adoc    |   2 +-
 camel-core/src/main/docs/direct-component.adoc     |   2 +-
 camel-core/src/main/docs/direct-vm-component.adoc  |   2 +-
 camel-core/src/main/docs/file-component.adoc       |   2 +-
 camel-core/src/main/docs/language-component.adoc   |   2 +-
 camel-core/src/main/docs/log-component.adoc        |   2 +-
 camel-core/src/main/docs/mock-component.adoc       |   2 +-
 camel-core/src/main/docs/properties-component.adoc |   2 +-
 camel-core/src/main/docs/ref-component.adoc        |   2 +-
 camel-core/src/main/docs/rest-api-component.adoc   |   2 +-
 camel-core/src/main/docs/rest-component.adoc       |   2 +-
 camel-core/src/main/docs/saga-component.adoc       |   2 +-
 camel-core/src/main/docs/scheduler-component.adoc  |   2 +-
 camel-core/src/main/docs/seda-component.adoc       |   2 +-
 camel-core/src/main/docs/stub-component.adoc       |   2 +-
 camel-core/src/main/docs/test-component.adoc       |   2 +-
 camel-core/src/main/docs/timer-component.adoc      |   2 +-
 camel-core/src/main/docs/validator-component.adoc  |   2 +-
 camel-core/src/main/docs/vm-component.adoc         |   2 +-
 camel-core/src/main/docs/xslt-component.adoc       |   2 +-
 .../src/main/docs/ahc-ws-component.adoc            |   9 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  18 ++-
 .../camel-apns/src/main/docs/apns-component.adoc   |   4 +-
 .../src/main/docs/as2-component.adoc               |  10 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   4 +-
 .../src/main/docs/asterisk-component.adoc          |   2 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |   1 -
 .../main/docs/atmosphere-websocket-component.adoc  |   9 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |   4 +-
 .../src/main/docs/atomix-map-component.adoc        |   2 +-
 .../src/main/docs/atomix-messaging-component.adoc  |   2 +-
 .../src/main/docs/atomix-multimap-component.adoc   |   2 +-
 .../src/main/docs/atomix-queue-component.adoc      |   2 +-
 .../src/main/docs/atomix-set-component.adoc        |   2 +-
 .../src/main/docs/atomix-value-component.adoc      |   2 +-
 .../camel-avro/src/main/docs/avro-component.adoc   |   2 +-
 .../camel-aws/src/main/docs/aws-cw-component.adoc  |   8 +-
 .../camel-aws/src/main/docs/aws-ddb-component.adoc |   7 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |   8 +-
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |   5 +-
 .../camel-aws/src/main/docs/aws-iam-component.adoc |   5 +-
 .../src/main/docs/aws-kinesis-component.adoc       |   8 +-
 .../main/docs/aws-kinesis-firehose-component.adoc  |   8 +-
 .../camel-aws/src/main/docs/aws-kms-component.adoc |   5 +-
 .../src/main/docs/aws-lambda-component.adoc        |   5 +-
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |   5 +-
 .../camel-aws/src/main/docs/aws-s3-component.adoc  |  10 +-
 .../camel-aws/src/main/docs/aws-sdb-component.adoc |   5 +-
 .../camel-aws/src/main/docs/aws-ses-component.adoc |   5 +-
 .../camel-aws/src/main/docs/aws-sns-component.adoc |   8 +-
 .../camel-aws/src/main/docs/aws-sqs-component.adoc |   8 +-
 .../camel-aws/src/main/docs/aws-swf-component.adoc |   8 +-
 components/camel-aws/src/main/docs/aws.adoc        |   2 +-
 .../camel/component/aws/s3/S3Configuration.java    |   3 +-
 .../src/main/docs/azure-blob-component.adoc        |   8 +-
 .../src/main/docs/azure-queue-component.adoc       |   8 +-
 components/camel-azure/src/main/docs/azure.adoc    |   8 +-
 .../camel-bam/src/main/docs/bam-example.adoc       |  10 +-
 components/camel-bam/src/main/docs/bam.adoc        |  18 ++-
 .../src/main/docs/base64-dataformat.adoc           |   8 +-
 .../src/main/docs/bean-validator-component.adoc    |   8 +-
 .../src/main/docs/beanio-dataformat.adoc           |   6 +-
 .../src/main/docs/beanstalk-component.adoc         |   4 +-
 .../src/main/docs/bindy-dataformat.adoc            |  61 +++++-----
 .../src/main/docs/box-component.adoc               |  34 +++---
 .../src/main/docs/braintree-component.adoc         |   9 +-
 .../camel-cache/src/main/docs/cache-component.adoc |  37 +++---
 .../src/main/docs/cql-component.adoc               |  20 ++--
 components/camel-cdi/src/main/docs/cdi.adoc        |   4 +-
 .../src/main/docs/chronicle-engine-component.adoc  |   5 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |   3 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   5 +-
 .../src/main/docs/cometd-component.adoc            |   8 +-
 .../src/main/docs/context-component.adoc           |   4 +-
 .../camel-corda/src/main/docs/corda-component.adoc |   6 +-
 .../src/main/docs/crypto-component.adoc            |   2 +-
 .../src/main/docs/crypto-dataformat.adoc           |   5 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |   9 +-
 .../src/main/docs/cxf-transport.adoc               |  41 +++----
 .../camel-cxf/src/main/docs/cxf-component.adoc     |  91 ++++++---------
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |  14 ++-
 .../src/main/docs/disruptor-component.adoc         |   8 +-
 .../camel-dns/src/main/docs/dns-component.adoc     |  30 ++---
 .../camel-drill/src/main/docs/drill-component.adoc |   4 +-
 .../src/main/docs/dropbox-component.adoc           |  62 +++++-----
 .../camel-eclipse/src/main/docs/eclipse.adoc       |   2 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     |  14 +--
 .../main/docs/elasticsearch-rest-component.adoc    |   2 +-
 .../src/main/docs/elasticsearch-component.adoc     |   3 +-
 .../src/main/docs/elasticsearch5-component.adoc    |   3 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |   5 +-
 .../src/main/docs/eventadmin-component.adoc        |   2 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   7 +-
 .../src/main/docs/facebook-component.adoc          |   2 +-
 .../src/main/docs/fhir-component.adoc              |   4 +-
 .../src/main/docs/fhirJson-dataformat.adoc         |  10 +-
 .../src/main/docs/fhirXml-dataformat.adoc          |   9 +-
 .../src/main/docs/flatpack-component.adoc          |  17 +--
 .../src/main/docs/flatpack-dataformat.adoc         |   5 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   6 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   3 +-
 .../src/main/docs/freemarker-component.adoc        |   3 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |  69 ++++++-----
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   2 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   2 +-
 .../src/main/docs/ganglia-component.adoc           |  16 +--
 .../src/main/docs/geocoder-component.adoc          |   3 +-
 .../camel-git/src/main/docs/git-component.adoc     |   3 +-
 .../src/main/docs/google-bigquery-component.adoc   |  18 +--
 .../main/docs/google-bigquery-sql-component.adoc   |  20 ++--
 .../src/main/docs/google-pubsub-component.adoc     |  18 +--
 .../camel-grape/src/main/docs/grape-component.adoc |   2 +-
 .../camel-groovy-dsl/src/main/docs/groovy-dsl.adoc |  28 ++---
 .../src/main/docs/groovy-language.adoc             |   8 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |   5 +-
 components/camel-guice/src/main/docs/guice.adoc    |  25 +---
 components/camel-hawtdb/src/main/docs/hawtdb.adoc  |   8 +-
 .../camel-hazelcast/src/main/docs/hazelcast.adoc   |  24 ++--
 .../camel-hbase/src/main/docs/hbase-component.adoc |  20 ++--
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |  13 ++-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |   8 +-
 .../src/main/docs/hipchat-component.adoc           |   4 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |  40 ++++---
 .../camel-hl7/src/main/docs/terser-language.adoc   |   3 -
 .../camel-http/src/main/docs/http-component.adoc   |  41 ++++---
 .../camel-http4/src/main/docs/http4-component.adoc |  49 +++++---
 .../camel-hystrix/src/main/docs/hystrix.adoc       |   4 +-
 .../src/main/docs/ibatis-component.adoc            |  16 +--
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   3 +-
 .../src/main/docs/iec60870-client-component.adoc   |   6 +-
 .../src/main/docs/iec60870-server-component.adoc   |   6 +-
 components/camel-ignite/src/main/docs/ignite.adoc  |  23 ++--
 .../src/main/docs/infinispan-component.adoc        |   3 +-
 .../src/main/docs/influxdb-component.adoc          |   3 +-
 .../camel-iota/src/main/docs/iota-component.adoc   |  11 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   2 +-
 .../src/main/docs/ironmq-component.adoc            |   2 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   8 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   5 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |   6 +-
 .../src/main/docs/javaspace-component.adoc         |  15 ++-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |  30 +++--
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   5 +-
 .../src/main/docs/jcache-component.adoc            |   2 +-
 .../src/main/docs/jclouds-component.adoc           |  62 +++++-----
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   3 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |   8 +-
 .../src/main/docs/jetty-component.adoc             |  35 +++---
 .../src/main/docs/jgroups-raft-component.adoc      |   4 +-
 .../src/main/docs/jgroups-component.adoc           |   2 +-
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |   2 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   7 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |   2 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |  28 +++--
 .../camel-jmx/src/main/docs/jmx-component.adoc     |  17 ++-
 .../src/main/docs/json-johnzon-dataformat.adoc     |   2 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   3 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |  17 +--
 .../camel-jpa/src/main/docs/jpa-component.adoc     |  11 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |   5 +-
 .../src/main/docs/json-validator-component.adoc    |   6 +-
 .../src/main/docs/jsonpath-language.adoc           |  28 ++---
 .../camel-jt400/src/main/docs/jt400-component.adoc |   8 +-
 .../camel-juel/src/main/docs/el-language.adoc      |  10 +-
 .../src/main/docs/jxpath-language.adoc             |   9 +-
 .../camel-kafka/src/main/docs/kafka-component.adoc |  60 ++++++----
 .../src/main/docs/kestrel-component.adoc           |   3 +-
 .../camel-krati/src/main/docs/krati-component.adoc |  10 +-
 .../src/main/docs/kubernetes-component.adoc        |  30 ++---
 .../docs/kubernetes-config-maps-component.adoc     |   4 +-
 .../docs/kubernetes-deployments-component.adoc     |   4 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |   4 +-
 .../src/main/docs/kubernetes-job-component.adoc    |   4 +-
 .../main/docs/kubernetes-namespaces-component.adoc |   4 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |   4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   4 +-
 .../kubernetes-persistent-volumes-component.adoc   |   4 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   4 +-
 ...bernetes-replication-controllers-component.adoc |   4 +-
 .../docs/kubernetes-resources-quota-component.adoc |   4 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   4 +-
 .../kubernetes-service-accounts-component.adoc     |   4 +-
 .../main/docs/kubernetes-services-component.adoc   |   4 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc |  26 ++---
 .../docs/openshift-build-configs-component.adoc    |   4 +-
 .../src/main/docs/openshift-builds-component.adoc  |   2 +-
 components/camel-kura/src/main/docs/kura.adoc      |  50 +++-----
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   6 +-
 .../camel-ldif/src/main/docs/ldif-component.adoc   |  12 +-
 .../camel-leveldb/src/main/docs/leveldb.adoc       |  34 ++----
 .../src/main/docs/linkedin-component.adoc          |   2 +-
 components/camel-lra/src/main/docs/lra.adoc        |   4 +-
 .../src/main/docs/lucene-component.adoc            |   2 +-
 .../src/main/docs/lumberjack-component.adoc        |   2 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc    |   2 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |  11 +-
 .../src/main/docs/mime-multipart-dataformat.adoc   |   3 +-
 .../src/main/docs/master-component.adoc            |   1 -
 .../src/main/docs/metrics-component.adoc           |  12 +-
 .../src/main/docs/micrometer-component.adoc        |  21 ++--
 .../src/main/docs/milo-client-component.adoc       |  15 ++-
 .../src/main/docs/milo-server-component.adoc       |  11 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |  11 +-
 .../camel-mina2/src/main/docs/mina2-component.adoc |  12 +-
 .../camel-mllp/src/main/docs/mllp-component.adoc   |  14 +--
 .../src/main/docs/mongodb-gridfs-component.adoc    |   2 +-
 .../src/main/docs/mongodb-component.adoc           | 107 +++++++----------
 .../src/main/docs/mongodb3-component.adoc          |  48 +++-----
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |   3 +-
 .../camel-msv/src/main/docs/msv-component.adoc     |   5 +-
 .../src/main/docs/mustache-component.adoc          |   3 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |   3 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |   5 +-
 .../src/main/docs/mybatis-bean-component.adoc      |  11 +-
 .../src/main/docs/mybatis-component.adoc           |   8 +-
 .../src/main/docs/nagios-component.adoc            |   5 +-
 .../camel-nats/src/main/docs/nats-component.adoc   |   2 +-
 .../src/main/docs/netty-http-component.adoc        |  34 +++---
 .../camel-netty/src/main/docs/netty-component.adoc |  17 +--
 .../src/main/docs/netty4-http-component.adoc       |  17 +--
 .../src/main/docs/netty4-component.adoc            |  28 ++---
 .../camel-nsq/src/main/docs/nsq-component.adoc     |   3 -
 .../camel-ognl/src/main/docs/ognl-language.adoc    |   5 +-
 .../src/main/docs/olingo2-component.adoc           |   4 +-
 .../src/main/docs/olingo4-component.adoc           |   4 +-
 .../src/main/docs/openshift-component.adoc         |   3 +-
 .../src/main/docs/openstack-cinder-component.adoc  |   5 +-
 .../src/main/docs/openstack-glance-component.adoc  |   5 +-
 .../main/docs/openstack-keystone-component.adoc    |   5 +-
 .../src/main/docs/openstack-neutron-component.adoc |   6 +-
 .../src/main/docs/openstack-nova-component.adoc    |   5 +-
 .../src/main/docs/openstack-swift-component.adoc   |   5 +-
 .../camel-openstack/src/main/docs/openstack.adoc   |  18 ++-
 .../src/main/docs/opentracing.adoc                 |   2 +-
 .../src/main/docs/optaplanner-component.adoc       |   6 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |   2 +-
 .../src/main/docs/paxlogging-component.adoc        |   2 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   3 +-
 .../src/main/docs/pgevent-component.adoc           |   5 +-
 .../camel-printer/src/main/docs/lpr-component.adoc |  35 ++++--
 .../src/main/docs/protobuf-dataformat.adoc         |  12 +-
 .../src/main/docs/pubnub-component.adoc            |   4 +-
 .../src/main/docs/pulsar-component.adoc            |   2 +-
 .../src/main/docs/quartz-component.adoc            |  11 +-
 .../src/main/docs/quartz2-component.adoc           |  36 +++---
 .../src/main/docs/quickfix-component.adoc          |   5 +-
 .../src/main/docs/rabbitmq-component.adoc          |  14 +--
 .../src/main/docs/reactive-streams-component.adoc  |   4 +-
 .../src/main/docs/rest-swagger-component.adoc      |  16 +--
 .../src/main/docs/restlet-component.adoc           |  29 ++---
 components/camel-ribbon/src/main/docs/ribbon.adoc  |   3 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |   4 -
 .../src/main/docs/routebox-component.adoc          |   6 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |   3 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |   2 +-
 components/camel-ruby/src/main/docs/ruby.adoc      |  38 +++---
 components/camel-rx/src/main/docs/rx.adoc          |  14 +--
 .../camel-rxjava2/src/main/docs/rxjava2.adoc       |   4 +-
 .../src/main/docs/salesforce-component.adoc        |  49 ++++----
 .../src/main/docs/sap-netweaver-component.adoc     |   3 +-
 .../src/main/docs/xquery-component.adoc            |   5 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |   5 +-
 .../camel-scala/src/main/docs/scala-eip.adoc       |  94 +++++++--------
 .../src/main/docs/scala-getting-started.adoc       |  11 +-
 .../src/main/docs/scala-supported-languages.adoc   |   6 +-
 components/camel-scala/src/main/docs/scala.adoc    |  13 +--
 .../src/main/docs/schematron-component.adoc        |   2 +-
 components/camel-scr/src/main/docs/scr.adoc        |   2 +-
 .../src/main/docs/javaScript-language.adoc         |  20 ++--
 .../camel-script/src/main/docs/php-language.adoc   |  17 +--
 .../src/main/docs/python-language.adoc             |  17 +--
 .../camel-script/src/main/docs/ruby-language.adoc  |  17 +--
 components/camel-script/src/main/docs/script.adoc  |  16 +--
 .../src/main/docs/service-component.adoc           |   1 -
 .../src/main/docs/servicenow-component.adoc        |  60 +++++-----
 .../src/main/docs/servlet-component.adoc           |  31 +++--
 .../src/main/docs/servletlistener.adoc             |  63 ++++------
 components/camel-shiro/src/main/docs/shiro.adoc    |  31 ++---
 .../camel-sip/src/main/docs/sip-component.adoc     |   8 +-
 .../src/main/docs/sjms-batch-component.adoc        |   6 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   |   5 +-
 .../camel-sjms2/src/main/docs/sjms2-component.adoc |   5 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   3 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |  15 ++-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   2 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   9 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   6 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   5 +-
 .../src/main/docs/spark-rest-component.adoc        |  14 +--
 .../camel-spark/src/main/docs/spark-component.adoc |   3 +-
 .../src/main/docs/splunk-component.adoc            |   6 +-
 .../src/main/docs/spring-batch-component.adoc      |   2 +-
 .../src/main/docs/spring-boot.adoc                 |   2 +-
 .../src/main/docs/spring-cloud-consul.adoc         |   4 +-
 .../src/main/docs/spring-cloud-netflix.adoc        |  18 +--
 .../src/main/docs/spring-cloud-zookeeper.adoc      |   4 +-
 .../src/main/docs/spring-cloud.adoc                |  19 +--
 .../main/docs/spring-integration-component.adoc    |   3 +-
 .../src/main/docs/spring-javaconfig.adoc           |  11 +-
 .../src/main/docs/spring-ldap-component.adoc       |   5 +-
 .../src/main/docs/spring-redis-component.adoc      |   8 +-
 .../src/main/docs/spring-security.adoc             |  19 ++-
 .../src/main/docs/spring-ws-component.adoc         |   6 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |   3 +-
 components/camel-spring/src/main/docs/spring.adoc  |   6 +-
 .../camel-sql/src/main/docs/sql-component.adoc     |  69 ++++++-----
 .../src/main/docs/sql-stored-component.adoc        |  17 ++-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   3 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |   6 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |   3 +-
 .../src/main/docs/stream-component.adoc            |  14 ++-
 .../src/main/docs/string-template-component.adoc   |   3 +-
 .../src/main/docs/swagger-java.adoc                |  16 +--
 .../camel-swagger/src/main/docs/swagger.adoc       |  26 ++---
 .../src/main/docs/syslog-dataformat.adoc           |  19 ++-
 .../src/main/docs/tidyMarkup-dataformat.adoc       |   2 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   2 +-
 .../src/main/docs/telegram-component.adoc          |  18 +--
 .../src/main/docs/test-blueprint.adoc              |   5 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |   3 +-
 .../camel-test-karaf/src/main/docs/test-karaf.adoc |   2 +-
 .../src/main/docs/test-spring.adoc                 |   8 +-
 components/camel-test/src/main/docs/test.adoc      |  49 +++-----
 .../src/main/docs/testcontainers-spring.adoc       |   5 +-
 .../src/main/docs/testcontainers.adoc              |   4 +-
 components/camel-testng/src/main/docs/testng.adoc  |   2 +-
 .../src/main/docs/thrift-component.adoc            |   3 +-
 .../src/main/docs/thrift-dataformat.adoc           |   5 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   2 +-
 .../src/main/docs/twilio-component.adoc            |   2 +-
 .../src/main/docs/twitter-component.adoc           |  13 +--
 .../main/docs/twitter-directmessage-component.adoc |   2 +-
 .../src/main/docs/twitter-search-component.adoc    |   2 +-
 .../src/main/docs/twitter-streaming-component.adoc |   2 +-
 .../src/main/docs/twitter-timeline-component.adoc  |   2 +-
 .../camel-twitter/src/main/docs/twitter.adoc       |  25 ++--
 .../src/main/docs/univocity-csv-dataformat.adoc    |   2 +-
 .../src/main/docs/univocity-fixed-dataformat.adoc  |   2 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc    |   2 +-
 .../camel-urlrewrite/src/main/docs/urlrewrite.adoc |  53 +++------
 .../src/main/docs/velocity-component.adoc          |   9 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   3 +-
 .../src/main/docs/weather-component.adoc           |   2 +-
 .../camel-web3j/src/main/docs/web3j-component.adoc |   4 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |   5 -
 .../src/main/docs/websocket-component.adoc         |   8 +-
 .../src/main/docs/wordpress-component.adoc         |  10 +-
 .../src/main/docs/xchange-component.adoc           |   2 +-
 .../src/main/docs/xmlBeans-dataformat.adoc         |   2 +-
 .../src/main/docs/xmlrpc-component.adoc            |   3 -
 .../src/main/docs/xmlrpc-dataformat.adoc           |   2 +-
 .../src/main/docs/secureXML-dataformat.adoc        |   3 +-
 .../src/main/docs/xmlsecurity-component.adoc       |   2 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   6 +-
 .../src/main/docs/xstream-dataformat.adoc          |   2 +-
 .../src/main/docs/yammer-component.adoc            |  16 +--
 .../src/main/docs/zendesk-component.adoc           |   2 +-
 .../src/main/docs/zipfile-dataformat.adoc          |  12 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |   5 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   3 +-
 .../src/main/docs/zookeeper-component.adoc         |   6 +-
 components/readme.adoc                             | 121 ++++++++++++++-----
 .../quickfixj/QuickfixjSpringTest-context.xml      | 129 +++++++++++++++++++++
 docs/components/modules/ROOT/nav.adoc              |   2 +-
 .../modules/ROOT/pages/ahc-component.adoc          |  18 ++-
 .../modules/ROOT/pages/ahc-ws-component.adoc       |   9 +-
 .../modules/ROOT/pages/apns-component.adoc         |   4 +-
 .../modules/ROOT/pages/as2-component.adoc          |  10 +-
 .../modules/ROOT/pages/asn1-dataformat.adoc        |   4 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |   2 +-
 .../modules/ROOT/pages/atmos-component.adoc        |   1 -
 .../ROOT/pages/atmosphere-websocket-component.adoc |   9 +-
 .../modules/ROOT/pages/atom-component.adoc         |   4 +-
 .../modules/ROOT/pages/atomix-map-component.adoc   |   2 +-
 .../ROOT/pages/atomix-messaging-component.adoc     |   2 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |   2 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |   2 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |   2 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |   2 +-
 .../modules/ROOT/pages/avro-component.adoc         |   2 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       |   8 +-
 .../modules/ROOT/pages/aws-ddb-component.adoc      |   7 +-
 .../ROOT/pages/aws-ddbstream-component.adoc        |   8 +-
 .../modules/ROOT/pages/aws-ec2-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-iam-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-kinesis-component.adoc  |   8 +-
 .../ROOT/pages/aws-kinesis-firehose-component.adoc |   8 +-
 .../modules/ROOT/pages/aws-kms-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-lambda-component.adoc   |   5 +-
 .../modules/ROOT/pages/aws-mq-component.adoc       |   5 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |  10 +-
 .../modules/ROOT/pages/aws-sdb-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-ses-component.adoc      |   5 +-
 .../modules/ROOT/pages/aws-sns-component.adoc      |   8 +-
 .../modules/ROOT/pages/aws-sqs-component.adoc      |   8 +-
 .../modules/ROOT/pages/aws-swf-component.adoc      |   8 +-
 docs/components/modules/ROOT/pages/aws.adoc        |   3 +-
 .../modules/ROOT/pages/azure-blob-component.adoc   |   8 +-
 .../modules/ROOT/pages/azure-queue-component.adoc  |   8 +-
 docs/components/modules/ROOT/pages/azure.adoc      |   9 +-
 .../components/modules/ROOT/pages/bam-example.adoc |  10 +-
 docs/components/modules/ROOT/pages/bam.adoc        |  19 ++-
 .../modules/ROOT/pages/base64-dataformat.adoc      |   8 +-
 .../ROOT/pages/bean-validator-component.adoc       |   8 +-
 .../modules/ROOT/pages/beanio-dataformat.adoc      |   6 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |   4 +-
 .../modules/ROOT/pages/bindy-dataformat.adoc       |  61 +++++-----
 .../modules/ROOT/pages/box-component.adoc          |  34 +++---
 .../modules/ROOT/pages/braintree-component.adoc    |   9 +-
 .../modules/ROOT/pages/cache-component.adoc        |  37 +++---
 docs/components/modules/ROOT/pages/cdi.adoc        |   4 +-
 .../ROOT/pages/chronicle-engine-component.adoc     |   5 +-
 .../modules/ROOT/pages/chunk-component.adoc        |   3 +-
 .../modules/ROOT/pages/cmis-component.adoc         |   5 +-
 .../modules/ROOT/pages/cometd-component.adoc       |   8 +-
 .../modules/ROOT/pages/context-component.adoc      |   4 +-
 .../modules/ROOT/pages/corda-component.adoc        |   6 +-
 .../modules/ROOT/pages/cql-component.adoc          |  20 ++--
 .../modules/ROOT/pages/crypto-component.adoc       |   2 +-
 .../modules/ROOT/pages/crypto-dataformat.adoc      |   5 +-
 .../modules/ROOT/pages/cxf-component.adoc          |  91 ++++++---------
 .../modules/ROOT/pages/cxf-transport.adoc          |  42 +++----
 .../modules/ROOT/pages/cxfrs-component.adoc        |  14 ++-
 .../modules/ROOT/pages/disruptor-component.adoc    |   8 +-
 .../modules/ROOT/pages/dns-component.adoc          |  30 ++---
 .../modules/ROOT/pages/drill-component.adoc        |   4 +-
 .../modules/ROOT/pages/dropbox-component.adoc      |  62 +++++-----
 docs/components/modules/ROOT/pages/eclipse.adoc    |   2 +-
 .../modules/ROOT/pages/ejb-component.adoc          |  14 +--
 .../components/modules/ROOT/pages/el-language.adoc |  10 +-
 .../ROOT/pages/elasticsearch-component.adoc        |   3 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |   2 +-
 .../ROOT/pages/elasticsearch5-component.adoc       |   3 +-
 .../modules/ROOT/pages/elsql-component.adoc        |   5 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   |   2 +-
 .../modules/ROOT/pages/exec-component.adoc         |   7 +-
 .../modules/ROOT/pages/facebook-component.adoc     |   2 +-
 .../modules/ROOT/pages/fhir-component.adoc         |   4 +-
 .../modules/ROOT/pages/fhirJson-dataformat.adoc    |  10 +-
 .../modules/ROOT/pages/fhirXml-dataformat.adoc     |   9 +-
 .../modules/ROOT/pages/flatpack-component.adoc     |  17 +--
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |   5 +-
 .../modules/ROOT/pages/flink-component.adoc        |   6 +-
 .../modules/ROOT/pages/fop-component.adoc          |   3 +-
 .../modules/ROOT/pages/freemarker-component.adoc   |   3 +-
 .../modules/ROOT/pages/ftp-component.adoc          |  69 ++++++-----
 .../modules/ROOT/pages/ftps-component.adoc         |   2 +-
 .../modules/ROOT/pages/ganglia-component.adoc      |  16 +--
 .../modules/ROOT/pages/geocoder-component.adoc     |   3 +-
 .../modules/ROOT/pages/git-component.adoc          |   3 +-
 .../ROOT/pages/google-bigquery-component.adoc      |  18 +--
 .../ROOT/pages/google-bigquery-sql-component.adoc  |  20 ++--
 .../ROOT/pages/google-pubsub-component.adoc        |  18 +--
 .../modules/ROOT/pages/grape-component.adoc        |   2 +-
 docs/components/modules/ROOT/pages/groovy-dsl.adoc |  29 +++--
 .../modules/ROOT/pages/groovy-language.adoc        |   8 +-
 .../modules/ROOT/pages/grpc-component.adoc         |   5 +-
 docs/components/modules/ROOT/pages/guice.adoc      |  26 +----
 docs/components/modules/ROOT/pages/hawtdb.adoc     |   9 +-
 docs/components/modules/ROOT/pages/hazelcast.adoc  |  24 ++--
 .../modules/ROOT/pages/hbase-component.adoc        |  20 ++--
 .../modules/ROOT/pages/hdfs-component.adoc         |  13 ++-
 .../modules/ROOT/pages/hdfs2-component.adoc        |   8 +-
 .../modules/ROOT/pages/hipchat-component.adoc      |   4 +-
 .../modules/ROOT/pages/hl7-dataformat.adoc         |  40 ++++---
 .../modules/ROOT/pages/http-component.adoc         |  41 ++++---
 .../modules/ROOT/pages/http4-component.adoc        |  49 +++++---
 docs/components/modules/ROOT/pages/hystrix.adoc    |   5 +-
 .../modules/ROOT/pages/ibatis-component.adoc       |  16 +--
 .../modules/ROOT/pages/ical-dataformat.adoc        |   3 +-
 .../ROOT/pages/iec60870-client-component.adoc      |   6 +-
 .../ROOT/pages/iec60870-server-component.adoc      |   6 +-
 docs/components/modules/ROOT/pages/ignite.adoc     |  24 ++--
 .../modules/ROOT/pages/infinispan-component.adoc   |   3 +-
 .../modules/ROOT/pages/influxdb-component.adoc     |   3 +-
 .../modules/ROOT/pages/iota-component.adoc         |  11 +-
 .../modules/ROOT/pages/irc-component.adoc          |   2 +-
 .../modules/ROOT/pages/ironmq-component.adoc       |   2 +-
 .../modules/ROOT/pages/jacksonxml-dataformat.adoc  |   5 +-
 docs/components/modules/ROOT/pages/jasypt.adoc     |   6 +-
 .../modules/ROOT/pages/javaScript-language.adoc    |  20 ++--
 .../modules/ROOT/pages/javaspace-component.adoc    |  15 ++-
 .../modules/ROOT/pages/jaxb-dataformat.adoc        |  30 +++--
 .../modules/ROOT/pages/jbpm-component.adoc         |   5 +-
 .../modules/ROOT/pages/jcache-component.adoc       |   2 +-
 .../modules/ROOT/pages/jclouds-component.adoc      |  62 +++++-----
 .../modules/ROOT/pages/jcr-component.adoc          |   3 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |   8 +-
 .../modules/ROOT/pages/jetty-component.adoc        |  35 +++---
 .../modules/ROOT/pages/jgroups-component.adoc      |   2 +-
 .../modules/ROOT/pages/jgroups-raft-component.adoc |   4 +-
 .../modules/ROOT/pages/jibx-dataformat.adoc        |   2 +-
 .../modules/ROOT/pages/jing-component.adoc         |   7 +-
 .../modules/ROOT/pages/jira-component.adoc         |   2 +-
 .../modules/ROOT/pages/jms-component.adoc          |  28 +++--
 .../modules/ROOT/pages/jmx-component.adoc          |  17 ++-
 .../modules/ROOT/pages/jolt-component.adoc         |   3 +-
 .../modules/ROOT/pages/jpa-component.adoc          |  11 +-
 .../ROOT/pages/json-jackson-dataformat.adoc        |   8 +-
 .../ROOT/pages/json-johnzon-dataformat.adoc        |   2 +-
 .../ROOT/pages/json-validator-component.adoc       |   6 +-
 .../modules/ROOT/pages/jsonpath-language.adoc      |  28 ++---
 .../modules/ROOT/pages/jt400-component.adoc        |   8 +-
 .../modules/ROOT/pages/jxpath-language.adoc        |   9 +-
 .../modules/ROOT/pages/kafka-component.adoc        |  60 ++++++----
 .../modules/ROOT/pages/kestrel-component.adoc      |   3 +-
 .../modules/ROOT/pages/krati-component.adoc        |  10 +-
 .../modules/ROOT/pages/kubernetes-component.adoc   |  30 ++---
 .../pages/kubernetes-config-maps-component.adoc    |   4 +-
 .../pages/kubernetes-deployments-component.adoc    |   4 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |   4 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |   4 +-
 .../pages/kubernetes-namespaces-component.adoc     |   4 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |   4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   4 +-
 .../kubernetes-persistent-volumes-component.adoc   |   4 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |   4 +-
 ...bernetes-replication-controllers-component.adoc |   4 +-
 .../kubernetes-resources-quota-component.adoc      |   4 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |   4 +-
 .../kubernetes-service-accounts-component.adoc     |   4 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |   4 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc |  26 ++---
 docs/components/modules/ROOT/pages/kura.adoc       |  51 +++-----
 .../modules/ROOT/pages/ldap-component.adoc         |   6 +-
 .../modules/ROOT/pages/ldif-component.adoc         |  12 +-
 docs/components/modules/ROOT/pages/leveldb.adoc    |  35 ++----
 .../modules/ROOT/pages/linkedin-component.adoc     |   2 +-
 .../modules/ROOT/pages/lpr-component.adoc          |  35 ++++--
 docs/components/modules/ROOT/pages/lra.adoc        |   5 +-
 .../modules/ROOT/pages/lucene-component.adoc       |   2 +-
 .../modules/ROOT/pages/lumberjack-component.adoc   |   2 +-
 .../modules/ROOT/pages/lzf-dataformat.adoc         |   2 +-
 .../modules/ROOT/pages/mail-component.adoc         |  11 +-
 .../modules/ROOT/pages/master-component.adoc       |   1 -
 .../modules/ROOT/pages/metrics-component.adoc      |  12 +-
 .../modules/ROOT/pages/micrometer-component.adoc   |  21 ++--
 .../modules/ROOT/pages/milo-client-component.adoc  |  15 ++-
 .../modules/ROOT/pages/milo-server-component.adoc  |  11 +-
 .../ROOT/pages/mime-multipart-dataformat.adoc      |   3 +-
 .../modules/ROOT/pages/mina-component.adoc         |  11 +-
 .../modules/ROOT/pages/mina2-component.adoc        |  12 +-
 .../modules/ROOT/pages/mllp-component.adoc         |  14 +--
 .../modules/ROOT/pages/mongodb-component.adoc      | 107 +++++++----------
 .../ROOT/pages/mongodb-gridfs-component.adoc       |   2 +-
 .../modules/ROOT/pages/mongodb3-component.adoc     |  48 +++-----
 .../modules/ROOT/pages/mqtt-component.adoc         |   3 +-
 .../modules/ROOT/pages/msv-component.adoc          |   5 +-
 .../modules/ROOT/pages/mustache-component.adoc     |   3 +-
 .../modules/ROOT/pages/mvel-component.adoc         |   3 +-
 .../modules/ROOT/pages/mvel-language.adoc          |   5 +-
 .../modules/ROOT/pages/mybatis-bean-component.adoc |  11 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |   8 +-
 .../modules/ROOT/pages/nagios-component.adoc       |   5 +-
 .../modules/ROOT/pages/nats-component.adoc         |   2 +-
 .../modules/ROOT/pages/netty-component.adoc        |  17 +--
 .../modules/ROOT/pages/netty-http-component.adoc   |  34 +++---
 .../modules/ROOT/pages/netty4-component.adoc       |  28 ++---
 .../modules/ROOT/pages/netty4-http-component.adoc  |  17 +--
 .../modules/ROOT/pages/nsq-component.adoc          |   3 -
 .../modules/ROOT/pages/ognl-language.adoc          |   5 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |   4 +-
 .../modules/ROOT/pages/olingo4-component.adoc      |   4 +-
 .../pages/openshift-build-configs-component.adoc   |   4 +-
 .../ROOT/pages/openshift-builds-component.adoc     |   2 +-
 .../modules/ROOT/pages/openshift-component.adoc    |   3 +-
 .../ROOT/pages/openstack-cinder-component.adoc     |   5 +-
 .../ROOT/pages/openstack-glance-component.adoc     |   5 +-
 .../ROOT/pages/openstack-keystone-component.adoc   |   5 +-
 .../ROOT/pages/openstack-neutron-component.adoc    |   6 +-
 .../ROOT/pages/openstack-nova-component.adoc       |   5 +-
 .../ROOT/pages/openstack-swift-component.adoc      |   5 +-
 docs/components/modules/ROOT/pages/openstack.adoc  |  19 ++-
 .../components/modules/ROOT/pages/opentracing.adoc |   2 +-
 .../modules/ROOT/pages/optaplanner-component.adoc  |   6 +-
 .../modules/ROOT/pages/paho-component.adoc         |   2 +-
 .../modules/ROOT/pages/paxlogging-component.adoc   |   2 +-
 .../modules/ROOT/pages/pdf-component.adoc          |   3 +-
 .../modules/ROOT/pages/pgevent-component.adoc      |   5 +-
 .../modules/ROOT/pages/pgp-dataformat.adoc         |   9 +-
 .../modules/ROOT/pages/php-language.adoc           |  17 +--
 .../modules/ROOT/pages/protobuf-dataformat.adoc    |  12 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |   4 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |   2 +-
 .../modules/ROOT/pages/python-language.adoc        |  17 +--
 .../modules/ROOT/pages/quartz-component.adoc       |  11 +-
 .../modules/ROOT/pages/quartz2-component.adoc      |  36 +++---
 .../modules/ROOT/pages/quickfix-component.adoc     |   5 +-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |  14 +--
 .../ROOT/pages/reactive-streams-component.adoc     |   4 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |  16 +--
 .../modules/ROOT/pages/restlet-component.adoc      |  29 ++---
 docs/components/modules/ROOT/pages/ribbon.adoc     |   3 +-
 .../modules/ROOT/pages/rmi-component.adoc          |   4 -
 .../modules/ROOT/pages/routebox-component.adoc     |   6 +-
 .../modules/ROOT/pages/rss-component.adoc          |   3 +-
 .../modules/ROOT/pages/rss-dataformat.adoc         |   2 +-
 .../modules/ROOT/pages/ruby-language.adoc          |  17 +--
 docs/components/modules/ROOT/pages/ruby.adoc       |  39 +++----
 docs/components/modules/ROOT/pages/rx.adoc         |  15 +--
 docs/components/modules/ROOT/pages/rxjava2.adoc    |   5 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |  49 ++++----
 .../ROOT/pages/sap-netweaver-component.adoc        |   3 +-
 docs/components/modules/ROOT/pages/scala-eip.adoc  |  95 +++++++--------
 .../modules/ROOT/pages/scala-getting-started.adoc  |  12 +-
 .../ROOT/pages/scala-supported-languages.adoc      |   7 +-
 docs/components/modules/ROOT/pages/scala.adoc      |  14 +--
 .../modules/ROOT/pages/schematron-component.adoc   |   2 +-
 .../modules/ROOT/pages/scp-component.adoc          |   5 +-
 docs/components/modules/ROOT/pages/scr.adoc        |   2 +-
 docs/components/modules/ROOT/pages/script.adoc     |  17 +--
 .../modules/ROOT/pages/secureXML-dataformat.adoc   |   3 +-
 .../modules/ROOT/pages/service-component.adoc      |   1 -
 .../modules/ROOT/pages/servicenow-component.adoc   |  60 +++++-----
 .../modules/ROOT/pages/servlet-component.adoc      |  31 +++--
 .../modules/ROOT/pages/servletlistener.adoc        |  64 ++++------
 .../modules/ROOT/pages/sftp-component.adoc         |   2 +-
 docs/components/modules/ROOT/pages/shiro.adoc      |  32 ++---
 .../modules/ROOT/pages/sip-component.adoc          |   8 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |   6 +-
 .../modules/ROOT/pages/sjms-component.adoc         |   5 +-
 .../modules/ROOT/pages/sjms2-component.adoc        |   5 +-
 .../modules/ROOT/pages/slack-component.adoc        |   3 +-
 .../modules/ROOT/pages/smpp-component.adoc         |  15 ++-
 .../modules/ROOT/pages/snmp-component.adoc         |   9 +-
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    |   6 +-
 .../modules/ROOT/pages/solr-component.adoc         |   5 +-
 .../modules/ROOT/pages/spark-component.adoc        |   3 +-
 .../modules/ROOT/pages/spark-rest-component.adoc   |  14 +--
 .../modules/ROOT/pages/spel-language.adoc          |   3 +-
 .../modules/ROOT/pages/splunk-component.adoc       |   6 +-
 .../modules/ROOT/pages/spring-batch-component.adoc |   2 +-
 .../components/modules/ROOT/pages/spring-boot.adoc |   2 +-
 .../modules/ROOT/pages/spring-cloud-consul.adoc    |   5 +-
 .../modules/ROOT/pages/spring-cloud-netflix.adoc   |  19 +--
 .../modules/ROOT/pages/spring-cloud-zookeeper.adoc |   5 +-
 .../modules/ROOT/pages/spring-cloud.adoc           |  20 +---
 .../ROOT/pages/spring-integration-component.adoc   |   3 +-
 .../modules/ROOT/pages/spring-javaconfig.adoc      |  12 +-
 .../modules/ROOT/pages/spring-ldap-component.adoc  |   5 +-
 .../modules/ROOT/pages/spring-redis-component.adoc |   8 +-
 .../modules/ROOT/pages/spring-security.adoc        |  20 ++--
 .../modules/ROOT/pages/spring-ws-component.adoc    |   6 +-
 docs/components/modules/ROOT/pages/spring.adoc     |   6 +-
 .../modules/ROOT/pages/sql-component.adoc          |  69 ++++++-----
 .../modules/ROOT/pages/sql-language.adoc           |  17 +--
 .../modules/ROOT/pages/sql-stored-component.adoc   |  17 ++-
 .../modules/ROOT/pages/ssh-component.adoc          |   3 +-
 .../modules/ROOT/pages/stax-component.adoc         |   6 +-
 .../modules/ROOT/pages/stomp-component.adoc        |   3 +-
 .../modules/ROOT/pages/stream-component.adoc       |  14 ++-
 .../ROOT/pages/string-template-component.adoc      |   3 +-
 .../modules/ROOT/pages/swagger-java.adoc           |  17 +--
 docs/components/modules/ROOT/pages/swagger.adoc    |  27 ++---
 .../modules/ROOT/pages/syslog-dataformat.adoc      |  19 ++-
 .../modules/ROOT/pages/tarfile-dataformat.adoc     |   2 +-
 .../modules/ROOT/pages/telegram-component.adoc     |  18 +--
 .../modules/ROOT/pages/terser-language.adoc        |   3 -
 .../modules/ROOT/pages/test-blueprint.adoc         |   5 +-
 docs/components/modules/ROOT/pages/test-cdi.adoc   |   3 +-
 docs/components/modules/ROOT/pages/test-karaf.adoc |   2 +-
 .../components/modules/ROOT/pages/test-spring.adoc |   8 +-
 docs/components/modules/ROOT/pages/test.adoc       |  50 +++-----
 .../modules/ROOT/pages/testcontainers-spring.adoc  |   6 +-
 .../modules/ROOT/pages/testcontainers.adoc         |   4 +-
 docs/components/modules/ROOT/pages/testng.adoc     |   2 +-
 .../modules/ROOT/pages/thrift-component.adoc       |   3 +-
 .../modules/ROOT/pages/thrift-dataformat.adoc      |   5 +-
 .../modules/ROOT/pages/tidyMarkup-dataformat.adoc  |   2 +-
 .../modules/ROOT/pages/tika-component.adoc         |   2 +-
 .../modules/ROOT/pages/twilio-component.adoc       |   2 +-
 .../modules/ROOT/pages/twitter-component.adoc      |  13 +--
 .../pages/twitter-directmessage-component.adoc     |   2 +-
 .../ROOT/pages/twitter-search-component.adoc       |   2 +-
 .../ROOT/pages/twitter-streaming-component.adoc    |   2 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |   2 +-
 docs/components/modules/ROOT/pages/twitter.adoc    |  25 ++--
 .../ROOT/pages/univocity-csv-dataformat.adoc       |   2 +-
 .../ROOT/pages/univocity-fixed-dataformat.adoc     |   2 +-
 .../ROOT/pages/univocity-tsv-dataformat.adoc       |   2 +-
 docs/components/modules/ROOT/pages/urlrewrite.adoc |  54 +++------
 .../modules/ROOT/pages/velocity-component.adoc     |   9 +-
 .../modules/ROOT/pages/vertx-component.adoc        |   3 +-
 .../modules/ROOT/pages/weather-component.adoc      |   2 +-
 .../modules/ROOT/pages/web3j-component.adoc        |   4 +-
 .../modules/ROOT/pages/websocket-component.adoc    |   8 +-
 .../ROOT/pages/websocket-jsr356-component.adoc     |   5 -
 .../modules/ROOT/pages/wordpress-component.adoc    |  10 +-
 .../modules/ROOT/pages/xchange-component.adoc      |   2 +-
 .../modules/ROOT/pages/xmlBeans-dataformat.adoc    |   2 +-
 .../modules/ROOT/pages/xmlrpc-component.adoc       |   3 -
 .../modules/ROOT/pages/xmlrpc-dataformat.adoc      |   2 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |   2 +-
 .../modules/ROOT/pages/xmpp-component.adoc         |   6 +-
 .../modules/ROOT/pages/xquery-component.adoc       |   5 +-
 .../modules/ROOT/pages/xquery-language.adoc        |   5 +-
 .../modules/ROOT/pages/xstream-dataformat.adoc     |   2 +-
 .../ROOT/pages/yaml-snakeyaml-dataformat.adoc      |   2 +-
 .../modules/ROOT/pages/yammer-component.adoc       |  16 +--
 .../modules/ROOT/pages/zendesk-component.adoc      |   2 +-
 .../modules/ROOT/pages/zipfile-dataformat.adoc     |  12 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |   5 +-
 .../modules/ROOT/pages/zookeeper-component.adoc    |   6 +-
 .../ROOT/pages/zookeeper-master-component.adoc     |   3 +-
 .../s3/springboot/S3ComponentConfiguration.java    |   3 +-
 .../camel-spring-boot-dependencies/pom.xml         |  56 ++++-----
 713 files changed, 3962 insertions(+), 4268 deletions(-)

diff --git a/camel-core/readme.adoc b/camel-core/readme.adoc
index 1be8cc8..671bdd7 100644
--- a/camel-core/readme.adoc
+++ b/camel-core/readme.adoc
@@ -6,90 +6,18 @@ Components
 
 
 // components: START
-Number of Components: 26 in 1 JAR artifacts (1 deprecated)
+Number of Components: 2 in 1 JAR artifacts (1 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Component | Available From | Description
 
-| link:src/main/docs/bean-component.adoc[Bean] (camel-core) +
-`bean:beanName` | 1.0 | The bean component is for invoking Java beans from Camel.
-
 | link:src/main/docs/binding-component.adoc[Binding] (camel-core) +
 `binding:bindingName:delegateUri` | 2.11 | *deprecated* The binding component is used for as a of wrapping an Endpoint in a contract with a data format.
 
-| link:src/main/docs/browse-component.adoc[Browse] (camel-core) +
-`browse:name` | 1.3 | The browse component is used for viewing the messages received on endpoints that supports BrowsableEndpoint.
-
-| link:src/main/docs/class-component.adoc[Class] (camel-core) +
-`class:beanName` | 2.4 | The Class Component is for invoking Java Classes (Java beans) from Camel.
-
-| link:src/main/docs/controlbus-component.adoc[Control Bus] (camel-core) +
-`controlbus:command:language` | 2.11 | The controlbus component provides easy management of Camel applications based on the Control Bus EIP pattern.
-
-| link:src/main/docs/dataformat-component.adoc[Data Format] (camel-core) +
-`dataformat:name:operation` | 2.12 | The dataformat component is used for working with Data Formats as if it was a regular Component supporting Endpoints and URIs.
-
-| link:src/main/docs/dataset-component.adoc[Dataset] (camel-core) +
-`dataset:name` | 1.3 | The dataset component provides a mechanism to easily perform load & soak testing of your system.
-
-| link:src/main/docs/direct-component.adoc[Direct] (camel-core) +
-`direct:name` | 1.0 | The direct component provides direct, synchronous call to another endpoint from the same CamelContext.
-
-| link:src/main/docs/direct-vm-component.adoc[Direct VM] (camel-core) +
-`direct-vm:name` | 2.10 | The direct-vm component provides direct, synchronous call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/file-component.adoc[File] (camel-core) +
-`file:directoryName` | 1.0 | The file component is used for reading or writing files.
-
-| link:src/main/docs/language-component.adoc[Language] (camel-core) +
-`language:languageName:resourceUri` | 2.5 | The language component allows you to send a message to an endpoint which executes a script by any of the supported Languages in Camel.
-
-| link:src/main/docs/log-component.adoc[Log] (camel-core) +
-`log:loggerName` | 1.1 | The log component logs message exchanges to the underlying logging mechanism.
-
-| link:src/main/docs/mock-component.adoc[Mock] (camel-core) +
-`mock:name` | 1.0 | The mock component is used for testing routes and mediation rules using mocks.
-
-| link:src/main/docs/properties-component.adoc[Properties] (camel-core) +
-`properties:key` | 2.3 | The properties component is used for using property placeholders in endpoint uris.
-
-| link:src/main/docs/ref-component.adoc[Ref] (camel-core) +
-`ref:name` | 1.2 | The ref component is used for lookup of existing endpoints bound in the Registry.
-
-| link:src/main/docs/rest-component.adoc[REST] (camel-core) +
-`rest:method:path:uriTemplate` | 2.14 | The rest component is used for either hosting REST services (consumer) or calling external REST services (producer).
-
-| link:src/main/docs/rest-api-component.adoc[REST API] (camel-core) +
-`rest-api:path/contextIdPattern` | 2.16 | The rest-api component is used for providing Swagger API of the REST services which has been defined using the rest-dsl in Camel.
-
-| link:src/main/docs/saga-component.adoc[Saga] (camel-core) +
-`saga:action` | 2.21 | The saga component provides access to advanced options for managing the flow in the Saga EIP.
-
-| link:src/main/docs/scheduler-component.adoc[Scheduler] (camel-core) +
-`scheduler:name` | 2.15 | The scheduler component is used for generating message exchanges when a scheduler fires.
-
-| link:src/main/docs/seda-component.adoc[SEDA] (camel-core) +
-`seda:name` | 1.1 | The seda component provides asynchronous call to another endpoint from any CamelContext in the same JVM.
-
-| link:src/main/docs/stub-component.adoc[Stub] (camel-core) +
-`stub:name` | 2.10 | The stub component provides a simple way to stub out any physical endpoints while in development or testing.
-
 | link:src/main/docs/test-component.adoc[Test] (camel-core) +
 `test:name` | 1.3 | The test component extends the mock component by on startup to pull messages from another endpoint to set the expected message bodies.
 
-| link:src/main/docs/timer-component.adoc[Timer] (camel-core) +
-`timer:timerName` | 1.0 | The timer component is used for generating message exchanges when a timer fires.
-
-| link:src/main/docs/validator-component.adoc[Validator] (camel-core) +
-`validator:resourceUri` | 1.1 | Validates the payload of a message using XML Schema and JAXP Validation.
-
-| link:src/main/docs/vm-component.adoc[VM] (camel-core) +
-`vm:name` | 1.1 | The vm component provides asynchronous call to another endpoint from the same CamelContext.
-
-| link:src/main/docs/xslt-component.adoc[XSLT] (camel-core) +
-`xslt:resourceUri` | 1.3 | Transforms the message using a XSLT template.
-
 |===
 // components: END
 
@@ -106,7 +34,7 @@ Data Formats
 
 
 // dataformats: START
-Number of Data Formats: 4 in 39 JAR artifacts (6 deprecated)
+Number of Data Formats: 4 in 44 JAR artifacts (6 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
@@ -136,14 +64,12 @@ Expression Languages
 
 
 // languages: START
-Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
+Number of Languages: 8 in 1 JAR artifacts (0 deprecated)
 
 [width="100%",cols="4,1,5",options="header"]
 |===
 | Language | Available From | Description
 
-| link:src/main/docs/bean-language.adoc[Bean method] (camel-core) | 1.3 | To use a Java bean (aka method call) in Camel expressions or predicates.
-
 | link:src/main/docs/constant-language.adoc[Constant] (camel-core) | 1.5 | To use a constant value in Camel expressions or predicates.
 
 | link:src/main/docs/exchangeProperty-language.adoc[ExchangeProperty] (camel-core) | 2.0 | To use a Camel Exchange property in expressions or predicates.
@@ -159,8 +85,6 @@ Number of Languages: 10 in 1 JAR artifacts (0 deprecated)
 | link:src/main/docs/tokenize-language.adoc[Tokenize] (camel-core) | 2.0 | To use Camel message body or header with a tokenizer in Camel expressions or predicates.
 
 | link:src/main/docs/xtokenize-language.adoc[XML Tokenize] (camel-core) | 2.14 | To use Camel message body or header with a XML tokenizer in Camel expressions or predicates.
-
-| link:src/main/docs/xpath-language.adoc[XPath] (camel-core) | 1.1 | To use XPath (XML) in Camel expressions or predicates.
 |===
 // languages: END
 
diff --git a/camel-core/src/main/docs/bean-component.adoc b/camel-core/src/main/docs/bean-component.adoc
index fc5ee8f..f6e16c1 100644
--- a/camel-core/src/main/docs/bean-component.adoc
+++ b/camel-core/src/main/docs/bean-component.adoc
@@ -167,4 +167,4 @@ mechanisms in Camel.
 
 * <<class-component,Class>> component
 * Bean Binding
-* Bean Integration
\ No newline at end of file
+* Bean Integration
diff --git a/camel-core/src/main/docs/binding-component.adoc b/camel-core/src/main/docs/binding-component.adoc
index 8491fb9..bc3d1ef 100644
--- a/camel-core/src/main/docs/binding-component.adoc
+++ b/camel-core/src/main/docs/binding-component.adoc
@@ -128,4 +128,4 @@ BindingComponent to wrap the endpoints in the binding of your choice.
 
 So bindings are a composition tool really; only use them when they make
 sense - the extra complexity may not be worth it unless you have lots of
-routes or endpoints.
\ No newline at end of file
+routes or endpoints.
diff --git a/camel-core/src/main/docs/browse-component.adoc b/camel-core/src/main/docs/browse-component.adoc
index d54de75..1bd286c 100644
--- a/camel-core/src/main/docs/browse-component.adoc
+++ b/camel-core/src/main/docs/browse-component.adoc
@@ -93,4 +93,4 @@ public void inspectRecievedOrders() {
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
\ No newline at end of file
+* Getting Started
diff --git a/camel-core/src/main/docs/class-component.adoc b/camel-core/src/main/docs/class-component.adoc
index f2a1618..16f09c3 100644
--- a/camel-core/src/main/docs/class-component.adoc
+++ b/camel-core/src/main/docs/class-component.adoc
@@ -139,4 +139,4 @@ component works in much the same way.
 
 * <<bean-component,Bean>>
 * Bean Binding
-* Bean Integration
\ No newline at end of file
+* Bean Integration
diff --git a/camel-core/src/main/docs/controlbus-component.adoc b/camel-core/src/main/docs/controlbus-component.adoc
index 3ced150..fe9e43e 100644
--- a/camel-core/src/main/docs/controlbus-component.adoc
+++ b/camel-core/src/main/docs/controlbus-component.adoc
@@ -188,4 +188,4 @@ We use `async=true` to stop Camel asynchronously as otherwise we
 would be trying to stop Camel while it was in-flight processing the
 message we sent to the control bus component.
 
-TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
\ No newline at end of file
+TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
diff --git a/camel-core/src/main/docs/dataformat-component.adoc b/camel-core/src/main/docs/dataformat-component.adoc
index d40b981..5ed8323 100644
--- a/camel-core/src/main/docs/dataformat-component.adoc
+++ b/camel-core/src/main/docs/dataformat-component.adoc
@@ -82,4 +82,4 @@ And in XML DSL you do:
     <to uri="mqseries:Another.Queue"/>
   </route>
 </camelContext>
-----
\ No newline at end of file
+----
diff --git a/camel-core/src/main/docs/dataset-component.adoc b/camel-core/src/main/docs/dataset-component.adoc
index 01609ba..e1e5176 100644
--- a/camel-core/src/main/docs/dataset-component.adoc
+++ b/camel-core/src/main/docs/dataset-component.adoc
@@ -222,4 +222,4 @@ the bodies from a file.
 
 |`delimiter` |`String` |\z |Specifies the delimiter pattern used by a `java.util.Scanner` to split
 the file into multiple payloads.
-|===
\ No newline at end of file
+|===
diff --git a/camel-core/src/main/docs/direct-component.adoc b/camel-core/src/main/docs/direct-component.adoc
index fb68437..7cb68cb 100644
--- a/camel-core/src/main/docs/direct-component.adoc
+++ b/camel-core/src/main/docs/direct-component.adoc
@@ -121,4 +121,4 @@ be used together.
 === See Also
 
 * <<seda-component,SEDA>>
-* <<vm-component,VM>>
\ No newline at end of file
+* <<vm-component,VM>>
diff --git a/camel-core/src/main/docs/direct-vm-component.adoc b/camel-core/src/main/docs/direct-vm-component.adoc
index f47e956..f7f26e7 100644
--- a/camel-core/src/main/docs/direct-vm-component.adoc
+++ b/camel-core/src/main/docs/direct-vm-component.adoc
@@ -139,4 +139,4 @@ And the sample using spring DSL:
 
 * <<direct-component,Direct>>
 * <<seda-component,SEDA>>
-* <<vm-component,VM>>
\ No newline at end of file
+* <<vm-component,VM>>
diff --git a/camel-core/src/main/docs/file-component.adoc b/camel-core/src/main/docs/file-component.adoc
index f49087b..3283a60 100644
--- a/camel-core/src/main/docs/file-component.adoc
+++ b/camel-core/src/main/docs/file-component.adoc
@@ -1132,4 +1132,4 @@ problems.
 
 * <<file-language,File Language>>
 * FTP
-* Polling Consumer
\ No newline at end of file
+* Polling Consumer
diff --git a/camel-core/src/main/docs/language-component.adoc b/camel-core/src/main/docs/language-component.adoc
index 8ff9fd9..241b13d 100644
--- a/camel-core/src/main/docs/language-component.adoc
+++ b/camel-core/src/main/docs/language-component.adoc
@@ -131,4 +131,4 @@ updated script is used:
 
 From *Camel 2.11* onwards you can refer to the resource similar to the
 other <<language-component,Language>>s in Camel by prefixing with
-`"resource:"` as shown below:
\ No newline at end of file
+`"resource:"` as shown below:
diff --git a/camel-core/src/main/docs/log-component.adoc b/camel-core/src/main/docs/log-component.adoc
index eaedc11..f209209 100644
--- a/camel-core/src/main/docs/log-component.adoc
+++ b/camel-core/src/main/docs/log-component.adoc
@@ -327,4 +327,4 @@ reference it using `logger` URI parameter.
 === See Also
 
 * LogEIP for using `log` directly in the DSL for human
-logs.
\ No newline at end of file
+logs.
diff --git a/camel-core/src/main/docs/mock-component.adoc b/camel-core/src/main/docs/mock-component.adoc
index e816fbc..857595f 100644
--- a/camel-core/src/main/docs/mock-component.adoc
+++ b/camel-core/src/main/docs/mock-component.adoc
@@ -484,4 +484,4 @@ In the example above we use `seconds` as the time unit, but Camel offers
 === See Also
 
 * Spring Testing
-* Testing
\ No newline at end of file
+* Testing
diff --git a/camel-core/src/main/docs/properties-component.adoc b/camel-core/src/main/docs/properties-component.adoc
index 3a8c629..d19767a 100644
--- a/camel-core/src/main/docs/properties-component.adoc
+++ b/camel-core/src/main/docs/properties-component.adoc
@@ -1003,4 +1003,4 @@ pc.addFunction(new MyBeerFunction());
 
 * <<properties-component,Properties>> component
 * Jasypt for using encrypted values (eg passwords) in
-the properties
\ No newline at end of file
+the properties
diff --git a/camel-core/src/main/docs/ref-component.adoc b/camel-core/src/main/docs/ref-component.adoc
index eb739af..93a0f91 100644
--- a/camel-core/src/main/docs/ref-component.adoc
+++ b/camel-core/src/main/docs/ref-component.adoc
@@ -100,4 +100,4 @@ You could, of course, have used the `ref` attribute instead:
 <to ref="endpoint2"/>
 ----
 
-Which is the more common way to write it.
\ No newline at end of file
+Which is the more common way to write it.
diff --git a/camel-core/src/main/docs/rest-api-component.adoc b/camel-core/src/main/docs/rest-api-component.adoc
index 1f790d7..ba7ab06 100644
--- a/camel-core/src/main/docs/rest-api-component.adoc
+++ b/camel-core/src/main/docs/rest-api-component.adoc
@@ -53,4 +53,4 @@ with the following path and query parameters:
 === See Also
 
 * Rest DSL
-* Swagger Java
\ No newline at end of file
+* Swagger Java
diff --git a/camel-core/src/main/docs/rest-component.adoc b/camel-core/src/main/docs/rest-component.adoc
index 14cb433..0452149 100644
--- a/camel-core/src/main/docs/rest-component.adoc
+++ b/camel-core/src/main/docs/rest-component.adoc
@@ -248,4 +248,4 @@ containers.
 === See Also
 
 * Rest DSL
-* <<servlet-component,SERVLET>>
\ No newline at end of file
+* <<servlet-component,SERVLET>>
diff --git a/camel-core/src/main/docs/saga-component.adoc b/camel-core/src/main/docs/saga-component.adoc
index f0ba7b2..07c5f4e 100644
--- a/camel-core/src/main/docs/saga-component.adoc
+++ b/camel-core/src/main/docs/saga-component.adoc
@@ -51,4 +51,4 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
-// endpoint options: END
\ No newline at end of file
+// endpoint options: END
diff --git a/camel-core/src/main/docs/scheduler-component.adoc b/camel-core/src/main/docs/scheduler-component.adoc
index d88873b..cba1bbc 100644
--- a/camel-core/src/main/docs/scheduler-component.adoc
+++ b/camel-core/src/main/docs/scheduler-component.adoc
@@ -162,4 +162,4 @@ exchange.
 === See Also
 
 * <<timer-component,Timer>>
-* <<quartz-component,Quartz>>
\ No newline at end of file
+* <<quartz-component,Quartz>>
diff --git a/camel-core/src/main/docs/seda-component.adoc b/camel-core/src/main/docs/seda-component.adoc
index 0bd9cc6..05c7010 100644
--- a/camel-core/src/main/docs/seda-component.adoc
+++ b/camel-core/src/main/docs/seda-component.adoc
@@ -250,4 +250,4 @@ int size = seda.getExchanges().size();
 * <<vm-component,VM>>
 * <<disruptor-component,Disruptor>>
 * <<direct-component,Direct>>
-* Async
\ No newline at end of file
+* Async
diff --git a/camel-core/src/main/docs/stub-component.adoc b/camel-core/src/main/docs/stub-component.adoc
index 35efc93..3354f74 100644
--- a/camel-core/src/main/docs/stub-component.adoc
+++ b/camel-core/src/main/docs/stub-component.adoc
@@ -100,4 +100,4 @@ Here are a few samples of stubbing endpoint uris
 ----
 stub:smtp://somehost.foo.com?user=whatnot&something=else
 stub:http://somehost.bar.com/something
-----
\ No newline at end of file
+----
diff --git a/camel-core/src/main/docs/test-component.adoc b/camel-core/src/main/docs/test-component.adoc
index a6baf0c..6d2bebd 100644
--- a/camel-core/src/main/docs/test-component.adoc
+++ b/camel-core/src/main/docs/test-component.adoc
@@ -120,4 +120,4 @@ To see how you can set other expectations on the test endpoint, see the
 
 === See Also
 
-* Spring Testing
\ No newline at end of file
+* Spring Testing
diff --git a/camel-core/src/main/docs/timer-component.adoc b/camel-core/src/main/docs/timer-component.adoc
index 68b020f..92f13d4 100644
--- a/camel-core/src/main/docs/timer-component.adoc
+++ b/camel-core/src/main/docs/timer-component.adoc
@@ -168,4 +168,4 @@ starting the route. To do that you use the repeatCount option as shown:
 === See Also
 
 * <<scheduler-component,Scheduler>>
-* <<quartz-component,Quartz>>
\ No newline at end of file
+* <<quartz-component,Quartz>>
diff --git a/camel-core/src/main/docs/validator-component.adoc b/camel-core/src/main/docs/validator-component.adoc
index ebde1e1..cccf047 100644
--- a/camel-core/src/main/docs/validator-component.adoc
+++ b/camel-core/src/main/docs/validator-component.adoc
@@ -121,4 +121,4 @@ Since *Camel 2.17*, you can force that the cached schema in the
 validator endpoint is cleared and reread with the next process call with
 the JMX operation `clearCachedSchema. `You can also use this method to
 programmatically clear the cache. This method is available on the
-`ValidatorEndpoint `class`.`
\ No newline at end of file
+`ValidatorEndpoint `class`.`
diff --git a/camel-core/src/main/docs/vm-component.adoc b/camel-core/src/main/docs/vm-component.adoc
index c0e2909..40ad802 100644
--- a/camel-core/src/main/docs/vm-component.adoc
+++ b/camel-core/src/main/docs/vm-component.adoc
@@ -145,4 +145,4 @@ from("vm:order.email").bean(MyOrderEmailSender.class);
 
 === See Also
 
-* <<seda-component,Seda>>
\ No newline at end of file
+* <<seda-component,Seda>>
diff --git a/camel-core/src/main/docs/xslt-component.adoc b/camel-core/src/main/docs/xslt-component.adoc
index 1c133b5..30198ee 100644
--- a/camel-core/src/main/docs/xslt-component.adoc
+++ b/camel-core/src/main/docs/xslt-component.adoc
@@ -365,4 +365,4 @@ Hope this post saves newbie Camel riders some time.
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
\ No newline at end of file
+* Getting Started
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 948565b..674ec75 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -7,8 +7,9 @@
 The *ahc-ws* component provides Websocket
 based endpoints for a client communicating with
 external servers over Websocket (as a client opening a websocket
-connection to an external server). +
-The component uses the <<ahc-component,AHC>> component that in turn uses
+connection to an external server).
+
+The component uses the xref:ahc-component.adoc[AHC] component that in turn uses
 the https://github.com/AsyncHttpClient/async-http-client[Async Http
 Client] library.
 
@@ -73,7 +74,7 @@ ahc-ws:httpUri
 
 with the following path and query parameters:
 
-== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -83,7 +84,7 @@ with the following path and query parameters:
 |===
 
 
-== Query Parameters (18 parameters):
+=== Query Parameters (18 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index 0064876..3b72c66 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -235,11 +235,16 @@ response
 == Calling using GET or POST
 
 The following algorithm is used to determine if either `GET` or `POST`
-HTTP method should be used: +
- 1. Use method provided in header. +
- 2. `GET` if query string is provided in header. +
- 3. `GET` if endpoint is configured with a query string. +
- 4. `POST` if there is data to send (body is not null). +
+HTTP method should be used:
+
+ 1. Use method provided in header.
+
+ 2. `GET` if query string is provided in header.
+
+ 3. `GET` if endpoint is configured with a query string.
+
+ 4. `POST` if there is data to send (body is not null).
+
  5. `GET` otherwise.
 
 == Configuring URI to call
@@ -381,7 +386,8 @@ Exchange exchange = template.send("ahc:http://www.google.com/search", new Proces
 == Configuring AsyncHttpClient
 
 The `AsyncHttpClient` client uses a `AsyncHttpClientConfig` to configure
-the client. See the documentation at +
+the client. See the documentation at
+
  http://github.com/sonatype/async-http-client[Async Http Client] for
 more details.
 
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index 243e313..5027036 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -6,7 +6,8 @@
 
 The *apns* component is used for sending notifications to iOS devices.
 The apns components use https://github.com/notnoop/java-apns[javapns]
-library. +
+library.
+
  The component supports sending notifications to Apple Push Notification
 Servers (APNS) and consuming feedback from the servers.
 
@@ -334,4 +335,3 @@ from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
     .to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
     .to("mock:result");
 --------------------------------------------------------------------------
-
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index e8a3c1a..7619ed3 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -35,7 +35,7 @@ apiName can be one of:
 * server
 
 
-=== AS2 Options
+== AS2 Options
 
 
 // component options: START
@@ -166,7 +166,7 @@ The component supports 29 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Client Endpoints:
+== Client Endpoints:
 
 Client endpoints use the endpoint prefix *`client`* followed by the name of a method
 and associated options described next. The endpoint URI MUST contain the prefix *`client`*.
@@ -236,7 +236,7 @@ URI Options for _client_
 |===
 
 
-=== Server Endpoints:
+== Server Endpoints:
 
 Server endpoints use the endpoint prefix *`server`* followed by the name of a method
 and associated options described next. The endpoint URI MUST contain the prefix *`server`*.
@@ -283,4 +283,4 @@ URI Options for _server_
 |Name |Type
 
 |requestUriPattern |String
-|===
\ No newline at end of file
+|===
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index 7d8f675..3f0db0e 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -74,7 +74,7 @@ from("direct:unmarshal").unmarshal(asn1).split(body(Iterator.class)).streaming()
 
 In the last example we unmarshal BER file payload to plain old Java Objects using Split EIP. The reason for applying Split EIP is already mentioned in the previous example. Please note and keep in mind that reason. In such example we also need to set the fully qualified name of the class or <YourObject>.class reference through data format.
 The important thing to note here is that your object should have been generated by jasn1 compiler which is a nice tool to generate java object representations of your ASN.1 structure. For the reference usage of jasn1 compiler see [JASN.1 Project Page](https://www.openmuc.org/asn1/) and please also see how the compiler is invoked with the help of maven's exec plugin.
-For example, in this data format's unit tests an example ASN.1 structure(TestSMSBerCdr.asn1) is added in `src/test/resources/asn1_structure`. jasn1 compiler is invoked and java object's representations are generated in `${basedir}/target/generated/src/test/java`
+For example, in this data format's unit tests an example ASN.1 structure(TestSMSBerCdr.asn1) is added in `src/test/resources/asn1_structure`. jasn1 compiler is invoked and java object's representations are generated in `$\{basedir\}/target/generated/src/test/java`
 The nice thing about this example, you will get POJO instance at the mock endpoint or at whatever your endpoint is.    
 
 [source,java]
@@ -103,4 +103,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------
diff --git a/components/camel-asterisk/src/main/docs/asterisk-component.adoc b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
index a6c82f2..d66424f 100644
--- a/components/camel-asterisk/src/main/docs/asterisk-component.adoc
+++ b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
@@ -103,4 +103,4 @@ Supported actions are:
 
 * QUEUE_STATUS, Queue Status
 * SIP_PEERS, List SIP Peers
-* EXTENSION_STATE, Check Extension Status
\ No newline at end of file
+* EXTENSION_STATE, Check Extension Status
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index 0b74584..f0f7d04 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -178,4 +178,3 @@ exhange
 -------------------------------
 DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH;
 -------------------------------
-
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index e8eb325..a8a6a2f 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -7,14 +7,14 @@
 The *atmosphere-websocket:* component provides Websocket
 based endpoints for a servlet communicating with
 external clients over Websocket (as a servlet accepting websocket
-connections from external clients). +
-The component uses the <<servlet-component,SERVLET>> component and uses
+connections from external clients).
+
+The component uses the xref:servlet-component.adoc[Servlet component] component and uses
 the https://github.com/Atmosphere/atmosphere[Atmosphere] library to
 support the Websocket transport in various Servlet containers (e..g.,
 Jetty, Tomcat, ...).
 
-Unlike the
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
+Unlike the xref:websocket-component.adoc[Websocket]
 component that starts the embedded Jetty server, this component uses the
 servlet provider of the container.
 
@@ -219,4 +219,3 @@ And the equivalent Spring sample:
 ------------------------------------------------------------
 
  
-
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index add1ded..6c456a1 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -6,7 +6,8 @@
 
 The *atom:* component is used for polling Atom feeds.
 
-Camel will poll the feed every 60 seconds by default. +
+Camel will poll the feed every 60 seconds by default.
+
  *Note:* The component currently only supports polling (consuming)
 feeds.
 
@@ -170,4 +171,3 @@ from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds")
 In this sample we want to filter only good blogs we like to a SEDA
 queue. The sample also shows how to setup Camel standalone, not running
 in any Container or using Spring.
-
diff --git a/components/camel-atomix/src/main/docs/atomix-map-component.adoc b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
index 36298e0..333c1a8 100644
--- a/components/camel-atomix/src/main/docs/atomix-map-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
@@ -225,4 +225,4 @@ FluentProducerTemplate.on(context)
     .withBody(val)
     .to("direct:start")
     .send();
-----
\ No newline at end of file
+----
diff --git a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
index 072de61..edb4b76 100644
--- a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
@@ -121,4 +121,4 @@ The component supports 10 options, which are listed below.
 | *camel.component.atomix-messaging.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-messaging.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
index d058e1e..ba913da 100644
--- a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
@@ -119,4 +119,4 @@ The component supports 9 options, which are listed below.
 | *camel.component.atomix-multimap.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-multimap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
index 56cda04..28614a7 100644
--- a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
@@ -115,4 +115,4 @@ The component supports 7 options, which are listed below.
 | *camel.component.atomix-queue.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-set-component.adoc b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
index db63d9d..127384e 100644
--- a/components/camel-atomix/src/main/docs/atomix-set-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
@@ -117,4 +117,4 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-set.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-atomix/src/main/docs/atomix-value-component.adoc b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
index 95fc702..ed53ca8 100644
--- a/components/camel-atomix/src/main/docs/atomix-value-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
@@ -117,4 +117,4 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-value.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-value.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-avro/src/main/docs/avro-component.adoc b/components/camel-avro/src/main/docs/avro-component.adoc
index bd311af..468b5cb 100644
--- a/components/camel-avro/src/main/docs/avro-component.adoc
+++ b/components/camel-avro/src/main/docs/avro-component.adoc
@@ -345,4 +345,4 @@ task:
 In the example above, get takes only one parameter, so `singleParameter`
 is used and `getProcessor` will receive Value class directly in body,
 while `putProcessor` will receive an array of size 2 with String key and
-Value value filled as array contents.
\ No newline at end of file
+Value value filled as array contents.
diff --git a/components/camel-aws/src/main/docs/aws-cw-component.adoc b/components/camel-aws/src/main/docs/aws-cw-component.adoc
index 422ade8..37d1804 100644
--- a/components/camel-aws/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-cw-component.adoc
@@ -22,7 +22,8 @@ http://aws.amazon.com/cloudwatch/[Amazon CloudWatch].
 aws-cw://namespace[?options]
 ----------------------------
 
-The metrics will be created if they don't already exists. +
+The metrics will be created if they don't already exists.
+
  You can append query options to the URI in the following format,
 `?options=value&option2=value&...`
 
@@ -206,6 +207,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.10 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.10 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index d77b095..5c62544 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -246,13 +246,13 @@ processed with the current response.
 |=======================================================================
 |Header |Type |Description
 
-|`CamelAwsDdbProvisionedThroughput` |{{ProvisionedThroughputDescription}} |The value of the ProvisionedThroughput property for this table
+|`CamelAwsDdbProvisionedThroughput` |{\{ProvisionedThroughputDescription\}} |The value of the ProvisionedThroughput property for this table
 
 |`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
 
 |`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
 
-|`CamelAwsDdbKeySchema` |{{KeySchema}} |The KeySchema that identifies the primary key for this table.
+|`CamelAwsDdbKeySchema` |{\{KeySchema\}} |The KeySchema that identifies the primary key for this table.
 *From Camel 2.16.0 the type of this header is List<KeySchemaElement> and
 not KeySchema*
 
@@ -377,6 +377,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.10 or higher).
-
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
index 425c47f..150d1f4 100644
--- a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
@@ -20,7 +20,8 @@ at http://aws.amazon.com/dynamodb/[AWS DynamoDB]
 aws-ddbstream://table-name[?options]
 ------------------------------------
 
-The stream needs to be created prior to it being used. +
+The stream needs to be created prior to it being used.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -232,6 +233,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.7 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.7 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ec2-component.adoc b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
index 6097524..73a28d1 100644
--- a/components/camel-aws/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
@@ -172,6 +172,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc
index 4fbcee0..69b61cb 100644
--- a/components/camel-aws/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc
@@ -172,6 +172,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
index efc0659..5bd7d89 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
@@ -20,7 +20,8 @@ at http://aws.amazon.com/kinesis/[AWS Kinesis]
 aws-kinesis://stream-name[?options]
 -----------------------------------
 
-The stream needs to be created prior to it being used. +
+The stream needs to be created prior to it being used.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -261,6 +262,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.17 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.17 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
index f7ce451..84eee4f 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -19,7 +19,8 @@ at https://aws.amazon.com/kinesis/firehose/[AWS Kinesis Firehose]
 aws-kinesis-firehose://delivery-stream-name[?options]
 -----------------------------------
 
-The stream needs to be created prior to it being used. +
+The stream needs to be created prior to it being used.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -197,6 +198,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.19 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.19 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kms-component.adoc b/components/camel-aws/src/main/docs/aws-kms-component.adoc
index 4b6d16b..6548c91 100644
--- a/components/camel-aws/src/main/docs/aws-kms-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kms-component.adoc
@@ -170,6 +170,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
index 1f5730e..b2516fb 100644
--- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
@@ -227,6 +227,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-mq-component.adoc b/components/camel-aws/src/main/docs/aws-mq-component.adoc
index 8698b34..c5d54ce 100644
--- a/components/camel-aws/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-mq-component.adoc
@@ -171,6 +171,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.16 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.16 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-s3-component.adoc b/components/camel-aws/src/main/docs/aws-s3-component.adoc
index 9b22943..96224cb 100644
--- a/components/camel-aws/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-s3-component.adoc
@@ -20,7 +20,8 @@ http://aws.amazon.com/s3[Amazon S3].
 aws-s3://bucketNameOrArn[?options]
 ------------------------------
 
-The bucket will be created if it don't already exists. +
+The bucket will be created if it don't already exists.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -87,7 +88,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *amazonS3Client* (common) | Reference to a com.amazonaws.services.sqs.AmazonS3 in the link:registry.htmlRegistry. |  | AmazonS3
+| *amazonS3Client* (common) | Reference to a com.amazonaws.services.sqs.AmazonS3 in the registry. |  | AmazonS3
 | *pathStyleAccess* (common) | Whether or not the S3 client should use path style access | false | boolean
 | *policy* (common) | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. |  | String
 | *proxyHost* (common) | To define a proxy host when instantiating the SQS client |  | String
@@ -165,7 +166,7 @@ The component supports 34 options, which are listed below.
 | *camel.component.aws-s3.access-key* | Amazon AWS Access Key |  | String
 | *camel.component.aws-s3.configuration.accelerate-mode-enabled* | Define if Accelerate Mode enabled is true or false | false | Boolean
 | *camel.component.aws-s3.configuration.access-key* | Amazon AWS Access Key |  | String
-| *camel.component.aws-s3.configuration.amazon-s3-client* | Reference to a com.amazonaws.services.sqs.AmazonS3 in the link:registry.htmlRegistry. |  | AmazonS3
+| *camel.component.aws-s3.configuration.amazon-s3-client* | Reference to a com.amazonaws.services.sqs.AmazonS3 in the registry. |  | AmazonS3
 | *camel.component.aws-s3.configuration.autoclose-body* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | Boolean
 | *camel.component.aws-s3.configuration.aws-k-m-s-key-id* | Define the id of KMS key to use in case KMS is enabled |  | String
 | *camel.component.aws-s3.configuration.bucket-name* | Name of the bucket. The bucket will be created if it doesn't already exists. |  | String
@@ -409,6 +410,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.8 or higher).
-
diff --git a/components/camel-aws/src/main/docs/aws-sdb-component.adoc b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
index 1b8aa22..3a18fae 100644
--- a/components/camel-aws/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
@@ -244,6 +244,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.8.4 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.8.4 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ses-component.adoc b/components/camel-aws/src/main/docs/aws-ses-component.adoc
index 32af14f..f10bd76 100644
--- a/components/camel-aws/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ses-component.adoc
@@ -207,6 +207,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.8.4 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.8.4 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sns-component.adoc b/components/camel-aws/src/main/docs/aws-sns-component.adoc
index dd01a2c..598cb8e 100644
--- a/components/camel-aws/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sns-component.adoc
@@ -22,7 +22,8 @@ http://aws.amazon.com/sns[Amazon SNS].
 aws-sns://topicNameOrArn[?options]
 -----------------------------
 
-The topic will be created if they don't already exists. +
+The topic will be created if they don't already exists.
+
  You can append query options to the URI in the following format,
 `?options=value&option2=value&...`
 
@@ -202,6 +203,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.8 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.8 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sqs-component.adoc b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
index dfbb2e0..c10fbff 100644
--- a/components/camel-aws/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
@@ -20,7 +20,8 @@ http://aws.amazon.com/sqs[Amazon SQS].
 aws-sqs://queueNameOrArn[?options]
 ------------------------------
 
-The queue will be created if they don't already exists. +
+The queue will be created if they don't already exists.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -314,7 +315,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.6 or higher).
 
 == JMS-style Selectors
@@ -339,5 +340,4 @@ from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&de
 In the above code, if an exchange doesn't have an appropriate header, it
 will not make it through the filter AND also not be deleted from the SQS
 queue. After 5000 miliseconds, the message will become visible to other
-consumers.
-
+consumers.
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-swf-component.adoc b/components/camel-aws/src/main/docs/aws-swf-component.adoc
index 911a91e..b0a6666 100644
--- a/components/camel-aws/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-swf-component.adoc
@@ -181,7 +181,8 @@ workflow, or terminate and cancel it.
 |=======================================================================
 |Header |Type |Description
 
-|`CamelSWFOperation` |`String` |The operation to perform on the workflow. Supported operations are:  +
+|`CamelSWFOperation` |`String` |The operation to perform on the workflow. Supported operations are: 
+
  SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY.
 
 |`CamelSWFWorkflowId` |`String` |A workflow ID to use.
@@ -297,6 +298,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.13 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.13 or higher).
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws.adoc b/components/camel-aws/src/main/docs/aws.adoc
index aef3a44..3add004 100644
--- a/components/camel-aws/src/main/docs/aws.adoc
+++ b/components/camel-aws/src/main/docs/aws.adoc
@@ -1,4 +1,4 @@
-=== Camel Components for Amazon Web Services
+= Camel Components for Amazon Web Services
 
 The Camel Components for http://aws.amazon.com[Amazon Web Services]
 provide connectivity to AWS services from Camel.
diff --git a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
index 74a9379..87dbc14 100644
--- a/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
+++ b/components/camel-aws/src/main/java/org/apache/camel/component/aws/s3/S3Configuration.java
@@ -138,8 +138,7 @@ public class S3Configuration implements Cloneable {
     }
 
     /**
-     * Reference to a `com.amazonaws.services.sqs.AmazonS3` in the
-     * link:registry.html[Registry].
+     * Reference to a `com.amazonaws.services.sqs.AmazonS3` in the registry.
      */
     public void setAmazonS3Client(AmazonS3 amazonS3Client) {
         this.amazonS3Client = amazonS3Client;
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index 279ded5..4ad3565 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -19,7 +19,8 @@ https://docs.microsoft.com/azure/[Azure Documentation Portal].
 azure-blob://accountName/containerName[/blobName][?options]
 ------------------------------
 
-In most cases a blobName is required and the blob will be created if it does not already exist. +
+In most cases a blobName is required and the blob will be created if it does not already exist.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -253,6 +254,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.19.0 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.19.0 or higher).
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index b0b87a7..900a467 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -19,7 +19,8 @@ https://azure.microsoft.com/en-us/free/[Azure Portal].
 azure-queue://accountName/queueName[?options]
 ------------------------------
 
-The queue will be created if it does not already exist. +
+The queue will be created if it does not already exist.
+
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
@@ -206,6 +207,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.19.0 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.19.0 or higher).
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure.adoc b/components/camel-azure/src/main/docs/azure.adoc
index 0961eb7..91e5398 100644
--- a/components/camel-azure/src/main/docs/azure.adoc
+++ b/components/camel-azure/src/main/docs/azure.adoc
@@ -1,5 +1,5 @@
 [[Azure-CamelComponentsforWindowsAzureServices]]
-== Camel Components for Windows Azure Services
+= Camel Components for Windows Azure Services
 
 The Camel Components for https://azure.microsoft.com/[Windows Azure Services]
 provide connectivity to Azure services from Camel.
@@ -9,6 +9,6 @@ provide connectivity to Azure services from Camel.
 |=======================================================================
 |Azure Service |Camel Component |Camel Version | Component Description
 
-|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |<<azure-blob-component,Azure-Blob>> |2.9.0 |Supports storing and retrieving of blobs
-|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |<<azure-queue-component,Azure-Queue>> |2.9.0 |Supports storing and retrieving of messages in the queues
-|=======================================================================
+|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |xref:azure-blob-component.adoc[Azure-Blob] |2.9.0 |Supports storing and retrieving of blobs
+|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |xref:azure-queue-component.adoc[Azure-Queue] |2.9.0 |Supports storing and retrieving of messages in the queues
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-bam/src/main/docs/bam-example.adoc b/components/camel-bam/src/main/docs/bam-example.adoc
index 638b785..e49e237 100644
--- a/components/camel-bam/src/main/docs/bam-example.adoc
+++ b/components/camel-bam/src/main/docs/bam-example.adoc
@@ -53,21 +53,21 @@ the Camel Components
 correlate together the purchase order and invoice messages which can be
 any Expression via any of the
 Languages Supported. In this case we are
-using <<xpath-language,XPath>>.
+using XPath.
 
 Then the final line of code defines the temporal rules to use; namely
 that it is considered to be an error if an invoice is not received
 within 2 seconds of a purchase order being received. When a failure
-occurs in this example we just send it to the <<log-component,Log>>
+occurs in this example we just send it to the log component
 component to log out an error level message to commons-logging / log4j.
 You could change this to use some of the other
 Components such as ActiveMQ,
-<<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
-<<xmpp-component,XMPP>> etc.
+xref:jms-component.adoc[JMS], xref:irc-component.adoc[IRC], xref:mail-component.adoc[Mail],
+xref:xmpp-component.adoc[XMPP] etc.
 
 == Running the example
 
-To run the example we use the link:camel-maven-plugin.html[Camel Maven
+To run the example we use the xref:manual::camel-maven-plugin.adoc[Camel Maven
 Plugin]. For example from the source or binary distribution the
 following should work
 
diff --git a/components/camel-bam/src/main/docs/bam.adoc b/components/camel-bam/src/main/docs/bam.adoc
index 12ed277..de95c72 100644
--- a/components/camel-bam/src/main/docs/bam.adoc
+++ b/components/camel-bam/src/main/docs/bam.adoc
@@ -1,5 +1,5 @@
 [[BAM-BusinessActivityMonitoring]]
-== Business Activity Monitoring
+= Business Activity Monitoring
 
 The *Camel BAM* module provides a Business Activity Monitoring (BAM)
 framework for testing business processes across multiple message
@@ -11,10 +11,9 @@ want to test that, for a given Purchase Order, you receive a matching
 Invoice from system B within a specific time period.
 
 [[BAM-HowCamelBAMWorks]]
-How Camel BAM Works
-^^^^^^^^^^^^^^^^^^^
+== How Camel BAM Works
 
-Camel BAM uses a link:correlation-identifier.html[Correlation
+Camel BAM uses a xref:manual::correlation-identifier.adoc[Correlation
 Identifier] on an input message to determine the _Process Instance_ to
 which it belongs. The process instance is an entity bean which can
 maintain state for each _Activity_ (where an activity typically maps to
@@ -26,8 +25,7 @@ activity - such as to set time expectations or perform real time
 reconciliation of values across activities.
 
 [[BAM-SimpleExample]]
-Simple Example
-^^^^^^^^^^^^^^
+== Simple Example
 
 The following example shows how to perform some time based rules on a
 simple business process of 2 activities - A and B - which correspond
@@ -64,16 +62,14 @@ ProcessBuilder is a RouteBuilder and can be
 added to any CamelContext.
 
 [[BAM-CompleteExample]]
-Complete Example
-^^^^^^^^^^^^^^^^
+== Complete Example
 
-For a complete example please see the link:examples/bam-example.html[BAM
+For a complete example please see the xref:bam-example.adoc[BAM
 Example], which is part of the standard Camel
 Examples
 
 [[BAM-UseCases]]
-Use Cases
-^^^^^^^^^
+== Use Cases
 
 In the world of finance, a common requirement is tracking trades. Often
 a trader will submit a Front Office Trade which then flows through the
diff --git a/components/camel-base64/src/main/docs/base64-dataformat.adoc b/components/camel-base64/src/main/docs/base64-dataformat.adoc
index 62a7e01..fdaf572 100644
--- a/components/camel-base64/src/main/docs/base64-dataformat.adoc
+++ b/components/camel-base64/src/main/docs/base64-dataformat.adoc
@@ -6,7 +6,7 @@
 
 The Base64 data format is used for base64 encoding and decoding.
 
-=== Options
+== Options
 
 // dataformat options: START
 The Base64 dataformat supports 4 options, which are listed below.
@@ -83,7 +83,7 @@ Most of the time, you won't need to declare the data format if you use
 the default options. In that case, you can declare the data format
 inline as shown below.
 
-=== Marshal
+== Marshal
 
 In this example we marshal the file content to base64 object.
 
@@ -105,7 +105,7 @@ In Spring DSL:
  <to uri="jms://myqueue"/> 
 ----
 
-=== Unmarshal
+== Unmarshal
 
 In this example we unmarshal the payload from the JMS queue to a byte[]
 object, before its processed by the newOrder processor.
@@ -128,7 +128,7 @@ In Spring DSL:
  <to uri="bean:newOrder"/> 
 ----
 
-=== Dependencies
+== Dependencies
 
 To use Base64 in your Camel routes you need to add a dependency on
 *camel-base64* which implements this data format.
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index f4d228a..b1f3b07 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -38,7 +38,8 @@ or
 bean-validator://label[?options]
 --------------------------------
 
-Where *label* is an arbitrary text value describing the endpoint. +
+Where *label* is an arbitrary text value describing the endpoint.
+
  You can append query options to the URI in the following format,
 ?option=value&option=value&...
 
@@ -302,7 +303,4 @@ Note that the body should include an instance of a class to validate.
         </route>
     </camelContext>
 </beans>
-----------------------------------------------------------------------------------------------------
-
-
-
+----------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
index 05d284b..3cf60a9 100644
--- a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -80,13 +80,15 @@ file is here].
 === Using Java DSL
 
 To use the `BeanIODataFormat` you need to configure the data format with
-the mapping file, as well the name of the stream. +
+the mapping file, as well the name of the stream.
+
  In Java DSL this can be done as shown below. The streamName is
 "employeeFile".
 
 Then we have two routes. The first route is for transforming CSV data
 into a List<Employee> Java objects. Which we then
-split, so the mock endpoint +
+split, so the mock endpoint
+
  receives a message for each row.
 
 The 2nd route is for the reverse operation, to transform a
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index 29dbce2..6ae062a 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -24,7 +24,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 ------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 == URI format
 
@@ -253,4 +253,4 @@ manually.
 So the second route periodically requests Beanstalk to _kick_ 10 jobs
 out of buried and/or delayed state to the normal queue.
 
- 
+ 
\ No newline at end of file
diff --git a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
index 2bc4e84..1586fc4 100644
--- a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
+++ b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
@@ -3,11 +3,10 @@
 
 *Available as of Camel version 2.0*
 
-*Available as of Camel version 2.0*
-
 
 The goal of this component is to allow the parsing/binding of
-non-structured data (or to be more precise non-XML data) +
+non-structured data (or to be more precise non-XML data)
+
  to/from Java Beans that have binding mappings defined with annotations.
 Using Bindy, you can bind data from sources such as :
 
@@ -56,7 +55,7 @@ From *Camel 2.16* onwards this is no longer the case, as you can safely
 have multiple models in the same package, as you configure bindy using
 class names instead of package names now.
 
-=== Options
+== Options
 
 // dataformat options: START
 The Bindy dataformat supports 5 options, which are listed below.
@@ -120,7 +119,7 @@ ND
 
 
 
-=== Annotations
+== Annotations
 
 The annotations created allow to map different concept of your model to
 the POJO like :
@@ -138,7 +137,7 @@ financial messages),
 
 This section will describe them :
 
-=== 1. CsvRecord
+== 1. CsvRecord
 
 The CsvRecord annotation is used to identified the root class of the
 model. It represents a record = a line of a CSV file and can be linked
@@ -246,11 +245,14 @@ public Class Order {
 *Applies for Camel 2.8.2 or older*
 
 When the field to be parsed of the CSV record contains ',' or ';' which
-is also used as separator, we whould find another strategy +
+is also used as separator, we whould find another strategy
+
  to tell camel bindy how to handle this case. To define the field
-containing the data with a comma, you will use simple or double quotes +
+containing the data with a comma, you will use simple or double quotes
+
  as delimiter (e.g : '10', 'Street 10, NY', 'USA' or "10", "Street 10,
-NY", "USA"). +
+NY", "USA").
+
  Remark : In this case, the first and last character of the line which
 are a simple or double quotes will removed by bindy
 
@@ -333,7 +335,8 @@ As a result, Bindy during the unmarshaling process will generate CSV
 like this :
 
 order id, client id, first name, last name, isin code, instrument name,
-quantity, currency, date +
+quantity, currency, date
+
 
 ----
 10, J, Pauline, M, XD12345678, Fortis Dynamic 15/15, 2500, USD,08-01-2009
@@ -391,7 +394,7 @@ public Class Order {
 Remark : pos is used to parse the file, stream while positions is used
 to generate the CSV
 
-=== 2. Link
+== 2. Link
 
 The link annotation will allow to link objects together.
 
@@ -443,7 +446,7 @@ public class Client {
 }
 ----
 
-=== 3. DataField
+== 3. DataField
 
 The DataField annotation defines the property of the field. Each
 datafield is identified by its position in the record, a type (string,
@@ -737,13 +740,14 @@ public class Order {
 
 This attribute is only applicable to optional fields.
 
-=== 4. FixedLengthRecord
+== 4. FixedLengthRecord
 
 The FixedLengthRecord annotation is used to identified the root class of
 the model. It represents a record = a line of a file/message containing
 data fixed length formatted and can be linked to several children model
 classes. This format is a bit particular beause data of a field can be
-aligned to the right or to the left. +
+aligned to the right or to the left.
+
  When the size of the data does not fill completely the length of the
 field, we can then add 'padd' characters.
 
@@ -1181,7 +1185,7 @@ public static class Order {
 }
 ----
 
-=== 5. Message
+== 5. Message
 
 The Message annotation is used to identified the class of your model who
 will contain key value pairs fields. This kind of format is used mainly
@@ -1262,7 +1266,7 @@ message looks like (src\test\data\fix\fix.txt) and the Order, Trailer,
 Header classes
 (src\test\java\org\apache\camel\dataformat\bindy\model\fix\simple\Order.java)
 
-=== 6. KeyValuePairField
+== 6. KeyValuePairField
 
 The KeyValuePairField annotation defines the property of a key value
 pair field. Each KeyValuePairField is identified by a tag (= key) and
@@ -1358,7 +1362,7 @@ public class Order {
 }
 ----
 
-=== 7. Section
+== 7. Section
 
 In FIX message of fixed length records, it is common to have different
 sections in the representation of the information : header, body and
@@ -1440,7 +1444,7 @@ public class Trailer {
     }
 ----
 
-=== 8. OneToMany
+== 8. OneToMany
 
 The purpose of the annotation @OneToMany is to allow to work with a
 `List<?>` field defined a POJO class or from a record containing
@@ -1574,7 +1578,7 @@ public class Security {
 }
 ----
 
-=== 9. BindyConverter
+== 9. BindyConverter
 
 The purpose of the annotation @BindyConverter is define a converter
 to be used on field level. The provided class must implement the
@@ -1602,7 +1606,7 @@ public static class CustomConverter implements Format<String> {
 }
 ----
 
-=== 10. FormatFactories
+== 10. FormatFactories
 
 The purpose of the annotation @FormatFactories is to define a set of converters
 at record-level. The provided classes must implement the FormatFactoryInterface interface.
@@ -1653,7 +1657,7 @@ public static class OrderNumberFormatFactory extends AbstractFormatFactory {
 }
 ----
 
-=== Supported Datatypes
+== Supported Datatypes
 
 The DefaultFormatFactory makes formatting of the following datatype available by
 returning an instance of the interface FormatFactoryInterface based on the provided
@@ -1679,7 +1683,7 @@ FormattingOptions:
 The DefaultFormatFactory can be overridden by providing an instance of
 FactoryRegistry in the registry in use (e.g. spring or JNDI).
 
-=== Using the Java DSL
+== Using the Java DSL
 
 The next step consists in instantiating the DataFormat _bindy_ class
 associated with this record type and providing Java package name(s) as
@@ -1700,7 +1704,7 @@ DataFormat bindy = new BindyCsvDataFormat("com.acme.model");
 DataFormat bindy = new BindyCsvDataFormat(com.acme.model.MyModel.class);
 ----
 
-==== Setting locale
+=== Setting locale
 
 Bindy supports configuring the locale on the dataformat, such as 
 
@@ -1739,7 +1743,7 @@ BindyCsvDataFormat bindy = new BindyCsvDataFormat(com.acme.model.MyModel.class);
 bindy.setLocale(Locale.getDefault().getISO3Country());
 ----
 
-==== Unmarshaling
+=== Unmarshaling
 
 [source,java]
 ----
@@ -1760,7 +1764,8 @@ from("file://inbox")
 ----
 
 The Camel route will pick-up files in the inbox directory, unmarshall
-CSV records into a collection of model objects and send the collection +
+CSV records into a collection of model objects and send the collection
+
  to the route referenced by 'handleOrders'.
 
 The collection returned is a *List of Map* objects. Each Map within the
@@ -1823,7 +1828,7 @@ from("file://inbox?charset=Cp922")
   .to("direct:handleOrders");
 ----
 
-==== Marshaling
+=== Marshaling
 
 To generate CSV records from a collection of model objects, you create
 the following route :
@@ -1835,7 +1840,7 @@ from("direct:handleOrders")
    .to("file://outbox")
 ----
 
-=== Using Spring XML
+== Using Spring XML
 
 This is really easy to use Spring as your favorite DSL language to
 declare the routes to be used for camel-bindy. The following example
@@ -1890,7 +1895,7 @@ is for using Camel 2.16 onwards.
 NOTE: Please verify that your model classes implements serializable otherwise
 the queue manager will raise an error
 
-=== Dependencies
+== Dependencies
 
 To use Bindy in your camel routes you need to add the a dependency on
 *camel-bindy* which implements this data format.
diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
index 22e022f..416a4d4 100644
--- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
+++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
@@ -30,23 +30,23 @@ for this component:
 </dependency>
 ----
 
-=== Connection Authentication Types
+== Connection Authentication Types
 
 The Box component supports three different types of authenticated connections.
 
-==== Standard Authentication
+=== Standard Authentication
 
 *Standard Authentication* uses the *OAuth 2.0 three-legged authentication process* to authenticate its connections with Box.com. This type of authentication enables Box *managed users* and *external users* to access, edit, and save their Box content through the Box component.
 
-==== App Enterprise Authentication
+=== App Enterprise Authentication
 
 *App Enterprise Authentication* uses the *OAuth 2.0 with JSON Web Tokens (JWT)* to authenticate its connections as a *Service Account* for a *Box Application*. This type of authentication enables a service account to access, edit, and save the Box content of its *Box Application* through the Box component.
 
-==== App User Authentication
+=== App User Authentication
 
 *App User Authentication* uses the *OAuth 2.0 with JSON Web Tokens (JWT)* to authenticate its connections as an *App User* for a *Box Application*. This type of authentication enables app users to access, edit, and save their Box content in its *Box Application* through the Box component.
 
-=== Box Options
+== Box Options
 
 // component options: START
 The Box component supports 2 options, which are listed below.
@@ -152,7 +152,7 @@ The component supports 17 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -173,7 +173,7 @@ apiName can be one of:
 * users
 
 
-=== Producer Endpoints:
+== Producer Endpoints:
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -201,7 +201,7 @@ RuntimeCamelException with a
 *com.box.sdk.BoxAPIException* derived exception
 cause.
 
-==== Endpoint Prefix _collaborations_
+=== Endpoint Prefix _collaborations_
 
 For more information on Box collaborations see
 https://developer.box.com/reference#collaboration-object[https://developer.box.com/reference#collaboration-object]. The
@@ -252,7 +252,7 @@ URI Options for _collaborations_
 |info |com.box.sdk.BoxCollaboration.Info
 |===
 
-==== Endpoint Prefix _comments_
+=== Endpoint Prefix _comments_
 
 For more information on Box comments see
 https://developer.box.com/reference#comment-object[https://developer.box.com/reference#comment-object]. The
@@ -296,7 +296,7 @@ URI Options for _collaborations_
 
 |===
 
-==== Endpoint Prefix _events-logs_
+=== Endpoint Prefix _events-logs_
 
 For more information on Box event logs see
 https://developer.box.com/reference#events[https://developer.box.com/reference#events].
@@ -329,7 +329,7 @@ URI Options for _event-logs_
 |types |com.box.sdk.BoxEvent.Types[]
 |===
 
-==== Endpoint Prefix _files_
+=== Endpoint Prefix _files_
 
 For more information on Box files see
 https://developer.box.com/reference#file-object[https://developer.box.com/reference#file-object].
@@ -449,7 +449,7 @@ URI Options for _files_
 |typeName |String
 |===
 
-==== Endpoint Prefix _folders_
+=== Endpoint Prefix _folders_
 
 For more information on Box folders see
 https://developer.box.com/reference#folder-object[https://developer.box.com/reference#folder-object].
@@ -736,7 +736,7 @@ URI Options for _users_
 |userUpdateLoginRequest |com.box.boxjavalibv2.requests.requestobjects.BoxUserUpdateLoginRequestObject
 |===
 
-=== Consumer Endpoints:
+== Consumer Endpoints:
 
 For more information on Box events see
 https://developer.box.com/reference#events[https://developer.box.com/reference#events].
@@ -764,18 +764,18 @@ URI Options for _events_
 |startingPosition |Long
 |===
 
-=== Message header
+== Message header
 
 Any of the options can be provided in a message header for producer
 endpoints with *CamelBox.* prefix.
 
-=== Message body
+== Message body
 
 All result message bodies utilize objects provided by the Box Java SDK.
 Producer endpoints can specify the option name for incoming message body
 in the *inBody* endpoint parameter.
 
-=== Samples
+== Samples
 
 The following route uploads new files to the user's root folder:
 
@@ -806,4 +806,4 @@ from("direct:foo")
     .setHeader("CamelBox.output", header("output"))
     .to("box://files/download")
     .to("file://...");
-----
\ No newline at end of file
+----
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 2ce3d48..bc7a365 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -397,9 +397,11 @@ braintree://discount/endpoint
 |all |  |  |List<com.braintreegateway.Discount>
 |====================================================
 
- +
 
- +
+
+
+
+
 
 === Endpoint prefix _dispute_
 
@@ -880,5 +882,4 @@ body in the *inBody* endpoint parameter.
     </camelContext>
 
 </blueprint>
---------------------------------------------------------------------------------------------------------------------------------------------
-
+--------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-cache/src/main/docs/cache-component.adoc b/components/camel-cache/src/main/docs/cache-component.adoc
index 91c9e12..60e3bff 100644
--- a/components/camel-cache/src/main/docs/cache-component.adoc
+++ b/components/camel-cache/src/main/docs/cache-component.adoc
@@ -171,7 +171,8 @@ The component supports 17 options, which are listed below.
 * ADD
 * UPDATE
 * DELETE
-* DELETEALL +
+* DELETEALL
+
  `GET` and `CHECK` requires *Camel 2.3* onwards.
 
 |`CACHE_KEY` |The cache key used to store the Message in the cache. The cache key is
@@ -259,15 +260,24 @@ lookups and selectively replace payload content at the
 
 [source,java]
 -------------------------------------------------
-from("cache://MyApplicationCache" +
-          "?maxElementsInMemory=1000" +
-          "&memoryStoreEvictionPolicy=" +
-              "MemoryStoreEvictionPolicy.LFU" +
-          "&overflowToDisk=true" +
-          "&eternal=true" +
-          "&timeToLiveSeconds=300" +
-          "&timeToIdleSeconds=true" +
-          "&diskPersistent=true" +
+from("cache://MyApplicationCache"
+
+          "?maxElementsInMemory=1000"
+
+          "&memoryStoreEvictionPolicy="
+
+              "MemoryStoreEvictionPolicy.LFU"
+
+          "&overflowToDisk=true"
+
+          "&eternal=true"
+
+          "&timeToLiveSeconds=300"
+
+          "&timeToIdleSeconds=true"
+
+          "&diskPersistent=true"
+
           "&diskExpiryThreadIntervalSeconds=300")
 -------------------------------------------------
 
@@ -484,10 +494,3 @@ phase.
 *Note*: It might be useful to read the http://ehcache.org/documentation[EHCache
 manual] to get a better understanding of the Camel Cache replication
 mechanism.
-
-=== Example: JMS cache replication
-
-JMS replication is the most powerful and secured replication method.
-Used together with Camel Cache replication makes it also rather
-simple. An example is available on link:cachereplicationjmsexample.html[a
-separate page].
\ No newline at end of file
diff --git a/components/camel-cassandraql/src/main/docs/cql-component.adoc b/components/camel-cassandraql/src/main/docs/cql-component.adoc
index 98d9bdf..db8d295 100644
--- a/components/camel-cassandraql/src/main/docs/cql-component.adoc
+++ b/components/camel-cassandraql/src/main/docs/cql-component.adoc
@@ -32,7 +32,7 @@ Maven users will need to add the following dependency to their
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 The endpoint can initiate the Cassandra connection or use an existing
 one.
@@ -52,7 +52,7 @@ To fine tune the Cassandra connection (SSL options, pooling options,
 load balancing policy, retry policy, reconnection policy...), create
 your own Cluster instance and give it to the Camel endpoint.
 
-=== Cassandra Options
+== Cassandra Options
 
 
 // component options: START
@@ -148,9 +148,9 @@ The component supports 2 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Messages
+== Messages
 
-==== Incoming Message
+=== Incoming Message
 
 The Camel Cassandra endpoint expects a bunch of simple objects (`Object`
 or `Object[]` or `Collection<Object>`) which will be bound to the CQL
@@ -162,7 +162,7 @@ Headers:
 * `CamelCqlQuery` (optional, `String` or `RegularStatement`): CQL query
 either as a plain String or built using the `QueryBuilder`.
 
-==== Outgoing Message
+=== Outgoing Message
 
 The Camel Cassandra endpoint produces one or many a Cassandra Row
 objects depending on the `resultSetConversionStrategy`:
@@ -175,7 +175,7 @@ objects depending on the `resultSetConversionStrategy`:
 * Anything else, if `resultSetConversionStrategy` is a custom
 implementation of the `ResultSetConversionStrategy`
 
-=== Repositories
+== Repositories
 
 Cassandra can be used to store message keys or messages for the
 idempotent and aggregation EIP.
@@ -186,7 +186,7 @@ anti-patterns queues and queue like datasets]. It's advised to use
 LeveledCompaction and a small GC grace setting for these tables to allow
 tombstoned rows to be removed quickly.
 
-=== Idempotent repository
+== Idempotent repository
 
 The `NamedCassandraIdempotentRepository` stores messages keys in a
 Cassandra table like this:
@@ -228,7 +228,7 @@ Alternatively, the `CassandraIdempotentRepository` does not have a
 `LOCAL_QUORUM`…
 |=======================================================================
 
-=== Aggregation repository
+== Aggregation repository
 
 The `NamedCassandraAggregationRepository` stores exchanges by
 correlation key in a Cassandra table like this:
@@ -273,7 +273,7 @@ Alternatively, the `CassandraAggregationRepository` does not have a
 `LOCAL_QUORUM`…
 |=======================================================================
 
-=== Examples
+== Examples
 
 To insert something on a table you can use the following code:
 
@@ -291,4 +291,4 @@ At this point you should be able to insert data by using a list as body
 Arrays.asList("davsclaus", "Claus", "Ibsen")
 ---------------------------------------------------------
 
-The same approach can be used for updating or querying the table.
\ No newline at end of file
+The same approach can be used for updating or querying the table.
diff --git a/components/camel-cdi/src/main/docs/cdi.adoc b/components/camel-cdi/src/main/docs/cdi.adoc
index 2c14402..0cbd306 100644
--- a/components/camel-cdi/src/main/docs/cdi.adoc
+++ b/components/camel-cdi/src/main/docs/cdi.adoc
@@ -844,6 +844,4 @@ a Camel CDI Maven project, e.g.:
 [source,text]
 ----
 mvn archetype:generate -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-cdi
-----
-
-
+----
\ No newline at end of file
diff --git a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
index 1155057..1cd49b4 100644
--- a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
+++ b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.18*
 
 
-*Available as of Camel version 2.18*
-
-
 The camel chronicle-engine component let you leverage the power of OpenHFT's Chronicle-Engine
 
 == URI Format
@@ -92,4 +89,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.chronicle-engine.enabled* | Enable chronicle-engine component | true | Boolean
 | *camel.component.chronicle-engine.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index e8ca840..72af9f2 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -212,5 +212,4 @@ Thanks for the order of {$headers.item}.
 
 Regards Camel Riders Bookstore
 {$body}
-----------------------------------------------
-
+----------------------------------------------
\ No newline at end of file
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index fd29c97..c5d9ff5 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -164,6 +164,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.11 or higher).
-
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.11 or higher).
\ No newline at end of file
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index a15622f..1100776 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -7,7 +7,8 @@
 The Cometd component is a transport for working with the
 http://www.mortbay.org/jetty[jetty] implementation of the
 http://docs.codehaus.org/display/JETTY/Cometd+%28aka+Bayeux%29[cometd/bayeux
-protocol]. +
+protocol].
+
  Using this component in combination with the dojo toolkit library it's
 possible to push Camel messages directly into the browser using an AJAX
 based mechanism.
@@ -162,7 +163,8 @@ You can append query options to the URI in the following format,
 Here is some examples on How to pass the parameters
 
 For file (for webapp resources located in the Web Application directory
---> cometd://localhost:8080?resourceBase=file./webapp +
+--> cometd://localhost:8080?resourceBase=file./webapp
+
  For classpath (when by example the web resources are packaged inside
 the webapp folder -->
 cometd://localhost:8080?resourceBase=classpath:webapp
@@ -237,4 +239,4 @@ Spring DSL based configuration of endpoint
   </bean>
 ...
   <to uri="cometds://127.0.0.1:443/service/test?baseResource=file:./target/test-classes/webapp&timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2"/>...
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-context/src/main/docs/context-component.adoc b/components/camel-context/src/main/docs/context-component.adoc
index 4f98e0d..d9054d2 100644
--- a/components/camel-context/src/main/docs/context-component.adoc
+++ b/components/camel-context/src/main/docs/context-component.adoc
@@ -9,7 +9,7 @@ CamelContext with a number of routes which is then treated as a black
 box, allowing you to refer to the local endpoints within the component
 from other CamelContexts.
 
-It is similar to the <<routebox-component,Routebox>> component in idea,
+It is similar to the xref:routebox-component.adoc[Routebox] component in idea,
 though the Context component tries to be really simple for end users;
 just a simple convention over configuration approach to refer to local
 endpoints inside the CamelContext Component.
@@ -205,4 +205,4 @@ hide the middleware as shown above.
 
 However when there is only one input, output or error/dead letter
 endpoint in a component we recommend using the common posix shell names
-*in*, *out* and *err*
\ No newline at end of file
+*in*, *out* and *err*
diff --git a/components/camel-corda/src/main/docs/corda-component.adoc b/components/camel-corda/src/main/docs/corda-component.adoc
index bb31e2b..52ce12c 100644
--- a/components/camel-corda/src/main/docs/corda-component.adoc
+++ b/components/camel-corda/src/main/docs/corda-component.adoc
@@ -20,14 +20,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI Format
+== URI Format
 
 [source,text]
 ----
 corda://<host:port>[?options]
 ----
 
-=== Corda Options
+== Corda Options
 
 
 // component options: START
@@ -149,4 +149,4 @@ Read the node information:
 --------------------------------------------------------
 from("direct:start")
     .to("corda://localhost:10006?username=user1&password=test?operation=NODE_INFO");
---------------------------------------------------------
\ No newline at end of file
+--------------------------------------------------------
diff --git a/components/camel-crypto/src/main/docs/crypto-component.adoc b/components/camel-crypto/src/main/docs/crypto-component.adoc
index 35a8fed..24e39a3 100644
--- a/components/camel-crypto/src/main/docs/crypto-component.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-component.adoc
@@ -290,4 +290,4 @@ Exchange signed = getMandatoryEndpoint("direct:alias-sign").createExchange();
 signed.getIn().copyFrom(unsigned.getOut());
 signed.getIn().setHeader(KEYSTORE_ALIAS, "bob");
 template.send("direct:alias-verify", signed);
--------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index 2f9f1b2..df77a6a 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -322,7 +322,7 @@ or with spring.
 
 == Dependencies
 
-To use the <<crypto-component,Crypto>> dataformat in your camel routes you
+To use the xref:crypto-component.adoc[Crypto] dataformat in your camel routes you
 need to add the following dependency to your pom.
 
 [source,xml]
@@ -333,5 +333,4 @@ need to add the following dependency to your pom.
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
-
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index a10bd61..81f5d32 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -264,7 +264,8 @@ from("direct:start")
 
 == Support of Sub-Keys and Key Flags in PGP Data Format Marshaler
 
-Since *Camel 2.12.3. +
+Since *Camel 2.12.3.
+
 *An https://tools.ietf.org/html/rfc4880#section-12.1[OpenPGP V4 key] can
 have a primary key and sub-keys. The usage of the keys is indicated by
 the so called https://tools.ietf.org/html/rfc4880#section-5.2.3.21[Key
@@ -279,7 +280,8 @@ primary key and its sub-keys have the same User IDs.
 
 == Support of Custom Key Accessors
 
-Since *Camel 2.13.0. +
+Since *Camel 2.13.0.
+
 *You can implement custom key accessors for encryption/signing. The
 above PGPDataFormat class selects in a certain predefined way the keys
 which should be used for signing/encryption or verifying/decryption. If
@@ -314,5 +316,4 @@ need to add the following dependency to your pom.
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
-
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc b/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
index 629b3e8..2747563 100644
--- a/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
+++ b/components/camel-cxf-transport/src/main/docs/cxf-transport.adoc
@@ -1,5 +1,5 @@
 [[CamelTransportforCXF-WhatstheCamelTransportforCXF]]
-== What's the Camel Transport for CXF
+= What's the Camel Transport for CXF
 
 In CXF you offer or consume a webservice by defining its address. The
 first part of the address specifies the protocol to use. For example
@@ -11,22 +11,20 @@ address="camel://direct:MyEndpointName" to bind the CXF service address
 to a camel direct endpoint.
 
 Technically speaking Camel transport for CXF is a component which
-implements the
-http://cwiki.apache.org/CXF20DOC/cxf-architecture.html#CXFArchitecture-Transports[CXF
-transport API] with the Camel core library. This allows you to easily
+implements the CXF transport API with the Camel core library.
+
+This allows you to easily
 use Camel's routing engine and integration patterns support together
 with your CXF services.
 
 [[CamelTransportforCXF-IntegrateCamelintoCXFtransportlayer]]
-Integrate Camel into CXF transport layer
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Integrate Camel into CXF transport layer
 
 To include the Camel Tranport into your CXF bus you use the
 CamelTransportFactory. You can do this in Java as well as in Spring.
 
 [[CamelTransportforCXF-SettinguptheCamelTransportinSpring]]
-Setting up the Camel Transport in Spring
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+=== Setting up the Camel Transport in Spring
 
 You can use the following snippet in your applicationcontext if you want
 to configure anything special. If you only want to activate the camel
@@ -57,8 +55,7 @@ jar and load a CamelTransportFactory for you.
 --------------------------------------------------------------------------------------------------------
 
 [[CamelTransportforCXF-IntegratingtheCamelTransportinaprogrammaticway]]
-Integrating the Camel Transport in a programmatic way
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Integrating the Camel Transport in a programmatic way
 
 Camel transport provides a setContext method that you could use to set
 the Camel context into the transport factory. If you want this factory
@@ -93,12 +90,10 @@ BusFactory.setDefaultBus(bus);
 ------------------------------------------------------------------------------------------------------------------
 
 [[CamelTransportforCXF-ConfigurethedestinationandconduitwithSpring]]
-Configure the destination and conduit with Spring
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Configure the destination and conduit with Spring
 
 [[CamelTransportforCXF-Namespace]]
-Namespace
-^^^^^^^^^
+=== Namespace
 
 The elements used to configure an Camel transport endpoint are defined
 in the namespace `http://cxf.apache.org/transports/camel`. It is
@@ -122,8 +117,7 @@ the `xsi:schemaLocation` attribute.
 ---------------------------------------------------------------------
 
 [[CamelTransportforCXF-Thedestinationelement]]
-The `destination` element
-^^^^^^^^^^^^^^^^^^^^^^^^^
+=== The `destination` element
 
 You configure an Camel transport server endpoint using the
 `camel:destination` element and its children. The `camel:destination`
@@ -172,8 +166,7 @@ You can specify the camel context in the camel destination
 The camel context id which you want inject into the camel destination
 
 [[CamelTransportforCXF-Theconduitelement]]
-The `conduit` element
-^^^^^^^^^^^^^^^^^^^^^
+=== The `conduit` element
 
 You configure a Camel transport client using the `camel:conduit` element
 and its children. The `camel:conduit` element takes a single attribute,
@@ -228,8 +221,7 @@ You can specify the camel context in the camel conduit
 The camel context id which you want inject into the camel conduit
 
 [[CamelTransportforCXF-ConfigurethedestinationandconduitwithBlueprint]]
-Configure the destination and conduit with Blueprint
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Configure the destination and conduit with Blueprint
 
 From *Camel 2.11.x*, Camel Transport supports to be configured with
 Blueprint.
@@ -262,16 +254,9 @@ context in the camel destination.
 ------------------------------------------------------------------------
 
 [[CamelTransportforCXF-ExampleUsingCamelasaloadbalancerforCXF]]
-Example Using Camel as a load balancer for CXF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+== Example Using Camel as a load balancer for CXF
 
 This example shows how to use the camel load balancing feature in CXF.
 You need to load the configuration file in CXF and publish the endpoints
 on the address "camel://direct:EndpointA" and "camel://direct:EndpointB"
 
-[[CamelTransportforCXF-CompleteHowtoandExampleforattachingCameltoCXF]]
-Complete Howto and Example for attaching Camel to CXF
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-link:better-jms-transport-for-cxf-webservice-using-apache-camel.html[Better
-JMS Transport for CXF Webservice using Apache Camel] 
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index 8b0b8cb..0bea494 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 1.0*
 
 
-NOTE: When using Apache CXF as a consumer, the link:cxf-bean-component.html[CXF Bean
-Component] allows you to factor out how message payloads are received
+NOTE: When using Apache CXF as a consumer, the `cxfbean` component
+allows you to factor out how message payloads are received
 from their processing as a RESTful or SOAP web service. This has the
 potential of using a multitude of transports to consume web services.
 The bean component's configuration is also simpler and provides the
@@ -18,50 +18,29 @@ The *cxf:* component provides integration with
 http://cxf.apache.org[Apache CXF] for connecting to http://cxf.apache.org/docs/jax-ws.html[JAX-WS] services
 hosted in CXF.
 
-* link:#CXF-CXFComponent[CXF Component]
-** link:#CXF-URIformat[URI format]
-** link:#CXF-Options[Options]
-*** link:#CXF-Descriptionsofthedataformats[Descriptions of the
-dataformats]
-**** link:#CXF-HowtoenableCXFLoggingOutInterceptorinMESSAGEmode[How to
-enable CXF's LoggingOutInterceptor in MESSAGE mode]
-*** link:#CXF-DescriptionofrelayHeadersoption[Description of
-relayHeaders option]
-**** link:#CXF-AvailableonlyinPOJOmode[Available only in POJO mode]
-**** link:#CXF-ChangessinceRelease2.0[Changes since Release 2.0]
-** link:#CXF-ConfiguretheCXFendpointswithSpring[Configure the CXF
-endpoints with Spring]
-** link:#CXF-ConfiguringtheCXFEndpointswithApacheAriesBlueprint.[Configuring
-the CXF Endpoints with Apache Aries Blueprint.]
-** link:#CXF-Howtomakethecamel-cxfcomponentuselog4jinsteadofjava.util.logging[How
-to make the camel-cxf component use log4j instead of java.util.logging]
-** link:#CXF-Howtoletcamel-cxfresponsemessagewithxmlstartdocument[How to
-let camel-cxf response message with xml start document]
-** link:#CXF-HowtooverridetheCXFproduceraddressfrommessageheader[How to
-override the CXF producer address from message header]
-** link:#CXF-Howtoconsumeamessagefromacamel-cxfendpointinPOJOdataformat[How
-to consume a message from a camel-cxf endpoint in POJO data format]
-** link:#CXF-Howtopreparethemessageforthecamel-cxfendpointinPOJOdataformat[How
-to prepare the message for the camel-cxf endpoint in POJO data format]
-** link:#CXF-Howtodealwiththemessageforacamel-cxfendpointinPAYLOADdataformat[How
-to deal with the message for a camel-cxf endpoint in PAYLOAD data
-format]
-** link:#CXF-HowtogetandsetSOAPheadersinPOJOmode[How to get and set SOAP
-headers in POJO mode]
-** link:#CXF-HowtogetandsetSOAPheadersinPAYLOADmode[How to get and set
-SOAP headers in PAYLOAD mode]
-** link:#CXF-SOAPheadersarenotavailableinMESSAGEmode[SOAP headers are
-not available in MESSAGE mode]
-** link:#CXF-HowtothrowaSOAPFaultfromCamel[How to throw a SOAP Fault
-from Camel]
-** link:#CXF-Howtopropagateacamel-cxfendpointrequestandresponsecontext[How
-to propagate a camel-cxf endpoint's request and response context]
-** link:#CXF-AttachmentSupport[Attachment Support]
-** link:#CXF-StreamingSupportinPAYLOADmode[Streaming Support in PAYLOAD
-mode]
-** link:#CXF-UsingthegenericCXFDispatchmode[Using the generic CXF
-Dispatch mode]
-** link:#CXF-SeeAlso[See Also]
+* <<URI format>>
+* <<Options>>
+** <<Descriptions of the dataformats>>
+*** <<cxf-loggingout-interceptor-in-message-mode,How to enable CXF's LoggingOutInterceptor in MESSAGE mode>>
+** <<Description of relayHeaders option>>
+*** <<Available only in POJO mode>>
+*** Changes since Release 2.0
+* <<Configure the CXF endpoints with Spring>>
+* <<Configuring the CXF Endpoints with Apache Aries Blueprint>>
+* <<How to make the camel-cxf component use log4j instead of java.util.logging>>
+* <<How to let camel-cxf response message with xml start document>>
+* <<How to override the CXF producer address from message header>>
+* <<How to consume a message from a camel-cxf endpoint in POJO data format>>
+* <<How to prepare the message for the camel-cxf endpoint in POJO data format>>
+* <<How to deal with the message for a camel-cxf endpoint in PAYLOAD data format>>
+* <<How to get and set SOAP headers in POJO mode>>
+* <<How to get and set SOAP headers in PAYLOAD mode>>
+* <<SOAP headers are not available in MESSAGE mode>>
+* <<How to throw a SOAP Fault from Camel>>
+* <<propagate-request-response-context,How to propagate a camel-cxf endpoint's request and response context>>
+* <<Attachment Support>>
+* <<Streaming Support in PAYLOAD mode>>
+* <<Using the generic CXF Dispatch mode>>
 
 Maven users must add the following dependency to their `pom.xml`
 for this component:
@@ -262,8 +241,8 @@ exchange property, `CamelCXFDataFormat`. The exchange key constant is
 defined in
 `org.apache.camel.component.cxf.CxfConstants.DATA_FORMAT_PROPERTY`.
 
-[[CXF-HowtoenableCXFLoggingOutInterceptorinMESSAGEmode]]
-How to enable CXF's LoggingOutInterceptor in MESSAGE mode
+[#cxf-loggingout-interceptor-in-message-mode]
+=== How to enable CXF's LoggingOutInterceptor in MESSAGE mode
 
 CXF's `LoggingOutInterceptor` outputs outbound message that goes on the
 wire to logging system (Java Util Logging). Since the
@@ -308,8 +287,7 @@ on-the-wire headers, such as SOAP headers, be relayed along the route to
 be consumed say by another JAXWS endpoint, then `relayHeaders` should be
 set to `true`, which is the default value.
 
-[[CXF-AvailableonlyinPOJOmode]]
-Available only in POJO mode
+=== Available only in POJO mode
 
 The `relayHeaders=true` express an intent to relay the headers. The
 actual decision on whether a given header is relayed is delegated to a
@@ -354,8 +332,7 @@ headers here:
 
 https://github.com/apache/camel/blob/master/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java[https://github.com/apache/camel/blob/master/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/soap/headers/CxfMessageHeadersRelayTest.java]
 
-[[CXF-ChangessinceRelease2.0]]
-Changes since Camel Release  2.0
+=== Changes since Camel Release  2.0
 
 * `POJO` and `PAYLOAD` modes are supported. In `POJO` mode, only
 out-of-band message headers are available for filtering as the in-band
@@ -470,7 +447,7 @@ which operation you are calling.
 Be sure to include the JAX-WS `schemaLocation` attribute specified on
 the root beans element. This allows CXF to validate the file and is
 required. Also note the namespace declarations at the end of the
-`<cxf:cxfEndpoint/>` tag. These declarations are required because the combined `{namespace}localName` syntax is presently not supported for this tag's
+`<cxf:cxfEndpoint/>` tag. These declarations are required because the combined `\{namespace}localName` syntax is presently not supported for this tag's
 attribute values.
 
 The `cxf:cxfEndpoint` element supports many additional attributes:
@@ -782,9 +759,11 @@ skipped.
 == How to throw a SOAP Fault from Camel
 
 If you are using a `camel-cxf` endpoint to consume the SOAP request, you
-may need to throw the SOAP Fault from the camel context. +
+may need to throw the SOAP Fault from the camel context.
+
  Basically, you can use the `throwFault` DSL to do that; it works for
-`POJO`, `PAYLOAD` and `MESSAGE` data format. +
+`POJO`, `PAYLOAD` and `MESSAGE` data format.
+
  You can define the soap fault like this
 
 Then throw it as you like
@@ -796,6 +775,7 @@ code in the message header.
 Same for using POJO data format. You can set the SOAPFault on the out
 body and also indicate it's a fault by calling Message.setFault(true):
 
+[#propagate-request-response-context]
 == How to propagate a camel-cxf endpoint's request and response context
 
 https://github.com/apache/cxf/blob/master/core/src/main/java/org/apache/cxf/endpoint/Client.java[CXF
@@ -925,4 +905,3 @@ a specific SOAPAction value, it is supplied in the Camel header using
 the key SOAPAction (case-insensitive).
 
  
-
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index e82a112..22a959b 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -8,8 +8,8 @@ The *cxfrs:* component provides integration with
 http://cxf.apache.org[Apache CXF] for connecting to JAX-RS 1.1 and 2.0
 services hosted in CXF.
 
-When using CXF as a consumer, the link:cxf-bean-component.html[CXF Bean
-Component] allows you to factor out how message payloads are received
+When using CXF as a consumer, the `cxfbean` component
+allows you to factor out how message payloads are received
 from their processing as a RESTful or SOAP web service. This has the
 potential of using a multitude of transports to consume web services.
 The bean component's configuration is also simpler and provides the
@@ -175,7 +175,8 @@ documentation] for more information.
 In
 https://github.com/apache/camel/blob/master/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd[camel-cxf
 schema file], there are two elements for the REST endpoint definition.
-*cxf:rsServer* for REST consumer, *cxf:rsClient* for REST producer. +
+*cxf:rsServer* for REST consumer, *cxf:rsClient* for REST producer.
+
  You can find a Camel REST service route configuration example here.
 
 == How to override the CXF producer address from message header
@@ -243,7 +244,8 @@ parameter in the consumer endpoint to value `SimpleConsumer`:
 Below is a list of method signatures along with the expected result from
 the Simple binding.
 
-*`public Response doAction(BusinessObject request);`* +
+*`public Response doAction(BusinessObject request);`*
+
  Request payload is placed in IN message body, replacing the original
 MessageContentsList.
 
@@ -327,7 +329,7 @@ export the resources classes as a REST service. And we leverage the
 http://cxf.apache.org/docs/invokers.html[CXF Invoker
 API] to turn a REST request into a normal Java object method
 invocation.
- Unlike the <<restlet-component,Camel Restlet>> component, you don't need
+ Unlike the xref:restlet-component.adoc[Restlet] component, you don't need
 to specify the URI template within your endpoint, CXF takes care of the
 REST request URI to resource class method mapping according to the
 JSR-311 specification. All you need to do in Camel is delegate this
@@ -505,4 +507,4 @@ Map<String, String> queryMap = new LinkedHashMap<>();
 queryMap.put("q1", "new");
 queryMap.put("q2", "world");
 inMessage.setHeader(CxfConstants.CAMEL_CXF_RS_QUERY_MAP, queryMap);
-----
\ No newline at end of file
+----
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index 439c3fe..dbcc4ae 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -79,8 +79,10 @@ or
 
 Where **someName** can be any string that uniquely identifies the
 endpoint within the current CamelContext (or
-across contexts in case of +
- **disruptor-vm:**). +
+across contexts in case of
+
+ **disruptor-vm:**).
+
  You can append query options to the URI in the following format:
 
 [source,java]
@@ -363,4 +365,4 @@ using JMX in this fashion:
 --------------------------------------------------------------------
 DisruptorEndpoint disruptor = context.getEndpoint("disruptor:xxxx");
 int size = disruptor.getBufferSize();
---------------------------------------------------------------------
+--------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-dns/src/main/docs/dns-component.adoc b/components/camel-dns/src/main/docs/dns-component.adoc
index 5bcbcef..8ef7fe0 100644
--- a/components/camel-dns/src/main/docs/dns-component.adoc
+++ b/components/camel-dns/src/main/docs/dns-component.adoc
@@ -6,7 +6,8 @@
 
 This is an additional component for Camel to run DNS queries, using
 DNSJava. The component is a thin layer on top of
-http://www.xbill.org/dnsjava/[DNSJava]. +
+http://www.xbill.org/dnsjava/[DNSJava].
+
  The component offers the following operations:
 
 * ip, to resolve a domain by its ip
@@ -14,7 +15,8 @@ http://www.xbill.org/dnsjava/[DNSJava]. +
 * dig, to run DNS queries
 
 INFO:*Requires SUN JVM*
-The DNSJava library requires running on the SUN JVM. +
+The DNSJava library requires running on the SUN JVM.
+
  If you use Apache ServiceMix or Apache Karaf, you'll need to adjust the
 `etc/jre.properties` file, to add `sun.net.spi.nameservice` to the list
 of Java platform packages exported. The server will need restarting
@@ -33,7 +35,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 The URI scheme for a DNS component is as follows
 
@@ -44,7 +46,7 @@ dns://operation[?options]
 
 This component only supports producers.
 
-=== Options
+== Options
 
 
 // component options: START
@@ -111,7 +113,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== Headers
+== Headers
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |===
 
@@ -133,9 +135,9 @@ Optional.
 one specified by the OS will be used. Optional.
 |===
 
-=== Examples
+== Examples
 
-==== IP lookup
+=== IP lookup
 
 [source,xml]
 ----
@@ -146,11 +148,12 @@ one specified by the OS will be used. Optional.
 ----
 
 This looks up a domain's IP. For example, www.example.com resolves to
-192.0.32.10. +
+192.0.32.10.
+
  The IP address to lookup must be provided in the header with key
 `"dns.domain"`.
 
-==== DNS lookup
+=== DNS lookup
 
 [source,xml]
 ----
@@ -160,11 +163,12 @@ This looks up a domain's IP. For example, www.example.com resolves to
         </route>
 ----
 
-This returns a set of DNS records associated with a domain. +
+This returns a set of DNS records associated with a domain.
+
  The name to lookup must be provided in the header with key
 `"dns.name"`.
 
-==== DNS Dig
+=== DNS Dig
 
 Dig is a Unix command-line utility to run DNS queries.
 
@@ -179,7 +183,7 @@ Dig is a Unix command-line utility to run DNS queries.
 The query must be provided in the header with key `"dns.query"`.
 
 
-=== Dns Activation Policy
+== Dns Activation Policy
 
 DnsActivationPolicy can be used to dynamically start and stop routes based on dns state.
 
@@ -198,4 +202,4 @@ i.e. You may have an instance in NYC and an instance in SFO. You would configure
 
 	<route id="routeId" autoStartup="false" routePolicyRef="dnsActivationPolicy">
 	</route>
-----
\ No newline at end of file
+----
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index 513ebba..ec3056c 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -101,6 +101,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.drill.enabled* | Enable drill component | true | Boolean
 | *camel.component.drill.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-dropbox/src/main/docs/dropbox-component.adoc b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
index 9c829f3..84b7b07 100644
--- a/components/camel-dropbox/src/main/docs/dropbox-component.adoc
+++ b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
@@ -28,7 +28,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -38,7 +38,7 @@ dropbox://[operation]?[options]
 Where *operation* is the specific action (typically is a CRUD action) to
 perform on Dropbox remote folder.
 
-=== Operations
+== Operations
 
 [width="100%",cols="40%,60%",options="header",]
 |===
@@ -58,10 +58,11 @@ perform on Dropbox remote folder.
 *Operations* require additional options to work, some are mandatory for
 the specific operation.
 
-=== Options
+== Options
 
 In order to work with Dropbox API you need to obtain an *accessToken*
-and a *clientIdentifier.* +
+and a *clientIdentifier.*
+
 You can refer to the
 https://www.dropbox.com/developers/core/start/java[Dropbox
 documentation] that explains how to get them.  
@@ -138,7 +139,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Del operation
+== Del operation
 
 Delete files on Dropbox.
 
@@ -153,7 +154,7 @@ Below are listed the options for this operation:
 |`remotePath` |`true` |Folder or file to delete on Dropbox
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -166,7 +167,7 @@ from("direct:start")
   .to("mock:result");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -177,7 +178,7 @@ The following headers are set on message result:
 |`DELETED_PATH` |name of the path deleted on dropbox
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -188,7 +189,7 @@ The following objects are set on message body result:
 |`String` |name of the path deleted on dropbox
 |===
 
-=== Get (download) operation
+== Get (download) operation
 
 Download files from Dropbox.
 
@@ -203,7 +204,7 @@ Below are listed the options for this operation:
 |`remotePath` |`true` |Folder or file to download from Dropbox
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -219,7 +220,7 @@ from("dropbox://get?accessToken=XXX&clientIdentifier=XXX&remotePath=/root/folder
   .to("file:///home/kermit/");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -232,7 +233,7 @@ The following headers are set on message result:
 |`DOWNLOADED_FILES` |in case of multiple files download, path of the remote files downloaded
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -247,7 +248,7 @@ remote file downloaded and as value the stream representing the file
 downloaded
 |===
 
-=== Move operation
+== Move operation
 
 Move files on Dropbox between one folder to another.
 
@@ -264,7 +265,7 @@ Below are listed the options for this operation:
 |`newRemotePath` |`true` |Destination file or folder
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -273,7 +274,7 @@ from("direct:start")
   .to("mock:result");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -284,7 +285,7 @@ The following headers are set on message result:
 |`MOVED_PATH` |name of the path moved on dropbox
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -295,7 +296,7 @@ The following objects are set on message body result:
 |`String` |name of the path moved on dropbox
 |===
 
-=== Put (upload) operation
+== Put (upload) operation
 
 Upload files on Dropbox.
 
@@ -320,13 +321,16 @@ file with content from the Camel message body (message body is converted into a
 will upload the file on a remote path equal to the local path. With Windows or without an absolute 
 localPath you may run into an exception like the following:
 
-Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "C:/My/File" +
-OR +
-Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "MyFile" +
+Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "C:/My/File"
+
+OR
+
+Caused by: java.lang.IllegalArgumentException: 'path': bad path: must start with "/": "MyFile"
+
 	
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -351,7 +355,7 @@ The name of the file can be provided in the header `DropboxConstants.HEADER_PUT_
 or `Exchange.FILE_NAME` in that order of precedence. If no header has been provided then the message id (uuid) is
 used as the file name.
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -364,7 +368,7 @@ The following headers are set on message result:
 |`UPLOADED_FILES` |in case of multiple files upload, string with the remote paths uploaded
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -379,7 +383,7 @@ remote file uploaded and as value the result of the upload operation, OK
 or KO
 |===
 
-=== Search operation
+== Search operation
 
 Search inside a remote Dropbox folder including its sub directories.
 
@@ -399,7 +403,7 @@ will be matched. The query is required to be provided in either the endpoint con
 or as a header `CamelDropboxQuery` on the Camel message.
 |===
 
-==== Samples
+=== Samples
 
 [source,java]
 ----
@@ -412,7 +416,7 @@ from("direct:start")
   .to("mock:result");
 ----
 
-==== Result Message Headers
+=== Result Message Headers
 
 The following headers are set on message result:
 
@@ -423,7 +427,7 @@ The following headers are set on message result:
 |`FOUNDED_FILES` |list of file path founded
 |===
 
-==== Result Message Body
+=== Result Message Body
 
 The following objects are set on message body result:
 
@@ -434,7 +438,3 @@ The following objects are set on message body result:
 |`List<DbxEntry>` |list of file path founded. For more information on this object refer to
 Dropbox documentation,
 |===
-
-
-
- 
\ No newline at end of file
diff --git a/components/camel-eclipse/src/main/docs/eclipse.adoc b/components/camel-eclipse/src/main/docs/eclipse.adoc
index 2a0c149..4829975 100644
--- a/components/camel-eclipse/src/main/docs/eclipse.adoc
+++ b/components/camel-eclipse/src/main/docs/eclipse.adoc
@@ -55,4 +55,4 @@ for this component:
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------------
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index e453d3e..324dc20 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.4*
 
 
-*Available as of Camel version 2.4*
-
-
 The *ejb:* component binds EJBs to Camel message exchanges.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -139,7 +136,7 @@ public class GreaterImpl implements GreaterLocal {
 
 In this example we want to invoke the `hello` method on the EJB. Since
 this example is based on an unit test using Apache OpenEJB we have to
-set a `JndiContext` on the <<ejb-component,EJB>> component with the OpenEJB
+set a `JndiContext` on the xref:ejb-component.adoc[EJB] component with the OpenEJB
 settings.
 
 [source,java]
@@ -177,10 +174,10 @@ from("direct:start")
 *In a real application server*
 
 In a real application server you most likely do not have to setup a
-`JndiContext` on the <<ejb-component,EJB>> component as it will create a
+`JndiContext` on the xref:ejb-component.adoc[EJB] component as it will create a
 default `JndiContext` on the same JVM as the application server, which
 usually allows it to access the JNDI registry and lookup the
-<<ejb-component,EJB>>s. However if you need to access a application server on a remote JVM or
+xref:ejb-component.adoc[EJB]s. However if you need to access a application server on a remote JVM or
 the likes, you have to prepare the properties beforehand.
 
 === Using Spring XML
@@ -188,7 +185,7 @@ the likes, you have to prepare the properties beforehand.
 And this is the same example using Spring XML instead:
 
 Again since this is based on an unit test we need to setup the
-<<ejb-component,EJB>> component:
+xref:ejb-component.adoc[EJB] component:
 
 [source,XML]
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -203,7 +200,7 @@ Again since this is based on an unit test we need to setup the
 </p:properties>
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
+Before we are ready to use xref:ejb-component.adoc[EJB] in the Camel routes:
 
 [source,XML]
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -215,4 +212,3 @@ Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
     </route>
 </camelContext>
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
-
diff --git a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
index 01d85f9..d34ff9d 100644
--- a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
+++ b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
@@ -345,4 +345,4 @@ req.indices("twitter");
 req.types("tweets");
 MultiSearchRequest request = new MultiSearchRequest().add(req1).add(req);
 Item[] response = template.requestBody("direct:search", request, Item[].class);
-----
+----
\ No newline at end of file
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index 3eb9049..3bc9996 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -200,5 +200,4 @@ String indexId = template.requestBody("direct:index", map, String.class);
 http://elasticsearch.org[ElasticSearch Main Site]
 
 http://www.elasticsearch.org/guide/reference/java-api/[ElasticSearch
-Java API]
-
+Java API]
\ No newline at end of file
diff --git a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
index 42a897b..66964d6 100644
--- a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
+++ b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
@@ -200,5 +200,4 @@ String indexId = template.requestBody("direct:index", map, String.class);
 
 http://www.elastic.co[Elastic Main Site]
 
-https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html[ElasticSearch Java API]
-
+https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html[ElasticSearch Java API]
\ No newline at end of file
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index d47e4ad..040c8d9 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -214,7 +214,8 @@ projects table. Notice the SQL query has 2 named parameters, :#lic and
 
 Camel will then lookup for these parameters from the message body or
 message headers. Notice in the example above we set two headers with
-constant value +
+constant value
+
  for the named parameters:
 
 [source,java]
@@ -298,4 +299,4 @@ public static class MyIdGenerator {
 
 Notice that there is no existing `Exchange` with message body and headers, so
 the simple expression you can use in the consumer are most useable for calling
-bean methods as in this example.
+bean methods as in this example.
\ No newline at end of file
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
index 42abb53..fea3818 100644
--- a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
+++ b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
@@ -20,7 +20,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 -------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.6.0 or higher).
 
 == URI format
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index 09d893a..d5bd4b6 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -19,7 +19,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 -------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.3.0 or higher).
 
 == URI format
@@ -174,7 +174,7 @@ If an out file is specified (in the endpoint via `outFile` or the
 message headers via `ExecBinding.EXEC_COMMAND_OUT_FILE`), converters
 will return the content of the out file. If no out file is used, then
 this component will convert the stdout of the process to the target
-type. For more details, please refer to the <<exec-component,usage examples>> below.
+type. For more details, please refer to the xref:exec-component.adoc[usage examples] below.
 
 == Usage examples
 
@@ -261,5 +261,4 @@ such a command - `echo` - in Windows.
 [source,java]
 ----------------------------------------------------------
 from("direct:exec").to("exec:cmd?args=/C echo echoString")
-----------------------------------------------------------
-
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index 5ca2169..7314aa8 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -365,4 +365,4 @@ CamelFacebook.query header.
     from("direct:foo")
         .setHeader("CamelFacebook.query", header("bar"))
         .to("facebook://posts");
---------------------------------------------------------
+--------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index 0f11c27..2744989 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ----
 
-=== URI Format
+== URI Format
 
 The FHIR Component uses the following URI format:
 
@@ -162,4 +162,4 @@ The component supports 23 options, which are listed below.
 | *camel.component.fhir.enabled* | Whether to enable auto configuration of the fhir component. This is enabled by default. |  | Boolean
 | *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
index 2a696cd..1dc2b07 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
@@ -1,17 +1,13 @@
 [[fhirJson-dataformat]]
 = FHIR JSon DataFormat
-*Available as of Camel version 2.21*
-*Available as of Camel version 2.21*
-
-
-
 
+*Available as of Camel version 2.21*
 
 The FHIR-JSON Data Format leverages
 link:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/JsonParser.java[HAPI-FHIR's]
 JSON parser to parse to/from JSON format to/from a HAPI-FHIR's `IBaseResource`.
 
-=== FHIR JSON Format Options
+== FHIR JSON Format Options
 
 // dataformat options: START
 The FHIR JSon dataformat supports 14 options, which are listed below.
@@ -76,4 +72,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.fhirjson.summary-mode* | If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included. | false | Boolean
 | *camel.dataformat.fhirjson.suppress-narratives* | If set to true (default is false), narratives will not be included in the encoded values. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
index 6fabaa1..2f4e985 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
@@ -1,16 +1,13 @@
 [[fhirXml-dataformat]]
 = FHIR XML DataFormat
-*Available as of Camel version 2.21*
-*Available as of Camel version 2.21*
-
-
 
+*Available as of Camel version 2.21*
 
 The FHIR-XML Data Format leverages
 link:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/XmlParser.java[HAPI-FHIR's]
 XML parser to parse to/from XML format to/from a HAPI-FHIR's `IBaseResource`.
 
-=== FHIR XML Format Options
+== FHIR XML Format Options
 
 // dataformat options: START
 The FHIR XML dataformat supports 14 options, which are listed below.
@@ -75,4 +72,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.fhirxml.summary-mode* | If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included. | false | Boolean
 | *camel.dataformat.fhirxml.suppress-narratives* | If set to true (default is false), narratives will not be included in the encoded values. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index 6636c72..51758ee 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -5,7 +5,8 @@
 
 
 The Flatpack component supports fixed width and delimited file parsing
-via the http://flatpack.sourceforge.net[FlatPack library]. +
+via the http://flatpack.sourceforge.net[FlatPack library].
+
  *Notice:* This component only supports consuming from flatpack files to
 Object model. You can not (yet) write from Object model to flatpack
 format.
@@ -163,10 +164,12 @@ number of rows.
 
 The component delivers the data in the IN message as a
 `org.apache.camel.component.flatpack.DataSetList` object that has
-converters for `java.util.Map` or `java.util.List`. +
+converters for `java.util.Map` or `java.util.List`.
+
  Usually you want the `Map` if you process one row at a time
 (`splitRows=true`). Use `List` for the entire content
-(`splitRows=false`), where each element in the list is a `Map`. +
+(`splitRows=false`), where each element in the list is a `Map`.
+
  Each `Map` contains the key for the column name and its corresponding
 value.
 
@@ -244,7 +247,7 @@ easy Bean Integration
 
 == Flatpack DataFormat
 
-The <<flatpack-component,Flatpack>> component ships with the Flatpack data
+The xref:flatpack-component.adoc[Flatpack] component ships with the Flatpack data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
 
@@ -252,7 +255,8 @@ messages to a `List` of rows as `Map`.
 converted to `String`)
 * unmarshal = from `java.io.InputStream` (such as a `File` or `String`)
 to a `java.util.List` as an
-`org.apache.camel.component.flatpack.DataSetList` instance. +
+`org.apache.camel.component.flatpack.DataSetList` instance.
+
  The result of the operation will contain all the data. If you need to
 process each row one by one you can split the exchange, using
 Splitter.
@@ -340,5 +344,4 @@ the download page for the latest versions).
   <artifactId>camel-flatpack</artifactId>
   <version>x.x.x</version>
 </dependency>
------------------------------------------
-
+-----------------------------------------
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index 0f42ab5..b4619a3 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.1*
 
 
-The <<flatpack-component,Flatpack>> component ships with the Flatpack data
+The xref:flatpack-component.adoc[Flatpack] component ships with the Flatpack data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
 
@@ -12,7 +12,8 @@ messages to a `List` of rows as `Map`.
 converted to `String`)
 * unmarshal = from `java.io.InputStream` (such as a `File` or `String`)
 to a `java.util.List` as an
-`org.apache.camel.component.flatpack.DataSetList` instance. +
+`org.apache.camel.component.flatpack.DataSetList` instance.
+
  The result of the operation will contain all the data. If you need to
 process each row one by one you can split the exchange, using
 Splitter.
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index 8c04638..4e18a93 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -6,7 +6,8 @@
 
 This documentation page covers the https://flink.apache.org[Apache Flink]
 component for the Apache Camel. The *camel-flink* component provides a
-bridge between Camel connectors and Flink tasks. +
+bridge between Camel connectors and Flink tasks.
+
 This Camel Flink connector provides a way to route message from various
 transports, dynamically choosing a flink task to execute, use incoming
 message as input data for the task and finally deliver the results back to
@@ -184,5 +185,4 @@ try {
     } finally {
         camelContext.stop();
     }
------------------------------------
-
+-----------------------------------
\ No newline at end of file
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index 15767b9..d52df1c 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -191,5 +191,4 @@ from("file:source/data/xml")
     .to("file:target/data");
 ---------------------------------
 
-For more information, see these resources...
-
+For more information, see these resources...
\ No newline at end of file
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index e99bda5..9c9656f 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -30,7 +30,7 @@ freemarker:templateName[?options]
 
 Where *templateName* is the classpath-local URI of the template to
 invoke; or the complete URL of the remote template (eg:
-file://folder/myfile.ftl[file://folder/myfile.ftl]).
+`\file://folder/myfile.ftl`).
 
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
@@ -266,4 +266,3 @@ ${body}
 ----------------------------------------------
 
 And the java code:
-
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index 68310a6..64a0cbd 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -28,7 +28,7 @@ for this component:
 ----
 
 
-=== URI format
+== URI format
 
 [source,java]
 ----
@@ -53,7 +53,8 @@ performed to create the directory configured for endpoint. The default
 value for `autoCreate` is `true`.
 
 If no *username* is provided, then `anonymous` login is attempted using
-no password. +
+no password.
+
  If no *port* number is provided, Camel will provide default values
 according to the protocol (ftp = 21, sftp = 22, ftps = 2222).
 
@@ -64,12 +65,13 @@ This component uses two different libraries for the actual FTP work. FTP
 and FTPS uses http://commons.apache.org/net/[Apache Commons Net] while
 SFTP uses http://www.jcraft.com/jsch/[JCraft JSCH].
 
-The FTPS component is only available in Camel 2.2 or newer. +
+The FTPS component is only available in Camel 2.2 or newer.
+
  FTPS (also known as FTP Secure) is an extension to FTP that adds
 support for the Transport Layer Security (TLS) and the Secure Sockets
 Layer (SSL) cryptographic protocols.
 
-=== URI Options
+== URI Options
 
 The options below are exclusive for the FTP component.
 
@@ -250,7 +252,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== FTPS component default trust store
+== FTPS component default trust store
 
 When using the `ftpClient.` properties related to SSL with the FTPS
 component, the trust store accept all certificates. If you only want
@@ -313,31 +315,35 @@ from("ftp://foo@myserver?password=secret&ftpClientConfig=#myConfig").to("bean:fo
 //=== More URI options
 
 
-=== Examples
+== Examples
 
-`ftp://someone@someftpserver.com/public/upload/images/holiday2008?password=secret&binary=true` +
+----
+ftp://someone@someftpserver.com/public/upload/images/holiday2008?password=secret&binary=true
 
-`ftp://someoneelse@someotherftpserver.co.uk:12049/reports/2008/password=secret&binary=false` +
- `ftp://publicftpserver.com/download`
+ftp://someoneelse@someotherftpserver.co.uk:12049/reports/2008/password=secret&binary=false
+
+ftp://publicftpserver.com/download
+----
 
-=== Concurrency
+== Concurrency
 
 FTP Consumer does not support concurrency
 
 The FTP consumer (with the same endpoint) does not support concurrency
-(the backing FTP client is not thread safe). +
+(the backing FTP client is not thread safe).
+
  You can use multiple FTP consumers to poll from different endpoints. It
 is only a single endpoint that does not support concurrent consumers.
 
 The FTP producer does *not* have this issue, it supports concurrency.
 
-=== More information
+== More information
 
 This component is an extension of the File component.
 So there are more samples and details on the File
 component page.
 
-=== Default when consuming files
+== Default when consuming files
 
 The FTP consumer will by default leave the consumed
 files untouched on the remote FTP server. You have to configure it
@@ -350,13 +356,14 @@ default move files to a `.camel` sub directory. The reason Camel does
 *not* do this by default for the FTP consumer is that it may lack
 permissions by default to be able to move or delete files.
 
-==== limitations
+=== limitations
 
 The option *readLock* can be used to force Camel *not* to consume files
 that is currently in the progress of being written. However, this option
 is turned off by default, as it requires that the user has write access.
 See the options table at File2 for more details about
-read locks. +
+read locks.
+
  There are other solutions to avoid consuming files that are currently
 being written over FTP; for instance, you can write to a temporary
 destination and move the file after it has been written.
@@ -366,7 +373,7 @@ restricted to the FTP_ROOT folder. That prevents you from moving files
 outside the FTP area. If you want to move files to another area you can
 use soft links and move files into a soft linked folder.
 
-=== Message Headers
+== Message Headers
 
 The following message headers can be used to affect the behavior of the
 component
@@ -405,7 +412,7 @@ In addition the FTP/FTPS consumer and producer will enrich the Camel
 |`CamelFtpReplyString` | *Camel 2.11.1:* The FTP client reply string
 |=======================================================================
 
-=== About timeouts
+== About timeouts
 
 The two set of libraries (see top) has different API for setting
 timeout. You can use the `connectTimeout` option for both of them to set
@@ -416,7 +423,7 @@ a timeout in millis to establish a network connection. An individual
 for FTP/FTSP as the data timeout, which corresponds to the
 `ftpClient.dataTimeout` value. All timeout values are in millis.
 
-=== Using Local Work Directory
+== Using Local Work Directory
 
 Camel supports consuming from remote FTP servers and downloading the
 files directly into a local work directory. This avoids reading the
@@ -445,7 +452,7 @@ The `java.io.File` handle is then used as the Exchange body. The file producer l
 As Camel knows it's a local work file, it can optimize and use a rename instead of a file copy, as the work file is meant to be deleted anyway.
 ====
 
-=== Stepwise changing directories
+== Stepwise changing directories
 
 Camel FTP can operate in two modes in terms of
 traversing directories when consuming files (eg downloading) or
@@ -487,7 +494,7 @@ FTP server we need to traverse and download files:
 And that we have a file in each of sub-a (a.txt) and sub-b (b.txt)
 folder.
 
-==== Using stepwise=true (default mode)
+== Using stepwise=true (default mode)
 
 [source,java]
 ----
@@ -577,7 +584,7 @@ disconnected.
 As you can see when stepwise is enabled, it will traverse the directory
 structure using CD xxx.
 
-==== Using stepwise=false
+== Using stepwise=false
 
 [source,java]
 ----
@@ -624,7 +631,7 @@ disconnected.
 As you can see when not using stepwise, there are no CD operation
 invoked at all.
 
-=== Samples
+== Samples
 
 In the sample below we set up Camel to download all the reports from the
 FTP server once every hour (60 min) as BINARY content and store it as
@@ -640,7 +647,7 @@ And the route using Spring DSL:
   </route>
 ----
 
-==== Consuming a remote FTPS server (implicit SSL) and client authentication
+=== Consuming a remote FTPS server (implicit SSL) and client authentication
 
 [source,java]
 ----
@@ -650,7 +657,7 @@ from("ftps://admin@localhost:2222/public/camel?password=admin&securityProtocol=S
   .to("bean:foo");
 ----
 
-==== Consuming a remote FTPS server (explicit TLS) and a custom trust store configuration
+=== Consuming a remote FTPS server (explicit TLS) and a custom trust store configuration
 
 [source,java]
 ----
@@ -683,11 +690,12 @@ spring XML file:
   </route>
 ----
 
-=== Filtering using ANT path matcher
+== Filtering using ANT path matcher
 
 The ANT path matcher is a filter that is shipped out-of-the-box in the
 *camel-spring* jar. So you need to depend on *camel-spring* if you are
-using Maven. +
+using Maven.
+
  The reason is that we leverage Spring's
 http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/util/AntPathMatcher.html[AntPathMatcher]
 to do the actual matching.
@@ -700,7 +708,7 @@ The file paths are matched with the following rules:
 
 The sample below demonstrates how to use it:
 
-=== Using a proxy with SFTP
+== Using a proxy with SFTP
 
 To use an HTTP proxy to connect to your remote host, you can configure
 your route in the following way:
@@ -723,7 +731,7 @@ You can also assign a user name and password to the proxy, if necessary.
 Please consult the documentation for `com.jcraft.jsch.Proxy` to discover
 all options.
 
-=== Setting preferred SFTP authentication method
+== Setting preferred SFTP authentication method
 
 If you want to explicitly specify the list of authentication methods
 that should be used by `sftp` component, use `preferredAuthentications`
@@ -738,7 +746,7 @@ from("sftp://localhost:9999/root?username=admin&password=admin&preferredAuthenti
   to("bean:processFile");
 ----
 
-=== Consuming a single file using a fixed name
+== Consuming a single file using a fixed name
 
 When you want to download a single file and knows the file name, you can
 use `fileName=myFileName.txt` to tell Camel the name of the file to
@@ -773,8 +781,7 @@ single file (if it exists) and grab the file content as a String type:
 String data = template.retrieveBodyNoWait("ftp://admin@localhost:21/nolist/?password=admin&stepwise=false&useList=false&ignoreFileNotFoundOrPermissionError=true&fileName=report.txt&delete=true", String.class);
 ----
 
-=== Debug logging
+== Debug logging
 
 This component has log level *TRACE* that can be helpful if you have
 problems.
-
diff --git a/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index 76c43be..445dcde 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at <<ftp-component,FTP component>>
+For more information you can look at xref:ftp-component.adoc[FTP component]
 
 == URI Options
 
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index 8573a9c..e5fc776 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 -----------------------------------------------------------------------
 
-For more information you can look at <<ftp-component,FTP component>>
+For more information you can look at xref:ftp-component.adoc[FTP component]
 
 == URI Options
 
diff --git a/components/camel-ganglia/src/main/docs/ganglia-component.adoc b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
index bce107a..409fac0 100644
--- a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
+++ b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
@@ -35,7 +35,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source,java]
 ----
@@ -45,7 +45,7 @@ ganglia:address:port[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Ganglia component and endpoint URI options
+== Ganglia component and endpoint URI options
 
 
 
@@ -155,19 +155,19 @@ The component supports 16 options, which are listed below.
 
 
 
-=== Message body
+== Message body
 
 Any value (such as a string or numeric type) in the body is sent to the
 Ganglia system.
 
-=== Return value / response
+== Return value / response
 
 Ganglia sends metrics using unidirectional UDP or multicast.  There is
 no response or change to the message body.
 
-=== Examples
+== Examples
 
-==== Sending a String metric
+=== Sending a String metric
 
 The message body will be converted to a String and sent as a metric
 value.  Unlike numeric metrics, String values can't be charted but
@@ -185,7 +185,7 @@ from("direct:ganglia.tx")
     .to("ganglia:239.2.11.71:8649?mode=MULTICAST&prefix=test");
 ----
 
-==== Sending a numeric metric
+=== Sending a numeric metric
 
 [source,java]
 ----
@@ -197,4 +197,4 @@ from("direct:value.for.ganglia")
 
 from("direct:ganglia.tx")
     .to("ganglia:239.2.11.71:8649?mode=MULTICAST&prefix=test");
-----
\ No newline at end of file
+----
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index d1d9d0f..fd1e313 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -115,7 +115,8 @@ The component supports 2 options, which are listed below.
 == Exchange data format
 
 Camel will deliver the body as a
-`com.google.code.geocoder.model.GeocodeResponse` type. +
+`com.google.code.geocoder.model.GeocodeResponse` type.
+
  And if the address is `"current"` then the response is a String type
 with a JSON representation of the current location.
 
diff --git a/components/camel-git/src/main/docs/git-component.adoc b/components/camel-git/src/main/docs/git-component.adoc
index bcb9962..1d189f3 100644
--- a/components/camel-git/src/main/docs/git-component.adoc
+++ b/components/camel-git/src/main/docs/git-component.adoc
@@ -25,7 +25,8 @@ git://localRepositoryPath[?options]
 
 == URI Options
 
-The producer allows to do operations on a specific repository. +
+The producer allows to do operations on a specific repository.
+
 The consumer allows consuming commits, tags and branches on a specific
 repository.
 
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
index deb5c66..773d898 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
@@ -28,7 +28,7 @@ for this component:
 
 [[GoogleBigQuery-AuthenticationConfiguration]]
 
-=== Authentication Configuration
+== Authentication Configuration
 
 Google BigQuery component authentication is targeted for use with the GCP Service Accounts.
 For more information please refer to https://cloud.google.com/docs/authentication[Google Cloud Platform Auth Guide]
@@ -47,7 +47,7 @@ https://developers.google.com/identity/protocols/application-default-credentials
 
 Service Account Email and Service Account Key can be found in the GCP JSON credentials file as client_email and private_key respectively.
 
-=== URI Format
+== URI Format
 
 [source,text]
 --------------------------------------------------------
@@ -55,7 +55,7 @@ Service Account Email and Service Account Key can be found in the GCP JSON crede
 --------------------------------------------------------
 
 
-=== Options
+== Options
 
 // component options: START
 The Google BigQuery component supports 4 options, which are listed below.
@@ -135,7 +135,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -147,7 +147,7 @@ The component supports 4 options, which are listed below.
 |=======================================================================
 
 
-=== Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can accept and deliver to BigQuery individual and grouped
 exchanges alike. Grouped exchanges have `Exchange.GROUPED_EXCHANGE` property set.
@@ -159,7 +159,7 @@ correct suffix or partition decorator.
 Google BigQuery endpoint expects the payload to be either a map or list of maps. A payload containing a map
 will insert a single row and a payload containing a list of map's will insert a row for each entry in the list.
 
-=== Template tables
+== Template tables
 
 Reference: https://cloud.google.com/bigquery/streaming-data-into-bigquery#template-tables
 
@@ -175,7 +175,7 @@ from("direct:start")
 ------------------------------------------------------
 Note it is recommended to use partitioning for this use case.
 
-=== Partitioning
+== Partitioning
 
 Reference: https://cloud.google.com/bigquery/docs/creating-partitioned-tables
 
@@ -183,11 +183,11 @@ Partitioning is specified when creating a table and if set data will be automati
 separate tables. When inserting data a specific partition can be specified by setting the
 `GoogleBigQueryConstants.PARTITION_DECORATOR` header on the exchange.
 
-=== Ensuring data consistency
+== Ensuring data consistency
 
 Reference: https://cloud.google.com/bigquery/streaming-data-into-bigquery#dataconsistency
 
 A insert id can be set on the exchange with the header `GoogleBigQueryConstants.INSERT_ID` or by specifying
 query parameter `useAsInsertId`. As an insert id need to be specified per row inserted the exchange header can't
 be used when the payload is a list - if the payload is a list the `GoogleBigQueryConstants.INSERT_ID` will
-be ignored. In that case use the query parameter `useAsInsertId`.
\ No newline at end of file
+be ignored. In that case use the query parameter `useAsInsertId`.
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
index 956af8c..e396ace 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
@@ -1,11 +1,7 @@
 [[google-bigquery-sql-component]]
 = Google BigQuery Standard SQL Component
-*Available as of Camel version 2.23*
-*Available as of Camel version 2.23*
-
-
-
 
+*Available as of Camel version 2.23*
 
 The Google Bigquery SQL component provides access
 to https://cloud.google.com/bigquery/[Cloud BigQuery Infrastructure] via
@@ -30,7 +26,7 @@ for this component:
 
 [[GoogleBigQuery-AuthenticationConfiguration]]
 
-=== Authentication Configuration
+== Authentication Configuration
 
 Google BigQuery component authentication is targeted for use with the GCP Service Accounts.
 For more information please refer to https://cloud.google.com/docs/authentication[Google Cloud Platform Auth Guide]
@@ -49,7 +45,7 @@ https://developers.google.com/identity/protocols/application-default-credentials
 
 Service Account Email and Service Account Key can be found in the GCP JSON credentials file as client_email and private_key respectively.
 
-=== URI Format
+== URI Format
 
 [source,text]
 --------------------------------------------------------
@@ -64,7 +60,7 @@ Examples:
 --------------------------------------------------------
 where
 
- * parameters in form \${name} are extracted from message headers and formed the translated query
+ * parameters in form $\{name} are extracted from message headers and formed the translated query
  * parameters in form @name are extracted from body or message headers and sent to Google Bigquery
 
 You can externalize your SQL queries to files in the classpath or file system as shown:
@@ -75,7 +71,7 @@ You can externalize your SQL queries to files in the classpath or file system as
 
 
 
-=== Options
+== Options
 
 // component options: START
 The Google BigQuery Standard SQL component supports 3 options, which are listed below.
@@ -151,7 +147,7 @@ The component supports 3 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Ouput Message Headers
+== Ouput Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -160,6 +156,6 @@ The component supports 3 options, which are listed below.
 |=======================================================================
 
 
-=== Producer Endpoints
+== Producer Endpoints
 
-Google BigQuery SQL endpoint expects the payload to be either empty or a map of query parameters.
\ No newline at end of file
+Google BigQuery SQL endpoint expects the payload to be either empty or a map of query parameters.
diff --git a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
index 4c9e6f5..d4f50ac 100644
--- a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
+++ b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
@@ -23,7 +23,7 @@ for this component:
 
 ------------------------------------------------------
 
-=== URI Format
+== URI Format
 
 The Google Pubsub Component uses the following URI format:
 
@@ -33,7 +33,7 @@ google-pubsub://project-id:destinationName?[options]
 
 Destination Name can be either a topic or a subscription name.
 
-=== Options
+== Options
 
 // component options: START
 The Google Pubsub component supports 2 options, which are listed below.
@@ -114,7 +114,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can accept and deliver to PubSub individual and grouped
 exchanges alike. Grouped exchanges have `Exchange.GROUPED_EXCHANGE` property set.
@@ -129,7 +129,7 @@ A Map set as message header `GooglePubsubConstants.ATTRIBUTES` will be sent as P
 Once exchange has been delivered to PubSub the PubSub Message ID will be assigned to
 the header `GooglePubsubConstants.MESSAGE_ID`.
 
-=== Consumer Endpoints
+== Consumer Endpoints
 Google PubSub will redeliver the message if it has not been acknowledged within the time period set
 as a configuration option on the subscription.
 
@@ -142,7 +142,7 @@ To ack/nack the message the component uses Acknowledgement ID stored as header `
 If the header is removed or tampered with, the ack will fail and the message will be redelivered
 again after the ack deadline.
 
-=== Message Headers
+== Message Headers
 Headers set by the consumer endpoints:
 
 * GooglePubsubConstants.MESSAGE_ID
@@ -150,12 +150,12 @@ Headers set by the consumer endpoints:
 * GooglePubsubConstants.PUBLISH_TIME
 * GooglePubsubConstants.ACK_ID
 
-=== Message Body
+== Message Body
 
 The consumer endpoint returns the content of the message as byte[] - exactly as the underlying system sends it.
 It is up for the route to convert/unmarshall the contents.
 
-=== Authentication Configuration
+== Authentication Configuration
 
 Google Pubsub component authentication is targeted for use with the GCP Service Accounts.
 For more information please refer to https://cloud.google.com/docs/authentication[Google Cloud Platform Auth Guide]
@@ -174,7 +174,7 @@ https://developers.google.com/identity/protocols/application-default-credentials
 
 Service Account Email and Service Account Key can be found in the GCP JSON credentials file as client_email and private_key respectively.
 
-=== Rollback and Redelivery
+== Rollback and Redelivery
 
 The rollback for Google PubSub relies on the idea of the Acknowledgement Deadline - the time period where Google PubSub expects to receive the acknowledgement.
 If the acknowledgement has not been received, the message is redelivered.
@@ -187,4 +187,4 @@ So, rollback is effectively a deadline extension API call with zero value - i.e.
 be redelivered to the next consumer.
 
 It is possible to delay the message redelivery by setting the acknowledgement deadline explicitly for the rollback by
-setting the message header `GooglePubsubConstants.ACK_DEADLINE` to the value in seconds.
\ No newline at end of file
+setting the message header `GooglePubsubConstants.ACK_DEADLINE` to the value in seconds.
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index 2c21f94..866d70f 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -241,4 +241,4 @@ command:
       from("netty-http:http://0.0.0.0:80/patches").
         setHeader(GrapeConstats.GRAPE_COMMAND, constant(CamelGrapeCommand.clearPatches)).
         setBody().constant("Installed patches have been deleted."); 
------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc b/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
index 0ee2b1c..1403558 100644
--- a/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
+++ b/components/camel-groovy-dsl/src/main/docs/groovy-dsl.adoc
@@ -1,21 +1,21 @@
 [[GroovyDSL-AbouttheGroovyDSL]]
-== About the Groovy DSL (deprecated)
+= About the Groovy DSL (deprecated)
 
 The Groovy DSL implementation is built on top of the existing Java-based
 DSL, but it additionally allows to use Groovy language
 features in your routes, particularly
 http://www.groovy-lang.org/closures.html[Closures] acting as
 Processor, Expression,
-Predicate, or link:aggregator.html[Aggregation
-Strategy]. +
+Predicate, or xref:manual::aggregate-eip.adoc[Aggregation
+Strategy].
+
  With the Groovy DSL you write your RouteBuilder classes entirely in
 Groovy, while the scripting component
 allows to embed small scripts into Java routes. The Groovy DSL requires
 Groovy 2.0 or newer and is available as of *Camel 2.11*.
 
 [[GroovyDSL-Introduction]]
-Introduction
-^^^^^^^^^^^^
+== Introduction
 
 Because Groovy is syntactically very similar to Java, you can write your
 Groovy routes just like Java routes. The same Java DSL classes are being
@@ -66,8 +66,7 @@ The corresponding route in Java would look something like this:
 -----------------------------------------------------------------------------------------
 
 [[GroovyDSL-DevelopingwiththeGroovyDSL]]
-Developing with the Groovy DSL
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Developing with the Groovy DSL
 
 To be able to use the Groovy DSL in your camel routes you need to add
 the a dependency on *camel-groovy* which implements the Groovy DSL.
@@ -131,8 +130,7 @@ when `mvn eclipse:eclipse` is executed:
 ----------------------------------------------------------------------------------------
 
 [[GroovyDSL-UsingClosuresinyourroutes]]
-Using Closures in your routes
-+++++++++++++++++++++++++++++
+=== Using Closures in your routes
 
 Groovy closures can be used to write concise implementations of Camel
 processors, expressions, predicates, and aggregation strategies. It is
@@ -250,8 +248,7 @@ Similarly, `expression(Closure)` returns a Camel expression,
 returns an AggregationStrategy.
 
 [[GroovyDSL-UsingGroovyXMLprocessing]]
-Using Groovy XML processing
-+++++++++++++++++++++++++++
+=== Using Groovy XML processing
 
 Groovy provides special http://groovy-lang.org/processing-xml.html[XML
 processing support] through its `XmlParser`, `XmlNodePrinter` and
@@ -298,8 +295,7 @@ Currently, marshalling is only supported for `groovy.util.Node` objects.
 ------------------------------------------------------
 
 [[GroovyDSL-UsingGroovyGStrings]]
-Using Groovy GStrings
-+++++++++++++++++++++
+=== Using Groovy GStrings
 
 Groovy
 http://docs.groovy-lang.org/latest/html/documentation/index.html#all-strings[GStrings]
@@ -316,8 +312,7 @@ TypeConverter to automatically turn them into
 the required type.
 
 [[GroovyDSL-CustomDSLextensions]]
-Custom DSL extensions
-+++++++++++++++++++++
+=== Custom DSL extensions
 
 You can easily define your custom extensions - be it as a Java DSL
 extension for your Groovy routes or for any other class unrelated to
@@ -325,7 +320,8 @@ Camel. All you have to do is to write your extension methods and provide
 a extension module descriptor - the details are described in the
 http://www.groovy-lang.org/metaprogramming.html#_extension_modules[Groovy
 documentation]. And as long as you don't require other extension
-methods, you can even use plain Java code to achieve this! +
+methods, you can even use plain Java code to achieve this!
+
  As an example, let's write two DSL extensions to make commonly used DSL
 methods more concise:
 
diff --git a/components/camel-groovy/src/main/docs/groovy-language.adoc b/components/camel-groovy/src/main/docs/groovy-language.adoc
index 28e6cf0..2ca5942 100644
--- a/components/camel-groovy/src/main/docs/groovy-language.adoc
+++ b/components/camel-groovy/src/main/docs/groovy-language.adoc
@@ -147,7 +147,8 @@ languages with explicit DSL support.
 *Available as of Camel 2.8*
 
 You can provide additional arguments to the `ScriptingEngine` using a
-header on the Camel message with the key `CamelScriptArguments`. +
+header on the Camel message with the key `CamelScriptArguments`.
+
  See this example:
 
 == Using properties function
@@ -177,7 +178,8 @@ You can use the properties function and the same example is simpler:
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
@@ -220,4 +222,4 @@ the download page for the latest versions).
   <artifactId>camel-groovy</artifactId>
   <version>x.x.x</version>
 </dependency>
----------------------------------------
+---------------------------------------
\ No newline at end of file
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index 3c7cba7..09ebefc 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -127,7 +127,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-== Transport security and authentication support (available from *Camel 2.20*)
+== Transport security and authentication support
 
 The following https://grpc.io/docs/guides/auth.html[authentication] mechanisms are built-in to gRPC and available in this component:
 
@@ -297,5 +297,4 @@ Insert gRPC and protobuf Java code generator plugin **<plugins>** tag of the pro
 
 http://www.grpc.io/[gRPC project site]
 
-https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
-
+https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
\ No newline at end of file
diff --git a/components/camel-guice/src/main/docs/guice.adoc b/components/camel-guice/src/main/docs/guice.adoc
index 7d7e94c..caadb5c 100644
--- a/components/camel-guice/src/main/docs/guice.adoc
+++ b/components/camel-guice/src/main/docs/guice.adoc
@@ -1,5 +1,5 @@
 [[Guice-CamelGuice]]
-== Camel Guice
+= Camel Guice
 
 We have support for http://code.google.com/p/google-guice/[Google Guice]
 as a dependency injection framework.
@@ -18,8 +18,7 @@ for this component:
 ------------------------------------------------------------
 
 [[Guice-DependencyInjectingCamelwithGuice]]
-Dependency Injecting Camel with Guice
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Dependency Injecting Camel with Guice
 
 The http://camel.apache.org/maven/current/camel-guice/apidocs/org/apache/camel/guice/GuiceCamelContext.html[GuiceCamelContext]
 is designed to work nicely inside Guice. You then need to bind it using
@@ -63,8 +62,7 @@ You can then use Guice in the usual way to inject the route instances or
 any other dependent objects.
 
 [[Guice-BootstrappingwithJNDI]]
-Bootstrapping with JNDI
-^^^^^^^^^^^^^^^^^^^^^^^
+== Bootstrapping with JNDI
 
 A common pattern used in J2EE is to bootstrap your application or root
 objects by looking them up in JNDI. This has long been the approach when
@@ -83,8 +81,7 @@ or -jndiProperties with the properties file location to let Guice Main
 to load right jndi properties file.
 
 [[Guice-ConfiguringComponent,EndpointorRouteBuilderinstances]]
-Configuring Component, Endpoint or RouteBuilder instances
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Configuring Component, Endpoint or RouteBuilder instances
 
 You can use Guice to dependency inject whatever objects
 you need to create, be it an Endpoint,
@@ -121,8 +118,7 @@ environment specific (the jndi.properties file) which you can then
 change based on development, testing, production etc.
 
 [[Guice-CreatingmultipleRouteBuilderinstancespertype]]
-Creating multiple RouteBuilder instances per type
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Creating multiple RouteBuilder instances per type
 
 It is sometimes useful to create multiple instances of a particular
 RouteBuilder with different configurations.
@@ -147,14 +143,3 @@ public class MyModule extends CamelModuleWithMatchingRoutes {
     }
 }
 ----------------------------------------------------------------------------------------------------------
-
-[[Guice-SeeAlso]]
-See Also
-^^^^^^^^
-
-* there are a number of Examples you can look at to
-see Guice and Camel being used such as link:guice-jms-example.html[Guice
-JMS Example]
-* Guice Maven Plugin for running your
-Guice based routes via Maven
-
diff --git a/components/camel-hawtdb/src/main/docs/hawtdb.adoc b/components/camel-hawtdb/src/main/docs/hawtdb.adoc
index 0cbc253..3492d40 100644
--- a/components/camel-hawtdb/src/main/docs/hawtdb.adoc
+++ b/components/camel-hawtdb/src/main/docs/hawtdb.adoc
@@ -1,5 +1,5 @@
 [[HawtDB-HawtDB]]
-== HawtDB (deprecated)
+= HawtDB (deprecated)
 
 *Available as of Camel 2.3*
 
@@ -37,7 +37,7 @@ for this component:
 
 
 [[HawtDB-UsingHawtDBAggregationRepository]]
-=== Using HawtDBAggregationRepository
+== Using HawtDBAggregationRepository
 
 `HawtDBAggregationRepository` is an `AggregationRepository` which on the
 fly persists the aggregated messages. This ensures that you will not
@@ -102,7 +102,7 @@ The `repositoryName` option must be provided. Then either the
 `persistentFileName` or the `hawtDBFile` must be provided.
 
 [[HawtDB-Whatispreservedwhenpersisting]]
-==== What is preserved when persisting
+=== What is preserved when persisting
 
 `HawtDBAggregationRepository` will only preserve any `Serializable`
 compatible data types. If a data type is not such a type its dropped and
@@ -110,7 +110,7 @@ a `WARN` is logged. And it only persists the `Message` body and the
 `Message` headers. The `Exchange` properties are *not* persisted.
 
 [[HawtDB-Recovery]]
-==== Recovery
+=== Recovery
 
 The `HawtDBAggregationRepository` will by default recover any failed
 Exchange. It does this by having a background tasks
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast.adoc b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
index 2bc5c60..a76b81e 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
@@ -31,17 +31,17 @@ for this component:
 
 == Hazelcast components
 See followings for each component usage:
-* <<hazelcast-map-component,map>>
-* <<hazelcast-multimap-component,multimap>>
-* <<hazelcast-queue-component,queue>>
-* <<hazelcast-topic-component,topic>>
-* <<hazelcast-list-component,list>>
-* <<hazelcast-seda-component,seda>>
-* <<hazelcast-set-component,set>>
-* <<hazelcast-atomicvalue-component,atomic number>>
-* <<hazelcast-instance-component,cluster support (instance)>>
-* <<hazelcast-replicatedmap-component,replicatedmap>> 
-* <<hazelcast-ringbuffer-component,ringbuffer>> 
+* xref:hazelcast-map-component.adoc[map]
+* xref:hazelcast-multimap-component.adoc[multimap]
+* xref:hazelcast-queue-component.adoc[queue]
+* xref:hazelcast-topic-component.adoc[topic]
+* xref:hazelcast-list-component.adoc[list]
+* xref:hazelcast-seda-component.adoc[seda]
+* xref:hazelcast-set-component.adoc[set]
+* xref:hazelcast-atomicvalue-component.adoc[atomic number]
+* xref:hazelcast-instance-component.adoc[cluster support (instance)]
+* xref:hazelcast-replicatedmap-component.adoc[replicatedmap] 
+* xref:hazelcast-ringbuffer-component.adoc[ringbuffer] 
 
 
 
@@ -162,4 +162,4 @@ to reference the service in the hazelcast endpoint.
         <to uri="seda:out" />
     </route>
 </camelContext>
---------------------------------------------------------------------------------------
+--------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-hbase/src/main/docs/hbase-component.adoc b/components/camel-hbase/src/main/docs/hbase-component.adoc
index 946be72..8e86f0f 100644
--- a/components/camel-hbase/src/main/docs/hbase-component.adoc
+++ b/components/camel-hbase/src/main/docs/hbase-component.adoc
@@ -49,7 +49,8 @@ a Number, a serialized Java object or just binary data.
 To overcome these challenges, camel-hbase makes use of the message
 headers to specify the mapping of the message to HBase columns. It also
 provides the ability to use some camel-hbase provided classes that model
-HBase data and can be easily convert to and from xml/json etc. +
+HBase data and can be easily convert to and from xml/json etc.
+
  Finally it provides the ability to the user to implement and use his
 own mapping strategy.
 
@@ -321,11 +322,13 @@ to objects you can use either uri options or headers.
 In this case its probable that you also also need to specify a list of
 filters for limiting the results. You can specify a list of filters as
 part of the uri and camel will return only the rows that satisfy *ALL*
-the filters.  +
+the filters. 
+
  To have a filter that will be aware of the information that is part of
 the message, camel defines the ModelAwareFilter. This will allow your
 filter to take into consideration the model that is defined by the
-message and the mapping strategy. +
+message and the mapping strategy.
+
  When using a ModelAwareFilter camel-hbase will apply the selected
 mapping strategy to the in message, will create an object that models
 the mapping and will pass that object to the Filter.
@@ -430,7 +433,8 @@ from("direct:in")
 == HBase Mapping
 
 It was mentioned above that you the default mapping strategies are
-*header* and *body* mapping. +
+*header* and *body* mapping.
+
  Below you can find some detailed examples of how each mapping strategy
 works.
 
@@ -524,12 +528,8 @@ data.addRows().add(row);
 
 The object above can be used for example in a put operation and will
 result in creating or updating the row with id myRowId and add the value
-myvalue to the column myfamily:myqualifier. +
+myvalue to the column myfamily:myqualifier.
+
  The body mapping strategy might not seem very appealing at first. The
 advantage it has over the header mapping strategy is that the HBaseData
 object can be easily converted to or from xml/json.
-
-== See also
-
-* Polling Consumer
-* http://hbase.apache.org[Apache HBase]
\ No newline at end of file
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index 4746c41..729771c 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -29,7 +29,8 @@ hdfs://hostname[:port][/path][?options]
 ---------------------------------------
 
 You can append query options to the URI in the following format,
-`?option=value&option=value&...` +
+`?option=value&option=value&...`
+
  The path is treated in the following way:
 
 1.  as a consumer, if it's a file, it just reads the file, otherwise if
@@ -202,9 +203,11 @@ this problem in this way:
 * If the split strategy option has been defined, the hdfs path will be
 used as a directory and files will be created using the configured
 UuidGenerator
-* Every time a splitting condition is met, a new file is created. +
+* Every time a splitting condition is met, a new file is created.
+
  The splitStrategy option is defined as a string with the following
-syntax: +
+syntax:
+
  splitStrategy=<ST>:<value>,<ST>:<value>,*
 
 where <ST> can be:
@@ -255,7 +258,7 @@ split strategy.
 
 *Available as of Camel 2.10.4*
 
-When using the <<hdfs-component,HDFS>> producer *without* a split strategy,
+When using the xref:hdfs-component.adoc[HDFS] producer *without* a split strategy,
 then the file output stream is by default closed after the write.
 However you may want to keep the stream open, and only explicitly close
 the stream later. For that you can use the header
@@ -275,4 +278,4 @@ classloader will be the bundle class loader of the bundle that contains
 the routes. So, the default configuration files need to be visible from
 the bundle class loader. A typical way to deal with it is to keep a copy
 of core-default.xml in your bundle root. That file can be found in the
-hadoop-common.jar.
\ No newline at end of file
+hadoop-common.jar.
diff --git a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
index cf710ef..dfea073 100644
--- a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
+++ b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
@@ -29,7 +29,8 @@ hdfs2://hostname[:port][/path][?options]
 ----------------------------------------
 
 You can append query options to the URI in the following format,
-`?option=value&option=value&...` +
+`?option=value&option=value&...`
+
  The path is treated in the following way:
 
 1.  as a consumer, if it's a file, it just reads the file, otherwise if
@@ -198,7 +199,8 @@ this problem in this way:
 * If the split strategy option has been defined, the hdfs path will be
 used as a directory and files will be created using the configured
 UuidGenerator
-* Every time a splitting condition is met, a new file is created. +
+* Every time a splitting condition is met, a new file is created.
+
  The splitStrategy option is defined as a string with the following
 syntax: splitStrategy=<ST>:<value>,<ST>:<value>,*
 
@@ -246,7 +248,7 @@ split strategy.
 
 == Controlling to close file stream
 
-When using the <<hdfs2-component,HDFS2>> producer *without* a split
+When using the xref:hdfs2-component.adoc[HDFS2] producer *without* a split
 strategy, then the file output stream is by default closed after the
 write. However you may want to keep the stream open, and only explicitly
 close the stream later. For that you can use the header
diff --git a/components/camel-hipchat/src/main/docs/hipchat-component.adoc b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
index 220d9d4..08d2ae9 100644
--- a/components/camel-hipchat/src/main/docs/hipchat-component.adoc
+++ b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
@@ -247,5 +247,5 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ------------------------------------------
 
-where `${camel-version}` must be replaced by the actual version of Camel
-(2.15.0 or higher)
\ No newline at end of file
+where `$\{camel-version\}` must be replaced by the actual version of Camel
+(2.15.0 or higher)
diff --git a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
index cac8734..d88e746 100644
--- a/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
+++ b/components/camel-hl7/src/main/docs/hl7-dataformat.adoc
@@ -10,12 +10,12 @@ v2 messages] using the http://hl7api.sourceforge.net[HAPI library].
 
 This component supports the following:
 
-* HL7 MLLP codec for <<mina2-component,Mina>>
-* HL7 MLLP codec for <<netty4-component,Netty4>> from *Camel 2.15* onwards
+* HL7 MLLP codec for xref:mina2-component.adoc[Mina 2]
+* HL7 MLLP codec for xref:netty4-component.adoc[Netty4] from *Camel 2.15* onwards
 * Type Converter from/to HAPI and String
 * HL7 DataFormat using the HAPI library
 * Even more ease-of-use as it's integrated well with the
-<<mina2-component,camel-mina2>> component.
+xref:mina2-component.adoc[Mina 2] component.
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -30,14 +30,14 @@ for this component:
 </dependency>
 ----
 
-=== HL7 MLLP protocol
+== HL7 MLLP protocol
 
 HL7 is often used with the HL7 MLLP protocol, which is a text based TCP
 socket based protocol. This component ships with a Mina and Netty4 Codec
 that conforms to the MLLP protocol so you can easily expose an HL7
 listener accepting HL7 requests over the TCP transport layer. To expose
-a HL7 listener service, the <<mina2-component,camel-mina2>> or
-<<netty4-component,camel-netty4>> component is used with the
+a HL7 listener service, the xref:mina2-component.adoc[Mina 2] or
+xref:netty4-component.adoc[Netty4] component is used with the
 `HL7MLLPCodec` (mina2) or `HL7MLLPNettyDecoder/HL7MLLPNettyEncoder`
 (Netty4).
 
@@ -68,7 +68,7 @@ the HL7 message content.
 segment terminators. The HAPI library requires the use of `\r`.
 |===
 
-==== Exposing an HL7 listener using Mina
+=== Exposing an HL7 listener using Mina
 
 In the Spring XML file, we configure a mina2 endpoint to listen for HL7
 requests using TCP on port `8888`:
@@ -129,7 +129,7 @@ public class PatientLookupService {
     }
 ----
 
-==== Exposing an HL7 listener using Netty (available from Camel 2.15 onwards)
+=== Exposing an HL7 listener using Netty (available from Camel 2.15 onwards)
 
 In the Spring XML file, we configure a netty4 endpoint to listen for HL7
 requests using TCP on port `8888`:
@@ -160,7 +160,7 @@ from("hl7NettyListener")
   .bean("patientLookupService");
 ----
 
-=== HL7 Model using java.lang.String or byte[]
+== HL7 Model using java.lang.String or byte[]
 
 The HL7 MLLP codec uses plain String as its data format. Camel uses its
 Type Converter to convert to/from strings to
@@ -172,7 +172,7 @@ plain `byte[]` as its data format by setting the `produceString`
 property to false. The Type Converter is also capable of converting
 the `byte[]` to/from HAPI HL7 model objects.
 
-=== HL7v2 Model using HAPI
+== HL7v2 Model using HAPI
 
 The HL7v2 model uses Java objects from the HAPI library. Using this
 library, you can encode and decode from the EDI format (ER7) that is
@@ -208,9 +208,9 @@ QRY_A19 msg = exchange.getIn().getBody(QRY_A19.class);
 String patientId = msg.getQRD().getWhoSubjectFilter(0).getIDNumber().getValue();
 ----
 
-=== HL7 DataFormat
+== HL7 DataFormat
 
-The <<hl7-dataformat,HL7>> component ships with a HL7 data format that can
+The xref:hl7-dataformat.adoc[HL7] component ships with a HL7 data format that can
 be used to marshal or unmarshal HL7 model objects.
 
 // dataformat options: START
@@ -275,7 +275,8 @@ marshal or unmarshal operation in the route builder:
 ----
 
 In the sample above, the HL7 is marshalled from a HAPI Message object to
-a byte stream and put on a JMS queue. +
+a byte stream and put on a JMS queue.
+
  The next example is the opposite:
 
 [source,java]
@@ -290,23 +291,24 @@ a byte stream and put on a JMS queue. +
 Here we unmarshal the byte stream into a HAPI Message object that is
 passed to our patient lookup service.
 
-==== Serializable messages
+=== Serializable messages
 
 As of HAPI 2.0 (used by *Camel 2.11*), the HL7v2 model classes are fully
 serializable. So you can put HL7v2 messages directly into a JMS queue
 (i.e. without calling `marshal()` and read them again directly from the
 queue (i.e. without calling `unmarshal()`.
 
-==== Segment separators
+=== Segment separators
 
 As of *Camel 2.11*, `unmarshal` does not automatically fix segment
-separators anymore by converting `\n` to `\r`. If you  +
+separators anymore by converting `\n` to `\r`. If you 
+
  need this conversion,
 `org.apache.camel.component.hl7.HL7#convertLFToCR` provides a handy
 `Expression` for this purpose.
 
 
-==== Charset
+=== Charset
 
 As of *Camel 2.14.1*, both `marshal and unmarshal` evaluate the charset
 provided in the field `MSH-18`. If this field is empty, by default the
@@ -332,7 +334,7 @@ object:
     .to("patientLookupService");
 ----
 
-=== Message Headers
+== Message Headers
 
 The unmarshal operation adds these fields from the MSH segment as
 headers on the Camel message:
@@ -397,7 +399,7 @@ custom ValidationContext etc. This gives you full control over the HL7
 parsing and rendering process.
 |===
 
-=== Dependencies
+== Dependencies
 
 To use HL7 in your Camel routes you'll need to add a dependency on
 *camel-hl7* listed above, which implements this data format.
diff --git a/components/camel-hl7/src/main/docs/terser-language.adoc b/components/camel-hl7/src/main/docs/terser-language.adoc
index 7f92e21..0123918 100644
--- a/components/camel-hl7/src/main/docs/terser-language.adoc
+++ b/components/camel-hl7/src/main/docs/terser-language.adoc
@@ -1,11 +1,8 @@
 [[terser-language]]
 = HL7 Terser Language
 == Terser language
-*Available as of Camel version 2.11.0*
 *Available as of Camel version 2.11*
 
-
-
 http://hl7api.sourceforge.net[HAPI] provides a
 http://hl7api.sourceforge.net/base/apidocs/ca/uhn/hl7v2/util/Terser.html[Terser]
 class that provides access to fields using a commonly used terse
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 48f4d60..7787a80 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -3,8 +3,6 @@
 
 *Available as of Camel version 1.0*
 
-*Available as of Camel version 1.0*
-
 
 The HTTP component provides HTTP based endpoints
 for calling external HTTP resources (as a client to call external
@@ -260,7 +258,8 @@ and will throw a `HttpOperationFailedException` with the information.
 *throwExceptionOnFailure*
 The option, `throwExceptionOnFailure`, can be set to `false` to prevent
 the `HttpOperationFailedException` from being thrown for failed response
-codes. This allows you to get any response from the remote server. +
+codes. This allows you to get any response from the remote server.
+
 There is a sample below demonstrating this.
 
 == Exceptions
@@ -275,18 +274,25 @@ response
 
 == Which HTTP method will be used
 
-The following algorithm is used to determine what HTTP method should be used: +
- 1. Use method provided as endpoint configuration (`httpMethod`). +
- 2. Use method provided in header (`Exchange.HTTP_METHOD`). +
- 3. `GET` if query string is provided in header. +
- 4. `GET` if endpoint is configured with a query string. +
- 5. `POST` if there is data to send (body is not `null`). +
+The following algorithm is used to determine what HTTP method should be used:
+
+ 1. Use method provided as endpoint configuration (`httpMethod`).
+
+ 2. Use method provided in header (`Exchange.HTTP_METHOD`).
+
+ 3. `GET` if query string is provided in header.
+
+ 4. `GET` if endpoint is configured with a query string.
+
+ 5. `POST` if there is data to send (body is not `null`).
+
  6. `GET` otherwise.
 
 == How to get access to HttpServletRequest and HttpServletResponse
 
 You can get access to these two using the Camel type converter system
-using +
+using
+
  *NOTE* You can get the request and response not just from the processor
 after the camel-jetty or camel-cxf endpoint.
 
@@ -331,7 +337,8 @@ from("direct:start")
 -----------------------------------------------------------
 
 In the sample above Camel will call the http://newhost despite the
-endpoint is configured with http://oldhost. +
+endpoint is configured with http://oldhost.
+
 If the http endpoint is working in bridge mode, it will ignore the
 message header of `Exchange.HTTP_URI`.
 
@@ -414,7 +421,8 @@ There is also support for proxy authentication via the
 === Using proxy settings outside of URI
 
 To avoid System properties conflicts, you can set proxy configuration
-only from the CamelContext or URI. +
+only from the CamelContext or URI.
+
  Java DSL :
 
 [source,java]
@@ -436,7 +444,8 @@ Spring XML
 ----------------------------------------------------------------
 
 Camel will first set the settings from Java System or CamelContext
-Properties and then the endpoint proxy options if provided. +
+Properties and then the endpoint proxy options if provided.
+
  So you can override the system properties with the endpoint options.
 
 There is also a `http.proxyScheme` property you
@@ -511,7 +520,8 @@ int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 == Disabling Cookies
 
 To disable cookies you can set the HTTP Client to ignore cookies by
-adding this URI option: +
+adding this URI option:
+
  `httpClient.cookieSpec=ignoreCookies`
 
 == Advanced Usage
@@ -580,7 +590,8 @@ Please refer to
 http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e537[SSL/TLS
 customization] for details or have a look into the
 `org.apache.camel.component.http.HttpsServerTestSupport` unit test base
-class. +
+class.
+
  You can also implement a custom
 `org.apache.camel.component.http.HttpClientConfigurer` to do some
 configuration on the http client if you need full control of it.
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index bb06c76..292ec11 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/http4-component.adoc
@@ -45,7 +45,7 @@ You can append query options to the URI in the following format,
 You can only produce to endpoints generated by the HTTP4 component.
 Therefore it should never be used as input into your Camel Routes. To
 bind/expose an HTTP endpoint via a HTTP server as input to a Camel
-route, use the <<jetty-component,Jetty Component>> instead.
+route, use the xref:jetty-component.adoc[Jetty] instead.
 
 == Http4 Component Options
 
@@ -296,7 +296,8 @@ and will throw a `HttpOperationFailedException` with the information.
 *throwExceptionOnFailure*
 The option, `throwExceptionOnFailure`, can be set to `false` to prevent
 the `HttpOperationFailedException` from being thrown for failed response
-codes. This allows you to get any response from the remote server. +
+codes. This allows you to get any response from the remote server.
+
 There is a sample below demonstrating this.
 
 == HttpOperationFailedException
@@ -311,18 +312,25 @@ response
 
 == Which HTTP method will be used
 
-The following algorithm is used to determine what HTTP method should be used: +
- 1. Use method provided as endpoint configuration (`httpMethod`). +
- 2. Use method provided in header (`Exchange.HTTP_METHOD`). +
- 3. `GET` if query string is provided in header. +
- 4. `GET` if endpoint is configured with a query string. +
- 5. `POST` if there is data to send (body is not `null`). +
+The following algorithm is used to determine what HTTP method should be used:
+
+ 1. Use method provided as endpoint configuration (`httpMethod`).
+
+ 2. Use method provided in header (`Exchange.HTTP_METHOD`).
+
+ 3. `GET` if query string is provided in header.
+
+ 4. `GET` if endpoint is configured with a query string.
+
+ 5. `POST` if there is data to send (body is not `null`).
+
  6. `GET` otherwise.
 
 == How to get access to HttpServletRequest and HttpServletResponse
 
 You can get access to these two using the Camel type converter system
-using +
+using
+
  *NOTE* You can get the request and response not just from the processor
 after the camel-jetty or camel-cxf endpoint.
 
@@ -367,7 +375,8 @@ from("direct:start")
 -----------------------------------------------------------
 
 In the sample above Camel will call the http://newhost despite the
-endpoint is configured with http4://oldhost. +
+endpoint is configured with http4://oldhost.
+
 If the http4 endpoint is working in bridge mode, it will ignore the
 message header of `Exchange.HTTP_URI`.
 
@@ -458,7 +467,8 @@ There is also support for proxy authentication via the
 === Using proxy settings outside of URI
 
 To avoid System properties conflicts, you can set proxy configuration
-only from the CamelContext or URI. +
+only from the CamelContext or URI.
+
  Java DSL :
 
 [source,java]
@@ -480,7 +490,8 @@ Spring XML
 ----------------------------------------------------------------
 
 Camel will first set the settings from Java System or CamelContext
-Properties and then the endpoint proxy options if provided. +
+Properties and then the endpoint proxy options if provided.
+
  So you can override the system properties with the endpoint options.
 
 Notice in *Camel 2.8* there is also a `http.proxyScheme` property you
@@ -555,7 +566,8 @@ int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 == Disabling Cookies
 
 To disable cookies you can set the HTTP Client to ignore cookies by
-adding this URI option: +
+adding this URI option:
+
  `httpClient.cookiePolicy=ignoreCookies`
 
 == Advanced Usage
@@ -570,7 +582,7 @@ behavior.
 Using the JSSE Configuration Utility
 
 As of Camel 2.8, the HTTP4 component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
@@ -624,7 +636,8 @@ Please refer to
 http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e537[SSL/TLS
 customization] for details or have a look into the
 `org.apache.camel.component.http4.HttpsServerTestSupport` unit test base
-class. +
+class.
+
  You can also implement a custom
 `org.apache.camel.component.http4.HttpClientConfigurer` to do some
 configuration on the http client if you need full control of it.
@@ -716,10 +729,10 @@ public class HttpContextFactory {
 [[HTTP4-UsingdifferentSSLContextParameters]]
 Using different SSLContextParameters
 
-The <<http4-component,HTTP4>> component only support one instance of
+The xref:http4-component.adoc[HTTP4] component only support one instance of
 `org.apache.camel.util.jsse.SSLContextParameters` per component. If you
 need to use 2 or more different instances, then you need to setup
-multiple <<http4-component,HTTP4>> components as shown below. Where we have
+multiple xref:http4-component.adoc[HTTP4] components as shown below. Where we have
 2 components, each using their own instance of `sslContextParameters`
 property.
 
@@ -734,4 +747,4 @@ property.
    <property name="sslContextParameters" ref="sslContextParams2"/>
    <property name="x509HostnameVerifier" ref="hostnameVerifier"/>
 </bean>
-----------------------------------------------------------------------------
\ No newline at end of file
+----------------------------------------------------------------------------
diff --git a/components/camel-hystrix/src/main/docs/hystrix.adoc b/components/camel-hystrix/src/main/docs/hystrix.adoc
index 4edd73e..1c4945d 100644
--- a/components/camel-hystrix/src/main/docs/hystrix.adoc
+++ b/components/camel-hystrix/src/main/docs/hystrix.adoc
@@ -1,4 +1,4 @@
-== Hystrix Component
+= Hystrix Component
 
 *Available as of Camel version 2.18*
 
@@ -46,4 +46,4 @@ The component supports 3 options, which are listed below.
 | *camel.component.hystrix.mapping.path* | Endpoint for hystrix metrics servlet. | /hystrix.stream | String
 | *camel.component.hystrix.mapping.servlet-name* | Name of the Hystrix metrics servlet. | HystrixEventStreamServlet | String
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index 81d9fb2..9f785a7 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -11,8 +11,9 @@ http://ibatis.apache.org/[Apache iBATIS].
 *Prefer MyBatis*
 
 The Apache iBatis project is no longer active. The project is moved
-outside Apache and is now know as the MyBatis project. +
-Therefore we encourage users to use <<mybatis-component,MyBatis>> instead.
+outside Apache and is now know as the MyBatis project.
+
+Therefore we encourage users to use xref:mybatis-component.adoc[MyBatis] instead.
 This camel-ibatis component will be removed in Camel 3.0.
 
 iBatis do not support Spring 4.x. So you can only use Spring 3.x or
@@ -46,9 +47,11 @@ You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
 This component will by default load the iBatis SqlMapConfig file from
-the root of the classpath and expected named as `SqlMapConfig.xml`. +
+the root of the classpath and expected named as `SqlMapConfig.xml`.
+
  It uses Spring resource loading so you can define it using `classpath`,
-`file` or `http` as prefix to load resources with those schemes. +
+`file` or `http` as prefix to load resources with those schemes.
+
  In Camel 2.2 you can configure this on the iBatisComponent with the
 `setSqlMapConfig(String)` method.
 
@@ -216,10 +219,10 @@ body to iBatis:
 
 Since this component does not support scheduled polling, you need to use
 another mechanism for triggering the scheduled polls, such as the
-<<timer-component,Timer>> or <<timer-component,Quartz>> components.
+`timer` or xref:quartz-component.adoc[Quartz] components.
 
 In the sample below we poll the database, every 30 seconds using the
-<<timer-component,Timer>> component and send the data to the JMS queue:
+`timer` component and send the data to the JMS queue:
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------------------------------
@@ -249,4 +252,3 @@ data is processed. This allows us to change the status of the row in the
 database to processed, so we avoid consuming it twice or more.
 
 And the statements in the sqlmap file:
-
diff --git a/components/camel-ical/src/main/docs/ical-dataformat.adoc b/components/camel-ical/src/main/docs/ical-dataformat.adoc
index b52104d..053fdae 100644
--- a/components/camel-ical/src/main/docs/ical-dataformat.adoc
+++ b/components/camel-ical/src/main/docs/ical-dataformat.adoc
@@ -97,5 +97,4 @@ for this component:
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------------
-
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc b/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
index 491f8a9..f53f0c8 100644
--- a/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
+++ b/components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
@@ -37,7 +37,7 @@ The IEC 60870 Client component supports 2 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 The URI syntax of the endpoint is: 
 
@@ -50,7 +50,7 @@ The information object address is encoded in the path in the syntax shows above.
 note that always the full, 5 octet address format is being used. Unused octets have to be filled
 with zero.
 
-=== URI options
+== URI options
 
 
 // endpoint options: START
@@ -147,4 +147,4 @@ The final connection options will be evaluated in the following order:
 * Otherwise the +defaultConnectionOptions+ instance is copied and customized in the following steps
 * Apply +protocolOptions+ if present
 * Apply +dataModuleOptions+ if present
-* Apply all explicit connection parameters (e.g. +timeZone+)
\ No newline at end of file
+* Apply all explicit connection parameters (e.g. +timeZone+)
diff --git a/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc b/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
index 0490a7b..4fe68cb 100644
--- a/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
+++ b/components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
@@ -38,7 +38,7 @@ The IEC 60870 Server component supports 2 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 The URI syntax of the endpoint is: 
 
@@ -51,7 +51,7 @@ The information object address is encoded in the path in the syntax shows above.
 note that always the full, 5 octet address format is being used. Unused octets have to be filled
 with zero.
 
-=== URI options
+== URI options
 
 
 
@@ -134,4 +134,4 @@ The component supports 7 options, which are listed below.
 | *camel.component.iec60870-server.enabled* | Whether to enable auto configuration of the iec60870-server component. This is enabled by default. |  | Boolean
 | *camel.component.iec60870-server.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
\ No newline at end of file
+// spring-boot-auto-configure options: END
diff --git a/components/camel-ignite/src/main/docs/ignite.adoc b/components/camel-ignite/src/main/docs/ignite.adoc
index 0bbc5dd..c0f9cf4 100644
--- a/components/camel-ignite/src/main/docs/ignite.adoc
+++ b/components/camel-ignite/src/main/docs/ignite.adoc
@@ -1,4 +1,4 @@
-== Ignite endpoints Component
+= Ignite endpoints Component
 
 *Available as of Camel version 2.17*
 
@@ -8,13 +8,13 @@ image:apache-ignite.png[]
 
 This component offers seven endpoints to cover much of Ignite's functionality:
 
-* <<ignite-cache-component,Ignite Cache>>.
-* <<ignite-compute-component,Ignite Compute>>.
-* <<ignite-messaging-component,Ignite Messaging>>.
-* <<ignite-events-component,Ignite Events>>.
-* <<ignite-set-component,Ignite Sets>>.
-* <<ignite-queue-component,Ignite Queues>>.
-* <<ignite-idgen-component,Ignite ID Generator>>.
+* xref:ignite-cache-component.adoc[Ignite Cache].
+* xref:ignite-compute-component.adoc[Ignite Compute].
+* xref:ignite-messaging-component.adoc[Ignite Messaging].
+* xref:ignite-events-component.adoc[Ignite Events].
+* xref:ignite-set-component.adoc[Ignite Sets].
+* xref:ignite-queue-component.adoc[Ignite Queues].
+* xref:ignite-idgen-component.adoc[Ignite ID Generator].
 
 To use this component, add the following dependency to your pom.xml:
 
@@ -34,7 +34,7 @@ If running in an OSGi container, please don't miss the <<Ignite-OsgiSupport,OSGi
 
 
 
-=== Initializing the Ignite component
+== Initializing the Ignite component
 
 Each instance of the Ignite component is associated with an underlying org.apache.ignite.Ignite instance. You can interact with two Ignite clusters by initializing two instances of the Ignite component and binding them to different IgniteConfigurations. There are 3 ways to initialize the Ignite component:
 
@@ -79,7 +79,7 @@ Additionally, if using Camel programmatically, there are several convenience sta
 
 You may use those methods to quickly create an IgniteComponent with your chosen configuration technique.
 
-=== General options
+== General options
 
 All endpoints share the following options:
 [width="100%",cols="1,1,1,4,1,1",options="header"]
@@ -93,7 +93,7 @@ Some Ignite operations can deal with multiple elements at once, if passed a Coll
 |=======================================================================
 
 [[Ignite-OsgiSupport]]
-=== OSGi Support
+== OSGi Support
 
 TIP: Apache Ignite supports OSGi from version 1.5.0.final onwards.
 
@@ -103,4 +103,3 @@ When installing on Apache Karaf:
 2. You must have exported from the JRE (system bundle) some low-level, non-standard packages that Ignite requires.
 
 Please refer to the OSGi section in the Ignite documentation for more information.
-
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index 4066778..72a0c44 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -268,5 +268,4 @@ XML file as well:
 </camelContext>
 ----
 
-== Using the Infinispan based route policy
-
+== Using the Infinispan based route policy
\ No newline at end of file
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index edb8aac..fe56c1a 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -142,5 +142,4 @@ from("direct:start")
         .to("influxdb://connectionBean?databaseName=myTimeSeriesDB");
 ------------------------------------------------------------------------------------
 
-For more information, see these resources...
-
+For more information, see these resources...
\ No newline at end of file
diff --git a/components/camel-iota/src/main/docs/iota-component.adoc b/components/camel-iota/src/main/docs/iota-component.adoc
index 90abe76..cf63540 100644
--- a/components/camel-iota/src/main/docs/iota-component.adoc
+++ b/components/camel-iota/src/main/docs/iota-component.adoc
@@ -19,14 +19,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------
 iota:name?url=nodeurl[&moreOptions...]
 ---------------------------------------------------------------------------------------------------------------
 
-=== Options
+== Options
 
 // component options: START
 The IOTA component has no options.
@@ -98,7 +98,7 @@ The component supports 2 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Sample route
+== Sample route
 
 The following route defined in Spring XML send a message to tangle
 
@@ -171,8 +171,3 @@ The following route defined in Spring XML retrieve transfers data
   <to uri="direct:result" />
 </route>
 ---------------------------------------------------------------------------------------------------------------------------
-
-=== See also
-
-* https://www.iota.org/[IOTA website]
-* https://github.com/iotaledger/iota.lib.java[IOTA java lib]
\ No newline at end of file
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index c66c9dc..c7745a1 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -243,4 +243,4 @@ from("ircs:nick@myserver:1234/#mychannelname?namesOnJoin=true&onReply=true")
 		.when(header("irc.messageType").isEqualToIgnoreCase("REPLY"))
 			.filter(header("irc.num").isEqualTo("353"))
 			.to("mock:result").stop();
------------------------------------------------------------------------------
+-----------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-ironmq/src/main/docs/ironmq-component.adoc b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
index d20900d..0e0a5d7 100644
--- a/components/camel-ironmq/src/main/docs/ironmq-component.adoc
+++ b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
@@ -185,4 +185,4 @@ Dequeue from activemq jms and enqueue the messages on IronMQ.
 --------------------------------------------------
 from("activemq:foo")
   .to("ironmq:testqueue?projectId=myIronMQProjectid&token=myIronMQToken");
---------------------------------------------------
+--------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
index 9bcf4527..81f3e5d 100644
--- a/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
+++ b/components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
@@ -14,7 +14,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-=== Jackson Options
+== Jackson Options
 
 
 
@@ -93,7 +93,7 @@ The component supports 20 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Using custom ObjectMapper
+== Using custom ObjectMapper
 
 You can configure `JacksonDataFormat` to use a custom `ObjectMapper` in case you need more control of the mapping configuration.
 
@@ -102,7 +102,7 @@ For example if you use Spring Boot, then Spring Boot can provide a default `Obje
 And this would allow Camel to detect that there is one bean of `ObjectMapper` class type in the Spring Boot bean registry
 and then use it. When this happens you should set a `INFO` logging from Camel.
 
-=== Dependencies
+== Dependencies
 
 To use Jackson in your camel routes you need to add the dependency
 on *camel-jackson* which implements this data format.
@@ -119,4 +119,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
index 6295745..7c55575 100644
--- a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
+++ b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
@@ -214,7 +214,8 @@ Or from XML DSL you configure this as
 == Unmarshalling from XML to POJO with dynamic class name
 
 If you use jackson to unmarshal XML to POJO, then you can now specify a
-header in the message that indicate which class name to unmarshal to. +
+header in the message that indicate which class name to unmarshal to.
+
 The header has key `CamelJacksonUnmarshalType` if that header is present
 in the message, then Jackson will use that as FQN for the POJO class to
 unmarshal the XML payload as.
@@ -400,4 +401,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jasypt/src/main/docs/jasypt.adoc b/components/camel-jasypt/src/main/docs/jasypt.adoc
index 4c63f2a..b7b0787 100644
--- a/components/camel-jasypt/src/main/docs/jasypt.adoc
+++ b/components/camel-jasypt/src/main/docs/jasypt.adoc
@@ -75,7 +75,8 @@ Encrypted text: qaEEacuW7BUti8LcMgyjKw==
 
 This means the encrypted representation `qaEEacuW7BUti8LcMgyjKw==` can
 be decrypted back to `tiger` if you know the master password which was
-`secret`. +
+`secret`.
+
  If you run the tool again then the encrypted value will return a
 different result. But decrypting the value will always return the
 correct original value.
@@ -284,5 +285,4 @@ to Jasypt.
     </camelContext>
 
 </blueprint>
-----------------------------------------------------------------------------------------------------------------
-
+----------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-javaspace/src/main/docs/javaspace-component.adoc b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
index 750ba70..d56ce05 100644
--- a/components/camel-javaspace/src/main/docs/javaspace-component.adoc
+++ b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
@@ -7,19 +7,23 @@
 The *javaspace* component is a transport for working with any JavaSpace
 compliant implementation and this component has been tested with both
 the http://www.dancres.org/blitz/[Blitz implementation] and the
-http://www.gigaspaces.com/[GigaSpace implementation]. +
+http://www.gigaspaces.com/[GigaSpace implementation].
+
  This component can be used for sending and receiving any object
 inheriting from the Jini `net.jini.core.entry.Entry` class. It is also
 possible to pass the bean ID of a template that can be used for
-reading/taking the entries from the space. +
+reading/taking the entries from the space.
+
  This component can be used for sending/receiving any serializable
 object acting as a sort of generic transport. The JavaSpace component
 contains a special optimization for dealing with the `BeanExchange`. It
 can be used to invoke a POJO remotely, using a JavaSpace as a
-transport. +
+transport.
+
  This latter feature can provide a simple implementation of the
 master/worker pattern, where a POJO provides the business logic for the
-worker. +
+worker.
+
  Look at the test cases for examples of various use cases for this
 component.
 
@@ -170,5 +174,4 @@ from("javaspace:jini://localhost?concurrentConsumers=10&spaceName=mySpace")
 In the code there are two test cases showing how to use a POJO to
 realize the master/worker pattern. The idea is to use the POJO to
 provide the business logic and rely on Camel for sending/receiving
-requests/replies with the proper correlation.
-
+requests/replies with the proper correlation.
\ No newline at end of file
diff --git a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
index 69bed0b..94b32b4 100644
--- a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -128,12 +128,14 @@ implementation and might change if you use different vendor than RI.
 
 == Partial marshalling/unmarshalling
 
-*This feature is new to Camel 2.2.0.* +
+*This feature is new to Camel 2.2.0.*
+
  JAXB 2 supports marshalling and unmarshalling XML tree fragments. By
 default JAXB looks for `@XmlRootElement` annotation on given class to
 operate on whole XML tree. This is useful but not always - sometimes
 generated code does not have @XmlRootElement annotation, sometimes you
-need unmarshall only part of tree. +
+need unmarshall only part of tree.
+
  In that case you can use partial unmarshalling. To enable this
 behaviours you need set property `partClass`. Camel will pass this class
 to JAXB's unmarshaler. If `JaxbConstants.JAXB_PART_CLASS` is set as
@@ -157,7 +159,8 @@ note that you need to specify its value {[namespaceUri]}[localPart]
 
 == Fragment
 
-*This feature is new to Camel 2.8.0.* +
+*This feature is new to Camel 2.8.0.*
+
  JaxbDataFormat has new property fragment which can set the the
 `Marshaller.JAXB_FRAGMENT` encoding property on the JAXB Marshaller. If
 you don't want the JAXB Marshaller to generate the XML declaration, you
@@ -166,7 +169,8 @@ false.
 
 == Ignoring the NonXML Character
 
-*This feature is new to Camel 2.2.0.* +
+*This feature is new to Camel 2.2.0.*
+
  JaxbDataFromat supports to ignore the
 http://www.w3.org/TR/2004/REC-xml-20040204/#NT-Char[NonXML Character],
 you just need to set the filterNonXmlChars property to be true,
@@ -188,7 +192,8 @@ the Exchange property
 This feature has been tested with Woodstox 3.2.9 and Sun JDK 1.6 StAX
 implementation.
 
-*New for Camel 2.12.1* +
+*New for Camel 2.12.1*
+
  JaxbDataFormat now allows you to customize the XMLStreamWriter used to
 marshal the stream to XML. Using this configuration, you can add your
 own stream writer to completely remove, escape, or replace non-xml
@@ -217,7 +222,8 @@ http://java.sun.com/javase/6/docs/api/javax/xml/bind/JAXBElement.html[JAXBElemen
 to hold the reference of the schema and element instance value,
 jaxbDataformat will ignore the JAXBElement by default and you will get
 the element instance value instead of the JAXBElement object form the
-unmarshaled message body.  +
+unmarshaled message body. 
+
  If you want to get the JAXBElement object form the unmarshaled message
 body, you need to set the JaxbDataFormat object's ignoreJAXBElement
 property to be false.
@@ -225,7 +231,8 @@ property to be false.
 == Setting encoding
 
 You can set the *encoding* option to use when marshalling. Its the
-`Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller. +
+`Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller.
+
  You can setup which encoding to use when you declare the JAXB data
 format. You can also provide the encoding in the
 Exchange property `Exchange.CHARSET_NAME`. This
@@ -237,7 +244,7 @@ In this Spring DSL we have defined to use `iso-8859-1` as the encoding:
 
 *Available as of Camel 2.11*
 
-When marshalling using <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> then
+When marshalling using xref:jaxb-dataformat.adoc[JAXB] or xref:soapjaxb-dataformat.adoc[SOAP] then
 the JAXB implementation will automatic assign namespace prefixes, such
 as ns2, ns3, ns4 etc. To control this mapping, Camel allows you to refer
 to a map which contains the desired mapping.
@@ -259,7 +266,7 @@ namespace "http://www.mycompany.com/foo/2" is not using any prefix.
   </util:map>
 -----------------------------------------------------------------------
 
-To use this in <<jaxb-dataformat,JAXB>> or <<jaxb-dataformat,SOAP>> you refer to
+To use this in xref:jaxb-dataformat.adoc[JAXB] or xref:soapjaxb-dataformat.adoc[SOAP] you refer to
 this map, using the `namespacePrefixRef` attribute as shown below. Then
 Camel will lookup in the Registry a `java.util.Map`
 with the id "myMap", which was what we defined above.
@@ -308,7 +315,8 @@ You can do the same using the XML DSL:
 
 Camel will create and pool the underling `SchemaFactory` instances on
 the fly, because the `SchemaFactory` shipped with the JDK is not thread
-safe. +
+safe.
+
  However, if you have a `SchemaFactory` implementation which is thread
 safe, you can configure the JAXB data format to use this one:
 
@@ -372,4 +380,4 @@ the download page for the latest versions).
   <artifactId>camel-jaxb</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-jbpm/src/main/docs/jbpm-component.adoc b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
index 4abcfd5..2d6e2a1 100644
--- a/components/camel-jbpm/src/main/docs/jbpm-component.adoc
+++ b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
@@ -36,7 +36,7 @@ jBPM Consumer allows to attach routes to
 jbpm::events:type:[classifier][?options]
 ---------------------------------------------
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -300,5 +300,4 @@ from("direct:start")
         .setHeader((JBPMConstants.PARAMETERS, params))
         .to("jbpm:http://localhost:8080/kie-server/services/rest/server?userName=wbadmin&password=wbadmin
         &deploymentId=evaluation");
-----------------------------------------------------------------------------------------------
-
+----------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jcache/src/main/docs/jcache-component.adoc b/components/camel-jcache/src/main/docs/jcache-component.adoc
index 28a4370..e977a7d 100644
--- a/components/camel-jcache/src/main/docs/jcache-component.adoc
+++ b/components/camel-jcache/src/main/docs/jcache-component.adoc
@@ -118,4 +118,4 @@ The JCache component supports 5 options, which are listed below.
 | *configurationUri* (common) | An implementation specific URI for the CacheManager |  | String
 | *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
 |===
-// component options: END
+// component options: END
\ No newline at end of file
diff --git a/components/camel-jclouds/src/main/docs/jclouds-component.adoc b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
index 4d057a8..0cf401b 100644
--- a/components/camel-jclouds/src/main/docs/jclouds-component.adoc
+++ b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
@@ -6,13 +6,15 @@
 
 This component allows interaction with cloud provider key-value engines
 (blobstores) and compute services. The component uses
-http://code.google.com/p/jclouds[jclouds] which is +
+http://code.google.com/p/jclouds[jclouds] which is
+
  a library that provides abstractions for blobstores and compute
 services.
 
 *ComputeService* simplifies the task of managing machines in the cloud.
 For example, you can use ComputeService to start 5 machines and install
-your software on them. +
+your software on them.
+
  *BlobStore* simplifies dealing with key-value providers such as Amazon
 S3. For example, BlobStore can give you a simple Map view of a
 container.
@@ -203,9 +205,12 @@ using the jclouds component.
 [source,java]
 ------------------------------------
 from("direct:start")
-    .to("jclouds:blobstore:aws-s3" +
-        "?operation=PUT" +
-        "&container=mycontainer" +
+    .to("jclouds:blobstore:aws-s3"
+
+        "?operation=PUT"
+
+        "&container=mycontainer"
+
         "&blobName=myblob");
 ------------------------------------
 
@@ -230,9 +235,12 @@ the jclouds component.
 [source,java]
 ------------------------------------
 from("direct:start")
-    .to("jclouds:blobstore:aws-s3" +
-        "?operation=GET" +
-        "&container=mycontainer" +
+    .to("jclouds:blobstore:aws-s3"
+
+        "?operation=GET"
+
+        "&container=mycontainer"
+
         "&blobName=myblob");
 ------------------------------------
 
@@ -257,7 +265,8 @@ as body.
 
 [source,java]
 -------------------------------------
-    from("jclouds:blobstore:aws-s3" +
+    from("jclouds:blobstore:aws-s3"
+
         "?container=mycontainer")
         .to("direct:next");
 -------------------------------------
@@ -288,7 +297,8 @@ producer in java dsl and spring/blueprint xml.
 
 [source,java]
 --------------------------------------------
-    from("jclouds:compute:aws-ec2" +
+    from("jclouds:compute:aws-ec2"
+
         "&operation=CamelJCloudsListImages")
         .to("direct:next");
 --------------------------------------------
@@ -309,10 +319,14 @@ its body. You can also do the same using xml.
 [source,java]
 ---------------------------------------------
     from("direct:start").
-    to("jclouds:compute:aws-ec2" +
-        "?operation=CamelJcloudsCreateNode" +
-        "&imageId=AMI_XXXXX" +
-        "&locationId=XXXXX" +
+    to("jclouds:compute:aws-ec2"
+
+        "?operation=CamelJcloudsCreateNode"
+
+        "&imageId=AMI_XXXXX"
+
+        "&locationId=XXXXX"
+
         "&group=myGroup");
 ---------------------------------------------
 
@@ -334,9 +348,12 @@ spring xml.
 [source,java]
 --------------------------------------------
     from("direct:start").
-    to("jclouds:compute:aws-ec2" +
-        "?operation=CamelJcloudsRunScript" +
-        "?nodeId=10" +
+    to("jclouds:compute:aws-ec2"
+
+        "?operation=CamelJcloudsRunScript"
+
+        "?nodeId=10"
+
         "&user=ubuntu");
 --------------------------------------------
 
@@ -361,14 +378,3 @@ Here is the same using spring xml.
     <to uri="jclouds:compute:aws-ec2?operation=CamelJcloudsListNodes&?nodeId=10&user=ubuntu"/>
 </route>
 ----------------------------------------------------------------------------------------------
-
-=== See also
-
-If you want to find out more about jclouds here is list of interesting
-resources 
-
-http://jclouds.incubator.apache.org/documentation/userguide/blobstore-guide/[Jclouds
-Blobstore wiki] 
-
-http://jclouds.incubator.apache.org/documentation/userguide/compute/[Jclouds
-Compute wiki]
\ No newline at end of file
diff --git a/components/camel-jcr/src/main/docs/jcr-component.adoc b/components/camel-jcr/src/main/docs/jcr-component.adoc
index 2d848b7..faa8cdb 100644
--- a/components/camel-jcr/src/main/docs/jcr-component.adoc
+++ b/components/camel-jcr/src/main/docs/jcr-component.adoc
@@ -155,5 +155,4 @@ all the children.
     <from uri="jcr://user:pass@repository/import-application/inbox?eventTypes=3&deep=true" />
     <to uri="direct:execute-import-application" />
 </route>
----------------------------------------------------------------------------------------------
-
+---------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index e3f5ce1..46e7cff 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -169,7 +169,8 @@ type.
 
 If you insert data using SQL INSERT, then the RDBMS may support auto
 generated keys. You can instruct the xref:jdbc-component.adoc[JDBC] producer to
-return the generated keys in headers. +
+return the generated keys in headers.
+
  To do that set the header `CamelRetrieveGeneratedKeys=true`. Then the
 generated keys will be provided as headers with the keys listed in the
 table above.
@@ -186,7 +187,8 @@ Using generated keys does not work with together with named parameters.
 
 In the given route below, we want to get all the projects from the
 projects table. Notice the SQL query has 2 named parameters, :?lic and
-:?min. +
+:?min.
+
  Camel will then lookup these parameters from the message headers.
 Notice in the example above we set two headers with constant value
  for the named parameters:
@@ -266,4 +268,4 @@ from("timer://MoveNewCustomersEveryHour?period=3600000")
         .process(new MyCustomerProcessor()) //filter/transform results as needed
         .setBody(simple("insert into processed_customer values('${body[ID]}','${body[NAME]}')"))
         .to("jdbc:testdb");
-----
+----
\ No newline at end of file
diff --git a/components/camel-jetty9/src/main/docs/jetty-component.adoc b/components/camel-jetty9/src/main/docs/jetty-component.adoc
index c34437e..bb3c4f4 100644
--- a/components/camel-jetty9/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty9/src/main/docs/jetty-component.adoc
@@ -8,7 +8,8 @@ WARNING: The producer is deprecated - do not use. We only recommend using jetty
 
 The *jetty* component provides HTTP-based endpoints
 for consuming and producing HTTP requests. That is, the Jetty component
-behaves as a simple Web server. +
+behaves as a simple Web server.
+
  Jetty can also be used as a http client which mean you can also use it
 with Camel as a producer.
 
@@ -17,7 +18,8 @@ with Camel as a producer.
 The `assert` call appears in this example, because the code is part of
 an unit test.Jetty is stream based, which means the input it receives is
 submitted to Camel as a stream. That means you will only be able to read
-the content of the stream *once*. +
+the content of the stream *once*.
+
 If you find a situation where the message body appears to be empty or
 you need to access the Exchange.HTTP_RESPONSE_CODE data multiple times
 (e.g.: doing multicasting, or redelivery error handling), you should use
@@ -37,7 +39,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -47,7 +49,7 @@ jetty:http://hostname[:port][/resourceUri][?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 
 
@@ -251,7 +253,7 @@ The component supports 34 options, which are listed below.
 
 === Message Headers
 
-Camel uses the same message headers as the <<http-component,HTTP>>
+Camel uses the same message headers as the xref:http-component.adoc[HTTP]
 component. 
 From Camel 2.2, it also uses (Exchange.HTTP_CHUNKED,CamelHttpChunked)
 header to turn on or turn off the chuched encoding on the camel-jetty
@@ -269,7 +271,7 @@ message header not only from Get Method, but also other HTTP method.
 
 The Jetty component supports both consumer and producer endpoints.
 Another option for producing to other HTTP endpoints, is to use the
-<<http-component,HTTP Component>>
+xref:http-component.adoc[HTTP]
 
 === Producer Example
 
@@ -313,16 +315,17 @@ If you need to expose a Jetty endpoint on all network interfaces, the
 `0.0.0.0` address should be used.
 
 To listen across an entire URI prefix, see
-link:how-do-i-let-jetty-match-wildcards.html[How do I let Jetty match
+xref:latest@manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match
 wildcards].
 
 If you actually want to expose routes by HTTP and already have a
 Servlet, you should instead refer to the
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=46339[Servlet
+xref:servlet-component.adoc[Servlet
 Transport].
 
 Our business logic is implemented in the `MyBookService` class, which
-accesses the HTTP request contents and then returns a response. +
+accesses the HTTP request contents and then returns a response.
+
  *Note:* The `assert` call appears in this example, because the code is
 part of an unit test.
 
@@ -335,8 +338,8 @@ Jetty component will copy the HTTP request parameter, `one` to the
 exchange's `in.header`. We can then use the `simple` language to route
 exchanges that contain this header to a specific endpoint and all others
 to another. If we used a language more powerful than
-<<simple-language,Simple>> (such as <<el-language,EL>> or
-<<ognl-language,OGNL>>) we could also test for the parameter value and do
+xref:latest@manual::simple-language.adoc[Simple] (such as xref:el-language.adoc[EL] or
+xref:ognl-language.adoc[OGNL]) we could also test for the parameter value and do
 routing based on the header value as well.
 
 === Session Support
@@ -378,7 +381,7 @@ public void process(Exchange exchange) throws Exception {
 Using the JSSE Configuration Utility
 
 As of Camel 2.8, the Jetty component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
@@ -638,7 +641,8 @@ The default behavior of HTTP status codes is defined by the
 handles how a response is written and also sets the HTTP status code.
 
 If the exchange was processed successfully, the 200 HTTP status code is
-returned. +
+returned.
+
  If the exchange failed with an exception, the 500 HTTP status code is
 returned, and the stacktrace is returned in the body. If you want to
 specify which HTTP status code to return, set the code in the
@@ -746,8 +750,9 @@ comma-separated list of bean IDs.
 === How to return a custom HTTP 500 reply message
 
 You may want to return a custom reply message when something goes wrong,
-instead of the default reply message Camel <<jetty-component,Jetty>>
-replies with. +
+instead of the default reply message Camel xref:jetty-component.adoc[Jetty]
+replies with.
+
  You could use a custom `HttpBinding` to be in control of the message
 mapping, but often it may be easier to use Camel's
 Exception Clause to construct the custom
diff --git a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
index 9a42e17..48404f7 100644
--- a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
+++ b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
@@ -193,7 +193,7 @@ from("jgroups-raft:clusterName?enableRoleChangeEvents=true").to(mock:mockEndpoin
 The snippet below demonstrates how to keep the singleton consumer route
 in the cluster of Camel Contexts. As soon as the master node dies, one
 of the slaves will be elected as a new master and started. In this
-particular example we want to keep singleton <<jetty-component,jetty>>
+particular example we want to keep singleton xref:jetty-component.adoc[Jetty]
 instance listening for the requests on
 address` http://localhost:8080/orders`.
 
@@ -207,4 +207,4 @@ service.setJgroupsClusterName("clusterName");
 context.addService(service);
 
 from("master:mycluster:jetty:http://localhost:8080/orders").to("jms:orders"); 
------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index bd493c6..6fb72aa 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -293,4 +293,4 @@ service.setId("uniqueNodeId");
 context.addService(service);
 
 from("master:mycluster:jetty:http://localhost:8080/orders").to("jms:orders"); 
------------------------------------------------------------------------------------------------------------------------------------------------------------------
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
index 6c65051..b63184b 100644
--- a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
+++ b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
@@ -121,4 +121,4 @@ the download page for the latest versions).
   <artifactId>camel-jibx</artifactId>
   <version>2.6.0</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index 57fc037..7cc2bda 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -25,10 +25,10 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the <<msv-component,MSV>> component can also support RelaxNG XML
+Note that the xref:msv-component.adoc[MSV] component can also support RelaxNG XML
 syntax.
 
-== URI format Camel 2.16
+== URI format
 
 [source,java]
 ------------------------------
@@ -116,5 +116,4 @@ shows how to configure a route from the endpoint *direct:start* which
 then goes to one of two endpoints, either *mock:valid* or *mock:invalid*
 based on whether or not the XML matches the given
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
-Syntax] schema (which is supplied on the classpath).
-
+Syntax] schema (which is supplied on the classpath).
\ No newline at end of file
diff --git a/components/camel-jira/src/main/docs/jira-component.adoc b/components/camel-jira/src/main/docs/jira-component.adoc
index 0ffde7f..195c036 100644
--- a/components/camel-jira/src/main/docs/jira-component.adoc
+++ b/components/camel-jira/src/main/docs/jira-component.adoc
@@ -148,4 +148,4 @@ delay, etc.  Example:
 [source,text]
 ----------------------------------------------------------------------------------------------------------------------------------------------
 jira://[endpoint]?[required options]&jql=RAW(project=[project key] AND status in (Open, \"Coding In Progress\") AND \"Number of comments\">0)"
-----------------------------------------------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index 59bce36..6c3264f 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -1,10 +1,8 @@
 [[jms-component]]
 = JMS Component
 ifdef::env-github[]
-*Available as of Camel version 1.0.0*
 *Available as of Camel version 1.0*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -88,7 +86,8 @@ jms:queue:FOO.BAR
 -----------------
 
 To connect to a topic, you _must_ include the `topic:` prefix. For
-example, to +
+example, to
+
  connect to the topic, `Stocks.Prices`, use:
 
 -----------------------
@@ -857,9 +856,11 @@ For the `exchange.in.header` the following rules apply for the header
 * `exchange.in.headers` keys must be literals and all be valid Java
 identifiers (do not use dots in the key name).
 * Camel replaces dots & hyphens and the reverse when when consuming JMS
-messages: +
+messages:
+
  `.` is replaced by `_DOT_` and the reverse replacement when Camel
-consumes the message. +
+consumes the message.
+
  `-` is replaced by `_HYPHEN_` and the reverse replacement when Camel
 consumes the message.
 * See also the option `jmsKeyFormatStrategy`, which allows use of your
@@ -991,7 +992,8 @@ So pay attention to the message exchange pattern set on your exchanges.
 
 If you send a message to a JMS destination in the middle of your route
 you can specify the exchange pattern to use, see more at
-Request Reply. +
+Request Reply.
+
  This is useful if you want to send an `InOnly` message to a JMS topic:
 
 [source,java]
@@ -1203,9 +1205,11 @@ queue, but you can use the `replyTo` option on the endpoint to specify a
 fixed reply queue (see more below about fixed reply queue).
 
 Camel will automatic setup a consumer which listen on the reply queue,
-so you should *not* do anything. +
+so you should *not* do anything.
+
  This consumer is a Spring `DefaultMessageListenerContainer` which
-listen for replies. However it's fixed to 1 concurrent consumer. +
+listen for replies. However it's fixed to 1 concurrent consumer.
+
  That means replies will be processed in sequence as there are only 1
 thread to process the replies. You can configure the listener to use
 concurrent threads using the `concurrentConsumers` and
@@ -1254,7 +1258,8 @@ from(xxx)
 ----------------------------------------------------------------
 
 Notice this will cause the Camel to send pull requests to the message
-broker more frequent, and thus require more network traffic. +
+broker more frequent, and thus require more network traffic.
+
  It is generally recommended to use temporary queues if possible.
 
 === Request-reply over JMS and using an exclusive fixed reply queue
@@ -1271,7 +1276,8 @@ in theory the reply messages could take up till about 1 sec to be
 detected. On the other hand if the fixed reply queue is exclusive to the
 Camel reply consumer, then we can avoid using the JMS selectors, and
 thus be more performant. In fact as fast as using temporary queues. There is
-the `ReplyToType` option which you can configure to `Exclusive` +
+the `ReplyToType` option which you can configure to `Exclusive`
+
  to tell Camel that the reply queue is exclusive as shown in the example
 below:
 
@@ -1537,4 +1543,4 @@ wmq.setDestinationResolver(new DestinationResolver() {
         return wmqSession.createQueue("queue:///" + destinationName + "?targetClient=1");
     }
 });
-----------------------------------------------------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jmx/src/main/docs/jmx-component.adoc b/components/camel-jmx/src/main/docs/jmx-component.adoc
index adacc1d..3943ed8 100644
--- a/components/camel-jmx/src/main/docs/jmx-component.adoc
+++ b/components/camel-jmx/src/main/docs/jmx-component.adoc
@@ -1,10 +1,8 @@
 [[jmx-component]]
 = JMX Component
 ifdef::env-github[]
-*Available as of Camel version 2.6.0*
 *Available as of Camel version 2.6*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -12,17 +10,17 @@ ifdef::env-github[]
 :warning-caption: :warning:
 endif::[]
 
-=== Camel JMX
+== Camel JMX
 
 Apache Camel has extensive support for JMX to allow you to monitor and
 control the Camel managed objects with a JMX client.
 
-Camel also provides a <<jmx-component,JMX>> component that allows you to
+Camel also provides a xref:jmx-component.adoc[JMX] component that allows you to
 subscribe to MBean notifications. This page is about how to manage and
 monitor Camel using JMX.
 
 
-=== Options
+== Options
 
 // component options: START
 The JMX component has no options.
@@ -445,7 +443,8 @@ in Camel 1.5)
 </camel:camelContext>
 ----
 
-. Alter your JBoss instance to use the Platform `MBeanServer`. +
+. Alter your JBoss instance to use the Platform `MBeanServer`.
+
 Add the following property to your `JAVA_OPTS` by editing `run.sh` or
 `run.conf` `-Djboss.platform.mbeanserver`. See
 http://wiki.jboss.org/wiki/JBossMBeansInJConsole
@@ -707,7 +706,8 @@ image:jconsole_trace_notifications.png[image]
 
 ==== Registering your own Managed Endpoints
 
-*Available as of Camel 2.0* +
+*Available as of Camel 2.0*
+
 You can decorate your own endpoints with Spring managed annotations
 `@ManagedResource` to allow to register them in the Camel `MBeanServer`
 and thus access your custom MBeans using JMX.
@@ -1087,5 +1087,4 @@ declared that the `EndpointUri` JMX attribute is masked:
 ----
 @ManagedAttribute(description = "Endpoint URI", mask = true)
 String getEndpointUri();
-----
-
+----
\ No newline at end of file
diff --git a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
index 63fdc71..7393272 100644
--- a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
+++ b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
@@ -111,4 +111,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index e5b43b7..4882ca3 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -32,7 +32,7 @@ jolt:specName[?options]
 
 Where *specName* is the classpath-local URI of the specification to
 invoke; or the complete URL of the remote specification
-(eg: file://folder/myfile.vm[file://folder/myfile.json]).
+(eg: `\file://folder/myfile.vm`).
 
 You can append query options to the URI in the following
 format, `?option=value&option=value&...`
@@ -154,4 +154,3 @@ from("direct:in").
 ---------------------------------------------------------------------
 
  
-
diff --git a/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc
index 91b9c72..b11dcc1 100644
--- a/components/camel-josql/src/main/docs/sql-language.adoc
+++ b/components/camel-josql/src/main/docs/sql-language.adoc
@@ -7,13 +7,13 @@
 The SQL support is added by http://josql.sourceforge.net/[JoSQL] and is
 primarily used for performing SQL queries on in-memory objects. If you
 prefer to perform actual database queries then check out the
-<<jpa-component,JPA>> component.
+xref:jpa-component.adoc[JPA] component.
 
 *Looking for the SQL component*
 
-Camel has both a <<sql-component,SQL>> language and a
-<<sql-component,SQL Component>>. This page is about the SQL
-language. Click on <<sql-component,SQL Component>> if you are
+Camel has both a xref:sql-component.adoc[SQL] language and a
+xref:sql-component.adoc[SQL Component]. This page is about the SQL
+language. Click on xref:sql-component.adoc[SQL Component] if you are
 looking for the component instead.
 
 To use SQL in your camel routes you need to add the a dependency on
@@ -35,9 +35,9 @@ the download page for the latest versions).
 
 Camel supports http://en.wikipedia.org/wiki/SQL[SQL] to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration]. For example you could use SQL to create an
-Predicate in a link:message-filter.html[Message
+Predicate in a xref:latest@manual::filter-eip.adoc[Message
 Filter] or as an Expression for a
 Recipient List.
 
@@ -104,11 +104,12 @@ The component supports 2 options, which are listed below.
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
 [source,java]
 ----------------------------------------------------------
 .setHeader("myHeader").sql("resource:classpath:mysql.sql")
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index e06c10d..407e49b 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -82,7 +82,7 @@ jpa:entityClassName[?options]
 -----------------------------
 
 For sending to the endpoint, the _entityClassName_ is optional. If
-specified, it helps the link:http://camel.apache.org/type-converter.html[Type Converter] to
+specified, it helps the xref:latest@manual::type-converter.adoc[Type Converter] to
 ensure the body is of the correct type.
 
 For consuming, the _entityClassName_ is mandatory.
@@ -398,12 +398,12 @@ the message body.
 
 == Example
 
-See link:http://camel.apache.org/tracer-example.html[Tracer Example] for an example using
-<<jpa-component,JPA>> to store traced messages into a database.
+See https://github.com/apache/camel/tree/camel-2.x/examples/camel-example-tracer[Tracer Example] for an example using
+xref:jpa-component.adoc[JPA] to store traced messages into a database.
 
 == Using the JPA-Based Idempotent Repository
 
-The Idempotent Consumer from the http://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] is used to filter out duplicate messages. A JPA-based idempotent repository is provided.
+The Idempotent Consumer from the xref:latest@manual::enterprise-integration-patterns.adoc[EIP patterns] is used to filter out duplicate messages. A JPA-based idempotent repository is provided.
 
 To use the JPA based idempotent repository.
 
@@ -472,6 +472,3 @@ argument to the JVM:
  
 -javaagent:<path_to_your_local_m2_cache>/org/apache/openjpa/openjpa/2.2.1/openjpa-2.2.1.jar
 -------------------------------------------------------------------------------------------
-
-
-
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index 4c10452..1ed9b0d 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -7,7 +7,7 @@
 The *camel-jsch* component supports the
 http://en.wikipedia.org/wiki/Secure_copy[SCP protocol] using the Client
 API of the http://www.jcraft.com/jsch/[Jsch] project. Jsch is already
-used in camel by the <<ftp-component,FTP>> component for the *sftp:*
+used in camel by the xref:ftp-component.adoc[FTP component] component for the *sftp:*
 protocol.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -151,5 +151,4 @@ The component supports 3 options, which are listed below.
 
 Currently camel-jsch only supports a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html[Producer]
-(i.e. copy files to another host). 
-
+(i.e. copy files to another host). 
\ No newline at end of file
diff --git a/components/camel-json-validator/src/main/docs/json-validator-component.adoc b/components/camel-json-validator/src/main/docs/json-validator-component.adoc
index 55f1ad3..5c43bad 100644
--- a/components/camel-json-validator/src/main/docs/json-validator-component.adoc
+++ b/components/camel-json-validator/src/main/docs/json-validator-component.adoc
@@ -22,7 +22,7 @@ for this component:
 ----
 
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -34,7 +34,7 @@ Where *resourceUri* is some URL to a local resource on the classpath or a
 full URL to a remote resource or resource on the file system which contains 
 the JSON Schema to validate against.
  
-=== URI Options
+== URI Options
 
 // component options: START
 The JSON Schema Validator component has no options.
@@ -106,7 +106,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== Example
+== Example
 
 Assumed we have the following JSON Schema
 
diff --git a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
index cca70f4..dd3f8b7 100644
--- a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
+++ b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
@@ -20,7 +20,7 @@ from("queue:books.new")
       .to("jms:queue:book.expensive")
 -----------------------------------------------------
 
-=== JSonPath Options
+== JSonPath Options
 
 
 // language options: START
@@ -76,10 +76,10 @@ The component supports 7 options, which are listed below.
 
 
 
-=== Using XML configuration
+== Using XML configuration
 
 If you prefer to configure your routes in your Spring
-XML file then you can use <<jsonpath-language,JSonPath>> expressions as
+XML file then you can use xref:jsonpath-language.adoc[JSonPath] expressions as
 follows
 
 [source,xml]
@@ -104,12 +104,12 @@ follows
 </camelContext>
 ----
 
-=== Syntax
+== Syntax
 
 See the https://code.google.com/p/json-path/[JSonPath] project page for
 further examples.
 
-=== Easy Syntax
+== Easy Syntax
 
 *Available as of Camel 2.19*
 
@@ -147,7 +147,7 @@ You can use Camel simple language in the right operator, eg
 store.book.price < ${header.limit}
 ----
 
-=== Supported message body types
+== Supported message body types
 
 Camel JSonPath supports message body using the following types:
 
@@ -168,7 +168,7 @@ If a message body is of unsupported type then an exception is thrown by default,
 can configure JSonPath to suppress exceptions (see below)
 
 
-=== Suppress exceptions
+== Suppress exceptions
 
 *Available as of Camel 2.16*
 
@@ -209,11 +209,11 @@ And in XML DSL:
 
 This option is also available on the `@JsonPath` annotation.
 
-=== Inline Simple exceptions
+== Inline Simple exceptions
 
 *Available as of Camel 2.18*
 
-Its now possible to inlined Simple language expressions in the JSonPath expression using the simple syntax \${xxx}.
+Its now possible to inlined Simple language expressions in the JSonPath expression using the simple syntax $\{xxx\}.
 An example is shown below:
 
 [source,java]
@@ -264,7 +264,7 @@ And in XML DSL:
 <jsonpath allowSimple="false">$.store.book[?(@.price < 10)]</jsonpath>
 ----
 
-=== JSonPath injection
+== JSonPath injection
 
 You can use Bean Integration to invoke a
 method on a bean and use various languages such as JSonPath to extract a
@@ -283,7 +283,7 @@ public class Foo {
 }
 ----
 
-=== Encoding Detection
+== Encoding Detection
 
 *Since Camel version 2.16*, the encoding of the JSON document is
 detected automatically, if the document is encoded in unicode  (UTF-8,
@@ -293,7 +293,7 @@ you enter the document in String format to the JSONPath component or you
 can specify the encoding in the header "*CamelJsonPathJsonEncoding*"
 (JsonpathConstants.HEADER_JSON_ENCODING).
 
-=== Split JSon data into sub rows as JSon
+== Split JSon data into sub rows as JSon
 
 You can use jsonpath to split a JSon document, such as:
 
@@ -319,7 +319,7 @@ Then each book is logged as a String JSon value. For earlier versions of Camel y
 would need to use camel-jackson dataformat and marshal the message body to make it
 convert the message body from `Map` to a `String` type.
 
-=== Using header as input
+== Using header as input
 *Available as of Camel 2.20*
 
 By default jsonpath uses the message body as the input source. However you can also use a header as input
@@ -352,7 +352,7 @@ The same example in XML DSL would be:
 </route>
 ----
 
-=== Dependencies
+== Dependencies
 
 To use JSonPath in your camel routes you need to add the a dependency on
 *camel-jsonpath* which implements the JSonPath language.
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index 3516c3d..872a8ec 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -177,7 +177,8 @@ beginning of the invocation). This endpoint does not implement a provider endpoi
 
 In the snippet below, the data for an exchange sent to the
 `direct:george` endpoint will be put in the data queue `PENNYLANE` in
-library `BEATLES` on a system named `LIVERPOOL`.  +
+library `BEATLES` on a system named `LIVERPOOL`. 
+
  Another user connects to the same data queue to receive the information
 from the data queue and forward it to the `mock:ringo` endpoint.
 
@@ -192,7 +193,7 @@ public class Jt400RouteBuilder extends RouteBuilder {
 }
 -------------------------------------------------------------------------------------------------------
 
-=== Remote program call example (*Camel 2.7*)
+=== Remote program call example
 
 In the snippet below, the data Exchange sent to the direct:work endpoint
 will contain three string that will be used as the arguments for the
@@ -224,5 +225,4 @@ from("jms:queue:input")
 -------------------------------------------------------------------------------------------------------
 from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKey=MYKEY&searchType=GE")
 .to("jms:queue:output");
--------------------------------------------------------------------------------------------------------
-
+-------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-juel/src/main/docs/el-language.adoc b/components/camel-juel/src/main/docs/el-language.adoc
index 4e893c2..b628681 100644
--- a/components/camel-juel/src/main/docs/el-language.adoc
+++ b/components/camel-juel/src/main/docs/el-language.adoc
@@ -1,20 +1,18 @@
 [[el-language]]
 = EL Language (deprecated)
-[[EL-EL]]
-*Available as of Camel version 1.1.0*
-*Available as of Camel version 1.1*
 
+*Available as of Camel version 1.1*
 
-EL
+== EL
 ~~
 
 Camel supports the unified JSP and JSF Expression Language via the
 http://juel.sourceforge.net/[JUEL] to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration].
 
-For example you could use EL inside a link:message-filter.html[Message
+For example you could use EL inside a xref:latest@manual::filter-eip.adoc[Message
 Filter] in XML
 
 [source,xml]
diff --git a/components/camel-jxpath/src/main/docs/jxpath-language.adoc b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
index 2916b8a..390805d 100644
--- a/components/camel-jxpath/src/main/docs/jxpath-language.adoc
+++ b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
@@ -5,11 +5,11 @@
 
 
 Camel supports http://commons.apache.org/jxpath/[JXPath] to allow
-<<xpath-language,XPath>> expressions to be used on beans in an
+XPath expressions to be used on beans in an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration]. For example you could use JXPath to create an
-Predicate in a link:message-filter.html[Message
+Predicate in a xref:latest@manual::filter-eip.adoc[Message
 Filter] or as an Expression for a
 Recipient List.
 
@@ -153,7 +153,8 @@ public class Foo {
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
diff --git a/components/camel-kafka/src/main/docs/kafka-component.adoc b/components/camel-kafka/src/main/docs/kafka-component.adoc
index d2b52e7..0d4452b 100644
--- a/components/camel-kafka/src/main/docs/kafka-component.adoc
+++ b/components/camel-kafka/src/main/docs/kafka-component.adoc
@@ -21,7 +21,7 @@ for this component.
 ------------------------------------------------------------
 
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------
@@ -30,7 +30,7 @@ kafka:topic[?options]
 ---------------------------
 
 
-=== Options
+== Options
 
 
 // component options: START
@@ -303,9 +303,9 @@ For more information about Producer/Consumer configuration:
 http://kafka.apache.org/documentation.html#newconsumerconfigs[http://kafka.apache.org/documentation.html#newconsumerconfigs]
 http://kafka.apache.org/documentation.html#producerconfigs[http://kafka.apache.org/documentation.html#producerconfigs]
 
-=== Message headers
+== Message headers
 
-==== Consumer headers
+=== Consumer headers
 
 The following headers are available when consuming messages from Kafka.
 [width="100%",cols="2m,2m,1m,5",options="header"]
@@ -320,7 +320,7 @@ The following headers are available when consuming messages from Kafka.
 | KafkaConstants.MANUAL_COMMIT             | "CamelKafkaManualCommit"          | KafkaManualCommit | Can be used for forcing manual offset commit when using Kafka consumer. |
 |===
 
-==== Producer headers
+=== Producer headers
 
 Before sending a message to Kafka you can configure the following headers.
 [width="100%",cols="2m,2m,1m,5",options="header"]
@@ -339,9 +339,9 @@ After the message is sent to Kafka, the following headers are available
 |===
 
 
-=== Samples
+== Samples
 
-==== Consuming messages from Kafka
+=== Consuming messages from Kafka
 
 Here is the minimal route you need in order to read messages from Kafka.
 
@@ -386,11 +386,14 @@ DefaultCamelContext camelContext = new DefaultCamelContext(registry);
 camelContext.addRoutes(new RouteBuilder() {
     @Override
     public void configure() throws Exception {
-        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" +
+        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}"
+
                      // Setup the topic and broker address
-                     "&groupId=A" +
+                     "&groupId=A"
+
                      // The consumer processor group ID
-                     "&autoOffsetReset=earliest" +
+                     "&autoOffsetReset=earliest"
+
                      // Ask to start from the beginning if we have unknown offset
                      "&offsetRepository=#offsetRepo")
                      // Keep the offsets in the previously configured repository
@@ -400,7 +403,7 @@ camelContext.addRoutes(new RouteBuilder() {
 ----
  
 
-==== Producing messages to Kafka
+=== Producing messages to Kafka
 
 Here is the minimal route you need in order to write messages to Kafka.
 
@@ -412,7 +415,7 @@ from("direct:start")
     .to("kafka:test?brokers=localhost:9092");
 ----
 
-=== SSL configuration
+== SSL configuration
 
 You have 2 different ways to configure the SSL communication on the Kafka` component.
 
@@ -420,11 +423,16 @@ The first way is through the many SSL endpoint parameters
 
 [source,java]
 ----
-from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" +
-             "&groupId=A" +
-             "&sslKeystoreLocation=/path/to/keystore.jks" +
-             "&sslKeystorePassword=changeit" +
-             "&sslKeyPassword=changeit" +
+from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}"
+
+             "&groupId=A"
+
+             "&sslKeystoreLocation=/path/to/keystore.jks"
+
+             "&sslKeystorePassword=changeit"
+
+             "&sslKeyPassword=changeit"
+
              "&securityProtocol=SSL")
         .to("mock:result");
 ----
@@ -452,11 +460,14 @@ DefaultCamelContext camelContext = new DefaultCamelContext(registry);
 camelContext.addRoutes(new RouteBuilder() {
     @Override
     public void configure() throws Exception {
-        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}" +
+        from("kafka:" + TOPIC + "?brokers=localhost:{{kafkaPort}}"
+
                      // Setup the topic and broker address
-                     "&groupId=A" +
+                     "&groupId=A"
+
                      // The consumer processor group ID
-                     "&sslContextParameters=#ssl" +
+                     "&sslContextParameters=#ssl"
+
                      // The security protocol
                      "&securityProtocol=SSL)
                      // Reference the SSL configuration
@@ -465,7 +476,7 @@ camelContext.addRoutes(new RouteBuilder() {
 });
 ----
 
-=== Using the Kafka idempotent repository
+== Using the Kafka idempotent repository
 *Available from Camel 2.19*
 
 The `camel-kafka` library provides a Kafka topic-based idempotent repository. This repository stores broadcasts all changes to idempotent state (add/remove) in a Kafka topic, and populates a local in-memory cache for each repository's process instance through event sourcing.
@@ -485,7 +496,8 @@ A `KafkaIdempotentRepository` has the following properties:
 | producerConfig | Sets the properties that will be used by the Kafka producer that broadcasts changes. Overrides `bootstrapServers`, so must define the Kafka `bootstrap.servers` property itself
 | consumerConfig | Sets the properties that will be used by the Kafka consumer that populates the cache from the topic. Overrides `bootstrapServers`, so must define the Kafka `bootstrap.servers` property itself
 | maxCacheSize | How many of the most recently used keys should be stored in memory (default 1000).
-| pollDurationMs | The poll duration of the Kafka consumer. The local caches are updated immediately. This value will affect how far behind other peers that update their caches from the topic are relative to the idempotent consumer instance that sent the cache action message. The default value of this is 100 ms. +
+| pollDurationMs | The poll duration of the Kafka consumer. The local caches are updated immediately. This value will affect how far behind other peers that update their caches from the topic are relative to the idempotent consumer instance that sent the cache action message. The default value of this is 100 ms.
+
 If setting this value explicitly, be aware that there is a tradeoff between the remote cache liveness and the volume of network traffic between this repository's consumer and the Kafka brokers. The cache warmup process also depends on there being one poll that fetches nothing - this indicates that the stream has been consumed up to the current point. If the poll duration is excessively long for the rate at which messages are sent on the topic, there exists a possibility that the cache ca [...]
 |===
 
@@ -539,7 +551,7 @@ In XML:
 </bean>
 ----
 
-=== Using manual commit with Kafka consumer
+== Using manual commit with Kafka consumer
 *Available as of Camel 2.21*
 
 By default the Kafka consumer will use auto commit, where the offset will be committed automatically in the background using a given interval.
@@ -571,7 +583,7 @@ This will force a synchronous commit which will block until the commit is acknow
 If you want to use a custom implementation of `KafkaManualCommit` then you can configure a custom `KafkaManualCommitFactory`
 on the `KafkaComponent` that creates instances of your custom implementation.
 
-=== Kafka Headers propagation
+== Kafka Headers propagation
 *Available as of Camel 2.22*
 
 When consuming messages from Kafka, headers will be propagated to camel exchange headers automatically.
diff --git a/components/camel-kestrel/src/main/docs/kestrel-component.adoc b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
index 787ff17..27133df 100644
--- a/components/camel-kestrel/src/main/docs/kestrel-component.adoc
+++ b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
@@ -303,5 +303,4 @@ Something to note is that Maven's Surefire test plugin *enables*
 assertions. If you're using this component in a Maven test environment,
 you may need to set `enableAssertions` to `false`. Please refer to the
 http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html[surefire:test
-reference] for details.
-
+reference] for details.
\ No newline at end of file
diff --git a/components/camel-krati/src/main/docs/krati-component.adoc b/components/camel-krati/src/main/docs/krati-component.adoc
index 097060d..6c1bb00 100644
--- a/components/camel-krati/src/main/docs/krati-component.adoc
+++ b/components/camel-krati/src/main/docs/krati-component.adoc
@@ -176,7 +176,8 @@ from("direct:put").to("krati:target/test/producertest");
 --------------------------------------------------------
 
 In the above example you can override any of the URI parameters with
-headers on the message. +
+headers on the message.
+
  Here is how the above example would look like using xml to define our
 route.
 
@@ -200,7 +201,8 @@ from("direct:get")
 --------------------------------------------------------------------------------------------
 
 In the above example you can override any of the URI parameters with
-headers on the message. +
+headers on the message.
+
  Here is how the above example would look like using xml to define our
 route.
 
@@ -242,7 +244,3 @@ repository which can be used for filtering out duplicate messages.
 -----------------------------------------------------------------------------------------------------------------------------
 from("direct://in").idempotentConsumer(header("messageId"), new KratiIdempotentRepositroy("/tmp/idempotent").to("log://out");
 -----------------------------------------------------------------------------------------------------------------------------
-
-=== See also
-
-http://sna-projects.com/krati/[Krati Website]
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
index e18938c..b1a6fcb 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
@@ -9,20 +9,20 @@
 The composite kubernetes component has been deprecated. Use individual
 component splitted as following.
 
-* <<kubernetes-component,Kubernetes Components>>
-  ** <<openshift-build-configs-component,Kubernetes Build Config>>
+* Kubernetes Components
+  ** xref:openshift-build-configs-component.adoc[Kubernetes Build Config]
   ** Kubernetes Build
-  ** <<kubernetes-config-maps-component,Kubernetes ConfigMap>>
-  ** <<kubernetes-namespaces-component,Kubernetes Namespace>>
-  ** <<kubernetes-nodes-component,Kubernetes Node>>
-  ** <<kubernetes-persistent-volumes-component,Kubernetes Persistent Volume>>
-  ** <<kubernetes-persistent-volumes-claims-component,Kubernetes Persistent Volume Claim>>
-  ** <<kubernetes-pods-component,Kubernetes Pod>>
-  ** <<kubernetes-replication-controllers-component,Kubernetes Replication Controller>>
-  ** <<kubernetes-resources-quota-component,Kubernetes Resource Quota>>
-  ** <<kubernetes-secrets-component,Kubernetes Secrets>>
-  ** <<kubernetes-service-accounts-component,Kubernetes Service Account>>
-  ** <<kubernetes-services-component,Kubernetes Service>>
+  ** xref:kubernetes-config-maps-component.adoc[Kubernetes ConfigMap]
+  ** xref:kubernetes-namespaces-component.adoc[Kubernetes Namespace]
+  ** xref:kubernetes-nodes-component.adoc[Kubernetes Node]
+  ** xref:kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume]
+  ** xref:kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim]
+  ** xref:kubernetes-pods-component.adoc[Kubernetes Pod]
+  ** xref:kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller]
+  ** xref:kubernetes-resources-quota-component.adoc[Kubernetes Resource Quota]
+  ** xref:kubernetes-secrets-component.adoc[Kubernetes Secrets]
+  ** xref:kubernetes-service-accounts-component.adoc[Kubernetes Service Account]
+  ** xref:kubernetes-services-component.adoc[Kubernetes Service]
 ====================================================================================
 
 The *Kubernetes* component is a component for integrating your
@@ -41,7 +41,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ------------------------------
@@ -51,7 +51,7 @@ kubernetes:masterUrl[?options]
 You can append query options to the URI in the following
 format, `?option=value&option=value&...`
 
-=== Options
+== Options
 
 
 // component options: START
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index 5203c94..a665668 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes ConfigMap* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes ConfigMap* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes ConfigMap operations.
 
 
@@ -90,4 +90,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-config-maps.enabled* | Whether to enable auto configuration of the kubernetes-config-maps component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-config-maps.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
index 1632606..d8b91f0 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.20*
 
 
-The *Kubernetes Deployments* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Deployments* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes secret operations.
 
 
@@ -99,4 +99,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-deployments.enabled* | Whether to enable auto configuration of the kubernetes-deployments component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-deployments.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
index 8447424..331986b 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.23*
 
 
-The *Kubernetes HPA* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes HPA* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes hpa operations and a consumer to consume kubernetes
 hpa events.
  
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-hpa.enabled* | Whether to enable auto configuration of the kubernetes-hpa component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-hpa.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
index 2c0b847..7ca8d5c 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.23*
 
 
-The *Kubernetes Job* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Job* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes job operations.
  
 
@@ -99,4 +99,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-job.enabled* | Whether to enable auto configuration of the kubernetes-job component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-job.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
index e44fa99..7ea063d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Namespaces* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Namespaces* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes namespace operations and a consumer to consume
 kubernetes namespace events.
 
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-namespaces.enabled* | Whether to enable auto configuration of the kubernetes-namespaces component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-namespaces.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
index d7d51c0..6433d59 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Nodes* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Nodes* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes node operations and a consumer to consume kubernetes
 node events.
  
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-nodes.enabled* | Whether to enable auto configuration of the kubernetes-nodes component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-nodes.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
index 439339b..6bf57a8 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Persistent Volume Claim* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Persistent Volume Claim* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes persistent volume claim operations.
  
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-persistent-volumes-claims.enabled* | Whether to enable auto configuration of the kubernetes-persistent-volumes-claims component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-persistent-volumes-claims.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
index ab35250..cb17c94 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Persistent Volume* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Persistent Volume* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes persistent volume operations.
 
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-persistent-volumes.enabled* | Whether to enable auto configuration of the kubernetes-persistent-volumes component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-persistent-volumes.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
index 7abba2f..ae57ef2 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Pods* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Pods* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes pod operations.
 
 
@@ -99,4 +99,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-pods.enabled* | Whether to enable auto configuration of the kubernetes-pods component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-pods.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
index c099ac7..1f784fa 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Replication Controller* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Replication Controller* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes replication controller operations and a consumer to
 consume kubernetes replication controller events.
 
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-replication-controllers.enabled* | Whether to enable auto configuration of the kubernetes-replication-controllers component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-replication-controllers.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
index 932c131..db21ce6 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Resources Quota* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Resources Quota* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes resource quota operations.
 
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-resources-quota.enabled* | Whether to enable auto configuration of the kubernetes-resources-quota component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-resources-quota.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
index 768fa2c..9f9f32d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Secrets* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Secrets* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes secret operations.
 
 
@@ -91,4 +91,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-secrets.enabled* | Whether to enable auto configuration of the kubernetes-secrets component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-secrets.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
index 59402c5..1997320 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Service Account* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Service Account* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes Service Account operations.
 
 
@@ -89,4 +89,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-service-accounts.enabled* | Whether to enable auto configuration of the kubernetes-service-accounts component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-service-accounts.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
index 399924e..ecaa61a 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Services* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Services* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes service operations and a consumer to consume kubernetes
 service events.
 
@@ -100,4 +100,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.kubernetes-services.enabled* | Whether to enable auto configuration of the kubernetes-services component. This is enabled by default. |  | Boolean
 | *camel.component.kubernetes-services.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
index 4679bd5..434f39d 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
@@ -6,21 +6,21 @@ The *Kubernetes* components integrate your application with Kubernetes standalo
 
 The camel-kubernetes consists of 13 components:
 
-* <<kubernetes-config-maps-component,Kubernetes ConfigMap>>
-* <<kubernetes-namespaces-component,Kubernetes Namespace>>
-* <<kubernetes-nodes-component,Kubernetes Node>>
-* <<kubernetes-persistent-volumes-component,Kubernetes Persistent Volume>>
-* <<kubernetes-persistent-volumes-claims-component,Kubernetes Persistent Volume Claim>>
-* <<kubernetes-pods-component,Kubernetes Pod>>
-* <<kubernetes-replication-controllers-component,Kubernetes Replication Controller>>
-* <<kubernetes-resources-quota-component,Kubernetes Resource Quota>>
-* <<kubernetes-secrets-component,Kubernetes Secrets>>
-* <<kubernetes-service-accounts-component,Kubernetes Service Account>>
-* <<kubernetes-services-component,Kubernetes Service>>
+* xref:kubernetes-config-maps-component.adoc[Kubernetes ConfigMap]
+* xref:kubernetes-namespaces-component.adoc[Kubernetes Namespace]
+* xref:kubernetes-nodes-component.adoc[Kubernetes Node]
+* xref:kubernetes-persistent-volumes-component.adoc[Kubernetes Persistent Volume]
+* xref:kubernetes-persistent-volumes-claims-component.adoc[Kubernetes Persistent Volume Claim]
+* xref:kubernetes-pods-component.adoc[Kubernetes Pod]
+* xref:kubernetes-replication-controllers-component.adoc[Kubernetes Replication Controller]
+* xref:kubernetes-resources-quota-component.adoc[Kubernetes Resource Quota]
+* xref:kubernetes-secrets-component.adoc[Kubernetes Secrets]
+* xref:kubernetes-service-accounts-component.adoc[Kubernetes Service Account]
+* xref:kubernetes-services-component.adoc[Kubernetes Service]
 
 In OpenShift, also:
 
-* <<openshift-build-configs-component,Kubernetes Build Config>>
+* xref:openshift-build-configs-component.adoc[Kubernetes Build Config]
 * Kubernetes Build
 
 
@@ -146,4 +146,4 @@ from("direct:createPod")
     .toF("kubernetes-pods://%s?oauthToken=%s&operation=deletePod", host, authToken);
 -------------------------------------------------------------
 
-By using the KubernetesConstants.KUBERNETES_POD_NAME header you can specify your Pod name and pass it to this operation.
+By using the KubernetesConstants.KUBERNETES_POD_NAME header you can specify your Pod name and pass it to this operation.
\ No newline at end of file
diff --git a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
index e2b1935..e007064 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *OpenShift Build Config* component is one of link:kubernetes.html[Kubernetes Components] which
+The *OpenShift Build Config* component is one of xref:kubernetes.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes build config operations. 
 
 
@@ -63,4 +63,4 @@ with the following path and query parameters:
 | *trustCerts* (security) | Define if the certs we used are trusted anyway or not |  | Boolean
 | *username* (security) | Username to connect to Kubernetes |  | String
 |===
-// endpoint options: END
\ No newline at end of file
+// endpoint options: END
diff --git a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
index ea5ad54..7acb798 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
@@ -4,7 +4,7 @@
 *Available as of Camel version 2.17*
 
 
-The *Kubernetes Builds* component is one of <<kubernetes-component,Kubernetes Components>> which
+The *Kubernetes Builds* component is one of xref:kubernetes-component.adoc[Kubernetes Components] which
 provides a producer to execute kubernetes build operations.
 
 
diff --git a/components/camel-kura/src/main/docs/kura.adoc b/components/camel-kura/src/main/docs/kura.adoc
index b9c6e68..1f10446 100644
--- a/components/camel-kura/src/main/docs/kura.adoc
+++ b/components/camel-kura/src/main/docs/kura.adoc
@@ -1,5 +1,5 @@
 [[Kura-EclipseKuracomponent]]
-== Eclipse Kura component
+= Eclipse Kura component
 
 *Available as of Camel 2.15*
 
@@ -13,8 +13,7 @@ services and finally forward the current temperature value to your data
 center service using Camel EIP and components.
 
 [[Kura-KuraRouteractivator]]
-KuraRouter activator
-^^^^^^^^^^^^^^^^^^^^
+== KuraRouter activator
 
 Bundles deployed to the Eclipse Kura are usually
 http://eclipse.github.io/kura/doc/hello-example.html#create-java-class[developed
@@ -47,8 +46,7 @@ every class extending `KuraRouter`, there will be a dedicated
 per OSGi bundle.
 
 [[Kura-DeployingKuraRouter]]
-Deploying KuraRouter
-^^^^^^^^^^^^^^^^^^^^
+== Deploying KuraRouter
 
 Bundle containing your Kura router class should import the following
 packages in the OSGi manifest:
@@ -96,15 +94,13 @@ start <your-bundle-id>
 ----------------------------------------------------------------------------------
 
 [[Kura-KuraRouterutilities]]
-KuraRouter utilities 
-^^^^^^^^^^^^^^^^^^^^^
+== KuraRouter utilities 
 
- Kura router base class provides many useful utilities. This section
+Kura router base class provides many useful utilities. This section
 explores each of them.
 
 [[Kura-SLF4Jlogger]]
-SLF4J logger
-++++++++++++
+=== SLF4J logger
 
 Kura uses SLF4J facade for logging purposes. Protected member `log`
 returns SLF4J logger instance associated with the given Kura router.
@@ -123,8 +119,7 @@ public class MyKuraRouter extends KuraRouter {
 ----------------------------------------------
 
 [[Kura-BundleContext]]
-BundleContext
-+++++++++++++
+=== BundleContext
 
 Protected member `bundleContext` returns bundle context associated with
 the given Kura router.
@@ -144,8 +139,7 @@ public class MyKuraRouter extends KuraRouter {
 ---------------------------------------------------------------------------------------------------------------
 
 [[Kura-CamelContext]]
-CamelContext
-++++++++++++
+=== CamelContext
 
 Protected member `camelContext` is the `CamelContext` associated with
 the given Kura router.
@@ -164,8 +158,7 @@ public class MyKuraRouter extends KuraRouter {
 ----------------------------------------------
 
 [[Kura-ProducerTemplate]]
-ProducerTemplate
-++++++++++++++++
+=== ProducerTemplate
 
 Protected member `producerTemplate` is the `ProducerTemplate` instance
 associated with the given Camel context.
@@ -184,8 +177,7 @@ public class MyKuraRouter extends KuraRouter {
 -----------------------------------------------------------
 
 [[Kura-ConsumerTemplate]]
-ConsumerTemplate
-++++++++++++++++
+=== ConsumerTemplate
 
 Protected member `consumerTemplate` is the `ConsumerTemplate` instance
 associated with the given Camel context.
@@ -204,8 +196,7 @@ public class MyKuraRouter extends KuraRouter {
 --------------------------------------------------------------------------------------------------
 
 [[Kura-OSGiserviceresolver]]
-OSGi service resolver
-+++++++++++++++++++++
+=== OSGi service resolver
 
 OSGi service resolver (`service(Class<T> serviceType)`) can be used to
 easily retrieve service by type from the OSGi bundle context.
@@ -242,8 +233,7 @@ public class MyKuraRouter extends KuraRouter {
 ---------------------------------------------------------------
 
 [[Kura-KuraRouteractivatorcallbacks]]
-KuraRouter activator callbacks
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== KuraRouter activator callbacks
 
 Kura router comes with the lifecycle callbacks that can be used to
 customize the way the Camel router works. For example to configure the
@@ -266,8 +256,7 @@ public class MyKuraRouter extends KuraRouter {
 --------------------------------------------------------------------------
 
 [[Kura-LoadingXMLroutesfromConfigurationAdmin]]
-Loading XML routes from ConfigurationAdmin
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Loading XML routes from ConfigurationAdmin
 
 Sometimes it is desired to read the XML definition of the routes from
 the server configuration. This a common scenario for IoT gateways where
@@ -294,8 +283,7 @@ Camel XML route file, for example:
  
 
 [[Kura-DeployingKurarouterasadeclarativeOSGiservice]]
-Deploying Kura router as a declarative OSGi service
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Deploying Kura router as a declarative OSGi service
 
 If you would like to deploy your Kura router as a declarative OSGi
 service, you can use `activate` and `deactivate` methods provided by
@@ -307,13 +295,3 @@ service, you can use `activate` and `deactivate` methods provided by
   <implementation class="org.eclipse.kura.example.camel.MyKuraRouter"/>
 </scr:component>
 ----------------------------------------------------------------------------------------------------------------------------------------------
-
-[[Kura-SeeAlso]]
-See Also
-^^^^^^^^
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
index c2d2fd1..5b54dfe 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -5,7 +5,8 @@
 
 
 The *ldap* component allows you to perform searches in LDAP servers
-using filters as the message payload. +
+using filters as the message payload.
+
  This component uses standard JNDI (`javax.naming` package) to access
 the server.
 
@@ -367,5 +368,4 @@ public class CustomSocketFactory extends SSLSocketFactory {
 }
 -----------------------------------------------------------------------------------------------------
 
- 
-
+ 
\ No newline at end of file
diff --git a/components/camel-ldif/src/main/docs/ldif-component.adoc b/components/camel-ldif/src/main/docs/ldif-component.adoc
index 0b3ca43..d4be542 100644
--- a/components/camel-ldif/src/main/docs/ldif-component.adoc
+++ b/components/camel-ldif/src/main/docs/ldif-component.adoc
@@ -29,7 +29,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -48,7 +48,7 @@ of setting up a custom SocketFactory instance.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 // component options: START
 The LDIF component has no options.
@@ -111,7 +111,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Body types:
+== Body types:
 
 The body can be a URL to an LDIF file or an inline LDIF file. To signify the difference
 in body types, an inline LDIF must start with:
@@ -123,12 +123,12 @@ version: 1
 
 If not, the component will try to parse the body as a URL.
 
-=== Result
+== Result
 
 The result is returned in the Out body as a `ArrayList<java.lang.String>` object.
 This contains either "success" or an Exception message for each LDIF entry.
 
-=== LdapConnection
+== LdapConnection
 
 The URI, `ldif:ldapConnectionName`, references a bean with the ID,
 `ldapConnectionName`. The ldapConnection can be configured using a
@@ -175,7 +175,7 @@ or in a OSGi blueprint.xml:
 ----
 
 
-=== Samples
+== Samples
 
 Following on from the Spring configuration above, the code sample below
 sends an LDAP request to filter search a group for a member. The Common
diff --git a/components/camel-leveldb/src/main/docs/leveldb.adoc b/components/camel-leveldb/src/main/docs/leveldb.adoc
index 84c6abb..82e9ce7 100644
--- a/components/camel-leveldb/src/main/docs/leveldb.adoc
+++ b/components/camel-leveldb/src/main/docs/leveldb.adoc
@@ -1,5 +1,5 @@
 [[LevelDB-LevelDB]]
-== LevelDB
+= LevelDB
 
 *Available as of Camel 2.10*
 
@@ -13,8 +13,7 @@ Current features it provides:
 * LevelDBAggregationRepository
 
 [[LevelDB-UsingLevelDBAggregationRepository]]
-Using LevelDBAggregationRepository
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== Using LevelDBAggregationRepository
 
 `LevelDBAggregationRepository` is an `AggregationRepository` which on
 the fly persists the aggregated messages. This ensures that you will not
@@ -70,8 +69,7 @@ The `repositoryName` option must be provided. Then either the
 `persistentFileName` or the `levelDBFile` must be provided.
 
 [[LevelDB-Whatispreservedwhenpersisting]]
-What is preserved when persisting
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+== What is preserved when persisting
 
 `LevelDBAggregationRepository` will only preserve any `Serializable`
 compatible message body data types. Message headers must be primitive /
@@ -80,8 +78,7 @@ and a `WARN` is logged. And it only persists the `Message` body and the
 `Message` headers. The `Exchange` properties are *not* persisted.
 
 [[LevelDB-Recovery]]
-Recovery
-^^^^^^^^
+== Recovery
 
 The `LevelDBAggregationRepository` will by default recover any failed
 Exchange. It does this by having a background tasks
@@ -123,21 +120,18 @@ https://svn.apache.org/repos/asf/camel/trunk/components/camel-leveldb/src/test/j
 test].
 
 [[LevelDB-UsingLevelDBAggregationRepositoryinJavaDSL]]
-Using LevelDBAggregationRepository in Java DSL
-++++++++++++++++++++++++++++++++++++++++++++++
+=== Using LevelDBAggregationRepository in Java DSL
 
 In this example we want to persist aggregated messages in the
 `target/data/leveldb.dat` file.
 
 [[LevelDB-UsingLevelDBAggregationRepositoryinSpringXML]]
-Using LevelDBAggregationRepository in Spring XML
-++++++++++++++++++++++++++++++++++++++++++++++++
+=== Using LevelDBAggregationRepository in Spring XML
 
 The same example but using Spring XML instead:
 
 [[LevelDB-Dependencies]]
-Dependencies
-^^^^^^^^^^^^
+== Dependencies
 
 To use LevelDB in your camel routes you need to add
 the a dependency on *camel-leveldb*.
@@ -154,17 +148,3 @@ the download page for the latest versions).
   <version>2.10.0</version>
 </dependency>
 ----------------------------------------
-
-[[LevelDB-SeeAlso]]
-See Also
-^^^^^^^^
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Aggregator
-* HawtDB
-* Components
-
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
index 33ce09c..b459c2f 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
@@ -727,4 +727,4 @@ The following route uses a producer with dynamic header options. The
         .setHeader("CamelLinkedIn.person_id", header("personId"))
         .to("linkedin://people/connectionsById")
         .to("bean://bar");
------------------------------------------------------------------
+-----------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-lra/src/main/docs/lra.adoc b/components/camel-lra/src/main/docs/lra.adoc
index f8b7128..ce3a004 100644
--- a/components/camel-lra/src/main/docs/lra.adoc
+++ b/components/camel-lra/src/main/docs/lra.adoc
@@ -1,4 +1,4 @@
-== LRA Component
+= LRA Component
 
 *Available as of Camel version 2.21.0*
 
@@ -46,4 +46,4 @@ The component supports 5 options, which are listed below.
 | *camel.service.lra.local-participant-context-path* | The context path of the local participant callback services |  | String
 | *camel.service.lra.local-participant-url* | The local URL where the coordinator should send callbacks to (e.g. \http://my-host-name:8080) |  | String
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-lucene/src/main/docs/lucene-component.adoc b/components/camel-lucene/src/main/docs/lucene-component.adoc
index 7d6f72a..fc4805f 100644
--- a/components/camel-lucene/src/main/docs/lucene-component.adoc
+++ b/components/camel-lucene/src/main/docs/lucene-component.adoc
@@ -276,4 +276,4 @@ RouteBuilder builder = new RouteBuilder() {
        }).to("mock:searchResult");
    }
 };
--------------------------------------------------------------------------------------------------------
+-------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
index d1b6308..1480bbf 100644
--- a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
+++ b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
@@ -143,4 +143,4 @@ RouteBuilder builder = new RouteBuilder() {
            to("stream:out");                        // Write it into the output stream
     }
 };
-------------------------------------------------------------------------------------
+------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
index ea5b71a..92c4fc7 100644
--- a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
+++ b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
@@ -95,4 +95,4 @@ substituting the version number for the latest & greatest release.
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc b/components/camel-mail/src/main/docs/mail-component.adoc
index 47d4234..2145c71 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -468,7 +468,8 @@ map.put("Subject", "Camel is cool");
 == JavaMail API (ex SUN JavaMail)
 
 https://java.net/projects/javamail/pages/Home[JavaMail API] is used
-under the hood for consuming and producing mails. +
+under the hood for consuming and producing mails.
+
  We encourage end-users to consult these references when using either
 POP3 or IMAP protocol. Note particularly that POP3 has a much more
 limited set of features than IMAP.
@@ -541,7 +542,8 @@ from("imaps://imap.gmail.com?username=YOUR_USERNAME@gmail.com&password=YOUR_PASS
 
 The preceding route polls the Google mail inbox for new mails once every
 minute and logs the received messages to the `newmail` logger
-category. +
+category.
+
  Running the sample with `DEBUG` logging enabled, we can monitor the
 progress in the logs:
 
@@ -664,7 +666,8 @@ you can do as follows:
 
 Notice we use the `"searchTerm.subjectOrBody"` as parameter key to
 indicate that we want to search on mail subject or body, to contain the
-word "Camel". +
+word "Camel".
+
  The class `org.apache.camel.component.mail.SimpleSearchTerm` has a
 number of options you can configure:
 
@@ -730,4 +733,4 @@ builder.unseen().body(Op.not, "Spam").subject(Op.not, "Spam")
   // .. and we could continue building the terms
 
 SearchTerm term = builder.build();
---------------------------------------------------------------
+--------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc b/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
index d0695e7..49fc0bc 100644
--- a/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
+++ b/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
@@ -25,7 +25,8 @@ part, if the parameter is set to false it will leave the message alone.
 
 MIME headers of the mulitpart as "MIME-Version" and "Content-Type" are
 set as camel headers to the message. If the parameter "headersInline" is
-set to true it will also create a MIME multipart message in any case.  +
+set to true it will also create a MIME multipart message in any case. 
+
 Furthermore the MIME headers of the multipart are written as part of the
 message body, not as camel headers.
 
diff --git a/components/camel-master/src/main/docs/master-component.adoc b/components/camel-master/src/main/docs/master-component.adoc
index ce4816c..564233d 100644
--- a/components/camel-master/src/main/docs/master-component.adoc
+++ b/components/camel-master/src/main/docs/master-component.adoc
@@ -189,4 +189,3 @@ Camel provide the following ClusterService implementations:
 - camel-file
 - camel-kubernetes
 - camel-zookeeper
-
diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc
index bdf775b..6009e50 100644
--- a/components/camel-metrics/src/main/docs/metrics-component.adoc
+++ b/components/camel-metrics/src/main/docs/metrics-component.adoc
@@ -1,10 +1,8 @@
 [[metrics-component]]
 = Metrics Component
 ifdef::env-github[]
-*Available as of Camel version 2.14.0*
 *Available as of Camel version 2.14*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -530,7 +528,8 @@ following options:
 |=======================================================================
 |Name |Default |Description
 |useJmx |false |Whether to report fine grained statistics to JMX by
-using the `com.codahale.metrics.JmxReporter`. +
+using the `com.codahale.metrics.JmxReporter`.
+
 Notice that if JMX is enabled on CamelContext
 then a `MetricsRegistryService` mbean is enlisted under the services
 type in the JMX tree. That mbean has a single operation to output the
@@ -606,7 +605,8 @@ The following options is supported on the factory:
 |=======================================================================
 |Name |Default |Description
 |useJmx |false |Whether to report fine grained statistics to JMX by
-using the `com.codahale.metrics.JmxReporter`. +
+using the `com.codahale.metrics.JmxReporter`.
+
 Notice that if JMX is enabled on CamelContext
 then a `MetricsRegistryService` mbean is enlisted under the services
 type in the JMX tree. That mbean has a single operation to output the
@@ -657,6 +657,4 @@ with `name=MetricsMessageHistoryService`.
 
 This factory allows you to gather performance information about Camel Thread Pools by injecting a InstrumentedThreadPoolFactory
 which collects information from inside of Camel.
-See more details at Advanced configuration of CamelContext using Spring
-
-
+See more details at Advanced configuration of CamelContext using Spring
\ No newline at end of file
diff --git a/components/camel-micrometer/src/main/docs/micrometer-component.adoc b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
index 26f5115..466dada 100644
--- a/components/camel-micrometer/src/main/docs/micrometer-component.adoc
+++ b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
@@ -1,10 +1,8 @@
 [[micrometer-component]]
 = Micrometer Component
 ifdef::env-github[]
-*Available as of Camel version 2.22.0*
 *Available as of Camel version 2.22*
 
-
 :caution-caption: :boom:
 :important-caption: :exclamation:
 :note-caption: :information_source:
@@ -16,8 +14,8 @@ endif::[]
 
 The **micrometer:** component allows to collect various metrics directly
 from Camel routes. Supported metric types
-are link:#MicrometerComponent-counter[counter], link:#MicrometerComponent-distributionSummary[summary],
-and link:#MicrometerComponent-timer[timer]. http://micrometer.io/[Micrometer] provides
+are <<MicrometerComponent-counter,counter>>, <<MicrometerComponent-summary,summary>>,
+and <<MicrometerComponent-timer,timer>>. http://micrometer.io/[Micrometer] provides
 simple way to measure the behaviour of an application. Configurable
 reporting backends (via Micrometer registries) enable different integration options for
 collecting and visualizing statistics.
@@ -192,9 +190,9 @@ class MyBean extends RouteBuilder {
 == Usage of producers
 
 Each meter has type and name. Supported types are
-link:#MicrometerComponent-counter[counter],
-link:#MicrometerComponent-summary[distribution summary] and
-link:#MetricsComponent-timer[timer]. If no type is provided then a counter is used by default.
+<MicrometerComponent-counter,counter>>,
+<<MicrometerComponent-summary,distribution summary>> and
+<<MicrometerComponent-timer,timer>>. If no type is provided then a counter is used by default.
 
 The meter name is a string that is evaluated as `Simple` expression. In addition to using the `CamelMetricsName`
 header (see below), this allows to select the meter depending on exchange data.
@@ -305,7 +303,8 @@ from("direct:in")
 
 ----
 
-== [[MicrometerComponent-summary]]Distribution Summary
+[#MicrometerComponent-summary]
+== Distribution Summary
 
 [source]
 ----
@@ -372,8 +371,8 @@ from("direct:in")
 
 ----
 
-
-== [[MicrometerComponent-timer]]Timer
+[#MicrometerComponent-timer]
+== Timer
 
 [source]
 ----
@@ -594,4 +593,4 @@ an MBean name.
 == Example
 
 `camel-example-micrometer` provides an example how to set up Micrometer monitoring with
-Camel using Java configuration and a Prometheus backend.
+Camel using Java configuration and a Prometheus backend.
\ No newline at end of file
diff --git a/components/camel-milo/src/main/docs/milo-client-component.adoc b/components/camel-milo/src/main/docs/milo-client-component.adoc
index 2a9e759..d6d1e07 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -41,7 +41,7 @@ The OPC UA Client component supports 6 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 The URI syntax of the endpoint is: 
 
@@ -58,7 +58,7 @@ milo-client:tcp://[user:password@]host:port?node=RAW(nsu=urn:foo:bar;s=item-1)
 
 If no user credentials are provided the client will switch to anonymous mode.
 
-=== URI options
+== URI options
 
 All configuration options in the group +client+ are applicable to the shared client instance. Endpoints
 will share client instances for each endpoint URI. So the first time a request for that endpoint URI is
@@ -187,13 +187,13 @@ The component supports 24 options, which are listed below.
 
 
 
-==== Discovery
+=== Discovery
 
 If the server uses a dedicated discovery endpoint (e.g. `/discovery`), which may support different (less secure) security policies,
 then you can make use of this via the parameter `discoveryEndpointSuffix`, which will be appended to the `endpointUri`. Or by using
 an explicit `discoveryEndpointUri`.
 
-==== Overriding the host name
+=== Overriding the host name
 
 The client uses the host information from the endpoint information, queried from the server. However in some situations this endpoint URI
 might be different, and wrong from the point of view of the connecting client (e.g. an internal hostname).
@@ -201,7 +201,7 @@ might be different, and wrong from the point of view of the connecting client (e
 In this case it is possible to set the parameter `overrideHost` to `true`, which will take the discovered endpoint information,
 but override the host information with the value of the original URI.
 
-==== Node ID
+=== Node ID
 
 
 In order to define a target node a namespace and node id is required. In previous versions this was possible by
@@ -232,7 +232,7 @@ However Camel allows to wrap the actual value inside `RAW(…)`, which makes esc
 milo-client:tcp://user:password@localhost:12345?node=RAW(nsu=http://foo.bar;s=foo/bar)
 ------------------------
 
-==== Method ID
+=== Method ID
 
 It is possible to perform methods calls on OPC UA nodes. If the parameter `method` is set to the Node ID of a method call (the node ID must be set to the parent object in this case),
 then a method call will be performed instead of a write operation.
@@ -244,7 +244,7 @@ Input parameters are taken from the body:
 * If the body is a `Variant`, then it will be wrapped in a `Variant[]` array
 * Otherwise the body will be converted into a `Variant` and wrapped in an array of `Variant[]`
 
-==== Security policies
+=== Security policies
 
 When setting the allowing security policies is it possible to use the well known OPC UA URIs (e.g. `http://opcfoundation.org/UA/SecurityPolicy#Basic128Rsa15`)
 or to use the Milo enum literals (e.g. `None`). Specifying an unknown security policy URI or enum is an error.
@@ -252,4 +252,3 @@ or to use the Milo enum literals (e.g. `None`). Specifying an unknown security p
 The known security policy URIs and enum literals are can be seen here: https://github.com/eclipse/milo/blob/master/opc-ua-stack/stack-core/src/main/java/org/eclipse/milo/opcua/stack/core/security/SecurityPolicy.java[SecurityPolicy.java] 
 
 **Note:** In any case security policies are considered case sensitive.
-
diff --git a/components/camel-milo/src/main/docs/milo-server-component.adoc b/components/camel-milo/src/main/docs/milo-server-component.adoc
index f59d4ca..6cac784 100644
--- a/components/camel-milo/src/main/docs/milo-server-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-server-component.adoc
@@ -65,14 +65,14 @@ The OPC UA Server component supports 20 options, which are listed below.
 
 
 
-=== URI format
+== URI format
 
 [source,java]
 ------------------------
 milo-server:itemId[?options]
 ------------------------
 
-=== URI options
+== URI options
 
 
 
@@ -153,10 +153,3 @@ The component supports 21 options, which are listed below.
 | *camel.component.milo-server.username-security-policy-uri* | Set the UserTokenPolicy used when |  | SecurityPolicy
 |===
 // spring-boot-auto-configure options: END
-
-
-
-
-
-
-
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 35cc832..780c874 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -4,10 +4,11 @@
 *Available as of Camel version 1.0*
 
 
+
 *Deprecated*
 
 WARNING: This component is deprecated as the Apache Mina 1.x project is EOL.
-Instead use <<mina2-component,MINA2>> or <<mina2-component,Netty>> instead.
+Instead use xref:mina2-component.adoc[Mina 2] or xref:mina2-component.adoc[Mina 2] instead.
 
 The *mina:* component is a transport for working with
 http://mina.apache.org/[Apache MINA]
@@ -52,7 +53,8 @@ A Mina producer has a default timeout value of 30 seconds, while it
 waits for a response from the remote server.
 
 In normal use, `camel-mina` only supports marshalling the body
-content—message headers and exchange properties are not sent. +
+content—message headers and exchange properties are not sent.
+
  However, the option, *transferExchange*, does allow you to transfer the
 exchange itself over the wire. See options below.
 
@@ -146,7 +148,7 @@ documentation] how to write your own codec. To use your custom codec
 with `camel-mina`, you should register your codec in the
 Registry; for example, by creating a bean in the
 Spring XML file. Then use the `codec` option to specify the bean ID of
-your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
+your codec. See xref:hl7-dataformat.adoc[HL7] that has a custom codec.
 
 == Sample with sync=false
 
@@ -171,7 +173,7 @@ fact, something we have dynamically set in our processor code logic.
 
 == Sample with Spring DSL
 
-Spring DSL can, of course, also be used for <<mina-component,MINA>>. In the
+Spring DSL can, of course, also be used for xref:mina-component.adoc[Mina]. In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -332,4 +334,3 @@ Then, you can configure your endpoint using Spring DSL:
     </constructor-arg>
 </bean>
 ----------------------------------------------------------------------------------
-
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index 29ee287..b83a9b8 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/mina2-component.adoc
@@ -7,7 +7,7 @@
 The *mina2:* component is a transport for working with
 http://mina.apache.org/[Apache MINA 2.x]
 
-TIP: Favor using <<netty-component,Netty>> as Netty is a much more active
+TIP: Favor using xref:netty-component.adoc[Netty] as Netty is a much more active
 maintained and popular project than Apache Mina currently is
 
 INFO: Be careful with sync=false on consumer endpoints. Since camel-mina2 all
@@ -51,7 +51,8 @@ A Mina producer has a default timeout value of 30 seconds, while it
 waits for a response from the remote server.
 
 In normal use, `camel-mina` only supports marshalling the body
-content—message headers and exchange properties are not sent. +
+content—message headers and exchange properties are not sent.
+
  However, the option, *transferExchange*, does allow you to transfer the
 exchange itself over the wire. See options below.
 
@@ -206,7 +207,7 @@ See the Mina how to write your own codec. To use your custom codec with
 `camel-mina`, you should register your codec in the
 Registry; for example, by creating a bean in the
 Spring XML file. Then use the `codec` option to specify the bean ID of
-your codec. See <<hl7-dataformat,HL7>> that has a custom codec.
+your codec. See xref:hl7-dataformat.adoc[HL7] that has a custom codec.
 
 == Sample with sync=false
 
@@ -262,7 +263,7 @@ assertEquals("Bye World", response);
 
 == Sample with Spring DSL
 
-Spring DSL can, of course, also be used for <<mina2-component,MINA>>. In the
+Spring DSL can, of course, also be used for xref:mina2-component.adoc[Mina 2]. In the
 sample below we expose a TCP server on port 5555:
 
 [source,xml]
@@ -320,5 +321,4 @@ Filters permit you to use some Mina Filters, such as `SslFilter`. You
 can also implement some customized filters. Please note that `codec` and
 `logger` are also implemented as Mina filters of type, `IoFilter`. Any
 filters you may define are appended to the end of the filter chain; that
-is, after `codec` and `logger`.
-
+is, after `codec` and `logger`.
\ No newline at end of file
diff --git a/components/camel-mllp/src/main/docs/mllp-component.adoc b/components/camel-mllp/src/main/docs/mllp-component.adoc
index d681731..3ddd12a 100644
--- a/components/camel-mllp/src/main/docs/mllp-component.adoc
+++ b/components/camel-mllp/src/main/docs/mllp-component.adoc
@@ -37,7 +37,7 @@ for this component:
 </dependency>
 ---------------------------------------------------------
 
-=== MLLP Options
+== MLLP Options
 
 
 
@@ -183,7 +183,7 @@ The component supports 31 options, which are listed below.
 
 
 
-=== MLLP Consumer
+== MLLP Consumer
 
 The MLLP Consumer supports receiving MLLP-framed messages and sending
 HL7 Acknowledgements.  The MLLP Consumer can automatically generate the
@@ -193,7 +193,7 @@ the CamelMllpAcknowledgement exchange property.  Additionally, the type
 of acknowledgement that will be generated can be controlled by setting
 the CamelMllpAcknowledgementType exchange property.
 
-=== *Message Headers*
+== *Message Headers*
 
 The MLLP Consumer adds these headers on the Camel message:
 
@@ -220,7 +220,7 @@ The MLLP Consumer adds these headers on the Camel message:
 All headers are String types. If a header value is missing, its value
 is null.
 
-=== *Exchange Properties*
+== *Exchange Properties*
 
 The type of acknowledgment the MLLP Consumer generates and state of the TCP Socket can be controlled
 by these properties on the Camel exchange:
@@ -243,7 +243,7 @@ by these properties on the Camel exchange:
 // REVISIT - Empty section is bad for AsciiDoc build
 //=== Consumer Configuration
 
-=== MLLP Producer
+== MLLP Producer
 
 The MLLP Producer supports sending MLLP-framed messages and receiving
 HL7 Acknowledgements.  The MLLP Producer interrogates the HL7
@@ -251,7 +251,7 @@ Acknowledgments and raises exceptions if a negative acknowledgement is
 received.  The received acknowledgement is interrogated and an exception
 is raised in the event of a negative acknowledgement.
 
-=== *Message Headers*
+== *Message Headers*
 
 The MLLP Producer adds these headers on the Camel message:
 
@@ -265,7 +265,7 @@ The MLLP Producer adds these headers on the Camel message:
 |CamelMllpAcknowledgementType | The HL7 acknowledgement type (AA, AE, AR, etc)
 |===================================
 
-=== *Exchange Properties*
+== *Exchange Properties*
 
 The state of the TCP Socket can be controlled by these properties on the Camel exchange:
 
diff --git a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
index d0d2840..147f9eb 100644
--- a/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
+++ b/components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
@@ -128,7 +128,7 @@ MongoDB instance.
 == Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb-gridfs-component,*findOne*>> on a collection.
+<<*findOne*>> on a collection.
 
 *Get a file from GridFS*
 
diff --git a/components/camel-mongodb/src/main/docs/mongodb-component.adoc b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
index d7236dd..b506bfe 100644
--- a/components/camel-mongodb/src/main/docs/mongodb-component.adoc
+++ b/components/camel-mongodb/src/main/docs/mongodb-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.10*
 
 
-*Available as of Camel version 2.10*
-
-
 According to Wikipedia: "NoSQL is a movement promoting a loosely defined
 class of non-relational data stores that break with a long history of
 relational databases and ACID guarantees." NoSQL solutions have grown in
@@ -45,14 +42,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------
 mongodb:connectionBean?database=databaseName&collection=collectionName&operation=operationName[&moreOptions...]
 ---------------------------------------------------------------------------------------------------------------
 
-=== MongoDB options
+== MongoDB options
 
 
 // component options: START
@@ -148,7 +145,7 @@ The component supports 2 options, which are listed below.
 
 
 
-=== Configuration of database in Spring XML
+== Configuration of database in Spring XML
 
 The following Spring XML creates a bean defining the connection to a
 MongoDB instance.
@@ -166,10 +163,10 @@ MongoDB instance.
 </beans>
 ----------------------------------------------------------------------------------------------------------------------------------
 
-=== Sample route
+== Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb-component,*dbStats*>> on a collection.
+<<*dbStats*>> on a collection.
 
 *Get DB stats for specified collection*
 
@@ -183,11 +180,11 @@ The following route defined in Spring XML executes the operation
 </route>
 ---------------------------------------------------------------------------------------------------------------------------
 
-=== MongoDB operations - producer endpoints
+== MongoDB operations - producer endpoints
 
-==== Query operations
+=== Query operations
 
-===== findById
+==== findById
 
 This operation retrieves only one element from the collection whose _id
 field matches the content of the IN message body. The incoming object
@@ -203,17 +200,13 @@ from("direct:findById")
     .to("mock:resultFindById");
 ------------------------------------------------------------------------------
 
-
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter. See
-<<mongodb-component,Specifying optional parameters>>.
-
-===== findOneByQuery
+==== findOneByQuery
 
 Use this operation to retrieve just one element from the collection that
 matches a MongoDB query. *The query object is extracted from the IN
 message body*, i.e. it should be of type `DBObject` or convertible to
 `DBObject`. It can be a JSON String or a Hashmap. See
-<<mongodb-component,#Type conversions>> for more info.
+<<Type conversions>> for more info.
 
 Example with no query (returns any object of the collection):
 
@@ -234,16 +227,13 @@ from("direct:findOneByQuery")
     .to("mock:resultFindOneByQuery");
 ------------------------------------------------------------------------------------
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter and/or a sort clause. See
-<<mongodb-component,Specifying optional parameters>>.
-
-===== findAll
+==== findAll
 
 The `findAll` operation returns all documents matching a query, or none
 at all, in which case all documents contained in the collection are
 returned. *The query object is extracted from the IN message body*, i.e.
 it should be of type `DBObject` or convertible to `DBObject`. It can be
-a JSON String or a Hashmap. See <<mongodb-component,#Type conversions>> for
+a JSON String or a Hashmap. See <<Type conversions>> for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -321,13 +311,11 @@ consideration. |int/Integer
 consideration. |int/Integer
 |=======================================================================
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter and/or a sort clause. See
-<<mongodb-component,Specifying optional parameters>>.
-
-===== count
+==== count
 
 Returns the total number of objects in a collection, returning a Long as
-the OUT message body. +
+the OUT message body.
+
 The following example will count the number of records in the
 "dynamicCollectionName" collection. Notice how dynamicity is enabled,
 and as a result, the operation will not run against the
@@ -353,7 +341,7 @@ DBObject query = ...
 Long count = template.requestBodyAndHeader("direct:count", query, MongoDbConstants.COLLECTION, "dynamicCollectionName");
 ------------------------------------------------------------------------------------------------------------------------
 
-===== Specifying a fields filter (projection)
+==== Specifying a fields filter (projection)
 
 Query operations will, by default, return the matching objects in their
 entirety (with all their fields). If your documents are large and you
@@ -374,7 +362,7 @@ DBObject fieldFilter = BasicDBObjectBuilder.start().add("_id", 0).add("boringFie
 Object result = template.requestBodyAndHeader("direct:findAll", (Object) null, MongoDbConstants.FIELDS_FILTER, fieldFilter);
 ----------------------------------------------------------------------------------------------------------------------------
 
-===== Specifying a sort clause
+==== Specifying a sort clause
 
 There is a often a requirement to fetch the min/max record from a 
 collection based on sorting by a particular field. In Mongo the 
@@ -407,13 +395,14 @@ to a single field, based on the `documentTimestamp` field:
 ----------------------------------------------------------------------------------------------------------------------------
 
 
-==== Create/update operations
+=== Create/update operations
 
-===== insert
+==== insert
 
 Inserts an new object into the MongoDB collection, taken from the IN
 message body. Type conversion is attempted to turn it into `DBObject` or
-a `List`. +
+a `List`.
+
  Two modes are supported: single insert and multiple insert. For
 multiple insert, the endpoint will expect a List, Array or Collections
 of objects of any type, as long as they are - or can be converted to -
@@ -456,7 +445,7 @@ constant). The value stored is `org.bson.types.ObjectId` for single
 insert or `java.util.List<org.bson.types.ObjectId>` if multiple records
 have been inserted.
 
-===== save
+==== save
 
 The save operation is equivalent to an _upsert_ (UPdate, inSERT)
 operation, where the record will be updated, and if it doesn't exist, it
@@ -486,7 +475,7 @@ from("direct:insert")
     .to("mongodb:myDb?database=flights&collection=tickets&operation=save");
 ---------------------------------------------------------------------------
 
-===== update
+==== update
 
 Update one or multiple records on the collection. Requires a
 List<DBObject> as the IN message body containing exactly 2 elements:
@@ -530,13 +519,14 @@ DBObject updateObj = new BasicDBObject("$set", new BasicDBObject("scientist", "D
 Object result = template.requestBodyAndHeader("direct:update", new Object[] {filterField, updateObj}, MongoDbConstants.MULTIUPDATE, true);
 ------------------------------------------------------------------------------------------------------------------------------------------
 
-==== Delete operations
+=== Delete operations
 
-===== remove
+==== remove
 
 Remove matching records from the collection. The IN message body will
 act as the removal filter query, and is expected to be of type
-`DBObject` or a type convertible to it. +
+`DBObject` or a type convertible to it.
+
  The following example will remove all objects whose field
 'conditionField' equals true, in the science database, notableScientists
 collection:
@@ -554,9 +544,9 @@ containing the number of records deleted (copied from
 `WriteResult.getN()`).
 
 
-==== Bulk Write Operations
+=== Bulk Write Operations
 
-===== bulkWrite
+==== bulkWrite
 
 *Available as of Camel 2.21*
 
@@ -590,9 +580,9 @@ Unordered operations are executed in parallel and this behavior is not guarantee
 |=======================================================================
 
 
-==== Other operations
+=== Other operations
 
-===== aggregate
+==== aggregate
 
 *Available as of Camel 2.14*
 
@@ -641,10 +631,11 @@ from("direct:aggregate")
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
 
-===== getDbStats
+==== getDbStats
 
 Equivalent of running the `db.stats()` command in the MongoDB shell,
-which displays useful statistic figures about the database. +
+which displays useful statistic figures about the database.
+
  For example:
 
 [source,java]
@@ -678,10 +669,11 @@ assertTrue("Result is not of type DBObject", result instanceof DBObject);
 The operation will return a data structure similar to the one displayed
 in the shell, in the form of a `DBObject` in the OUT message body.
 
-===== getColStats
+==== getColStats
 
 Equivalent of running the `db.collection.stats()` command in the MongoDB
-shell, which displays useful statistic figures about the collection. +
+shell, which displays useful statistic figures about the collection.
+
  For example:
 
 [source,java]
@@ -718,7 +710,7 @@ assertTrue("Result is not of type DBObject", result instanceof DBObject);
 The operation will return a data structure similar to the one displayed
 in the shell, in the form of a `DBObject` in the OUT message body.
 
-===== command
+==== command
 
 *Available as of Camel 2.15*
 
@@ -734,11 +726,12 @@ DBObject commandBody = new BasicDBObject("hostInfo", "1");
 Object result = template.requestBody("direct:command", commandBody);
 --------------------------------------------------------------------------------
 
-==== Dynamic operations
+=== Dynamic operations
 
 An Exchange can override the endpoint's fixed operation by setting the
 `CamelMongoDbOperation` header, defined by the
-`MongoDbConstants.OPERATION_HEADER` constant. +
+`MongoDbConstants.OPERATION_HEADER` constant.
+
  The values supported are determined by the MongoDbOperation enumeration
 and match the accepted values for the `operation` parameter on the
 endpoint URI.
@@ -774,7 +767,7 @@ new objects are inserted, MongoDB will push them as DBObjects in natural
 order to your tailable cursor consumer, who will transform them to an
 Exchange and will trigger your route logic.
 
-=== How the tailable cursor consumer works
+== How the tailable cursor consumer works
 
 To turn a cursor into a tailable cursor, a few special flags are to be
 signalled to MongoDB when first generating the cursor. Once created, the
@@ -825,7 +818,7 @@ The above route will consume from the "flights.cancellations" capped
 collection, using "departureTime" as the increasing field, with a
 default regeneration cursor delay of 1000ms.
 
-=== Persistent tail tracking
+== Persistent tail tracking
 
 Standard tail tracking is volatile and the last value is only kept in
 memory. However, in practice you will need to restart your Camel
@@ -845,7 +838,7 @@ persisting at regular intervals too in the future (flush every 5
 seconds) for added robustness if the demand is there. To request this
 feature, please open a ticket in the Camel JIRA.
 
-=== Enabling persistent tail tracking
+== Enabling persistent tail tracking
 
 To enable this function, set at least the following options on the
 endpoint URI:
@@ -1005,7 +998,7 @@ public class MongoDbTracker {
 -----------------------------------------------------------------------------------------------------------------------------------
 
 
-=== Type conversions
+== Type conversions
 
 The `MongoDbBasicConverters` type converter included with the
 camel-mongodb component provides the following conversions:
@@ -1028,13 +1021,3 @@ object to a `Map`, which is in turn used to initialise a new
 
 This type converter is auto-discovered, so you don't need to configure
 anything manually.
-
-=== See also
-
-* http://www.mongodb.org/[MongoDB website]
-* http://en.wikipedia.org/wiki/NoSQL[NoSQL Wikipedia article]
-* http://api.mongodb.org/java/current/[MongoDB Java driver API docs -
-current version]
-*
-https://github.com/apache/camel/tree/master/components/camel-mongodb/src/test[Unit
-tests] for more examples of usage
diff --git a/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc b/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
index bc66ab6..c60c085 100644
--- a/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
+++ b/components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
@@ -44,14 +44,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------
 mongodb3:connectionBean?database=databaseName&collection=collectionName&operation=operationName[&moreOptions...]
 ---------------------------------------------------------------------------------------------------------------
 
-=== MongoDB options
+== MongoDB options
 
 
 // component options: START
@@ -177,7 +177,7 @@ xsi:schemaLocation="http://www.springframework.org/schema/context
 === Sample route
 
 The following route defined in Spring XML executes the operation
-<<mongodb3-component,*dbStats*>> on a collection.
+<<*dbStats*>> on a collection.
 
 *Get DB stats for specified collection*
 
@@ -211,17 +211,13 @@ from("direct:findById")
     .to("mock:resultFindById");
 ------------------------------------------------------------------------------
 
-
-TIP: *Supports optional parameters*. This operation supports specifying a fields filter. See
-<<mongodb3-component,Specifying optional parameters>>.
-
 ===== findOneByQuery
 
 Use this operation to retrieve just one element (the first) from the collection that
 matches a MongoDB query. *The query object is extracted `CamelMongoDbCriteria` header*.
 if the CamelMongoDbCriteria header is null the query object is extracted 
 message body, i.e. it should be of type `Bson` or convertible to
-`Bson`. It can be a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for more info.
+`Bson`. It can be a JSON String or a Hashmap. See <<Type conversions>> for more info.
 you can use the Filters class from MongoDB Driver.
 
 Example with no query (returns any object of the collection):
@@ -243,9 +239,6 @@ from("direct:findOneByQuery")
     .to("mock:resultFindOneByQuery");
 ------------------------------------------------------------------------------------
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields projection and/or a sort clause. See
-<<mongodb3-component,Specifying optional parameters>>.
-
 ===== findAll
 
 The `findAll` operation returns all documents matching a query, or none
@@ -254,7 +247,7 @@ returned.  *The query object is extracted `CamelMongoDbCriteria` header*.
 if the CamelMongoDbCriteria header is null the query object is extracted 
 message body, i.e. it should be of type `Bson` or convertible to
 `Bson`. It can be
-a JSON String or a Hashmap. See <<mongodb3-component,#Type conversions>> for
+a JSON String or a Hashmap. See <<Type conversions>> for
 more info.
 
 Example with no query (returns all object in the collection):
@@ -326,13 +319,11 @@ consideration. |int/Integer
 consideration. |int/Integer
 |=======================================================================
 
-TIP: *Supports optional parameters*. This operation supports specifying a fields projection and/or a sort clause. See
-<<mongodb3-component,Specifying optional parameters>>.
-
 ===== count
 
 Returns the total number of objects in a collection, returning a Long as
-the OUT message body. +
+the OUT message body.
+
 The following example will count the number of records in the
 "dynamicCollectionName" collection. Notice how dynamicity is enabled,
 and as a result, the operation will not run against the
@@ -431,7 +422,8 @@ to a single field, based on the `documentTimestamp` field:
 
 Inserts an new object into the MongoDB collection, taken from the IN
 message body. Type conversion is attempted to turn it into `Document` or
-a `List`. +
+a `List`.
+
  Two modes are supported: single insert and multiple insert. For
 multiple insert, the endpoint will expect a List, Array or Collections
 of objects of any type, as long as they are - or can be converted to -
@@ -587,7 +579,8 @@ Object result = template.requestBodyAndHeader("direct:update", updateObj, MongoD
 
 Remove matching records from the collection. The IN message body will
 act as the removal filter query, and is expected to be of type
-`DBObject` or a type convertible to it. +
+`DBObject` or a type convertible to it.
+
  The following example will remove all objects whose field
 'conditionField' equals true, in the science database, notableScientists
 collection:
@@ -697,7 +690,8 @@ Calling `.streaming()` is thus required to load data into memory by batches.
 ===== getDbStats
 
 Equivalent of running the `db.stats()` command in the MongoDB shell,
-which displays useful statistic figures about the database. +
+which displays useful statistic figures about the database.
+
  For example:
 
 [source,java]
@@ -734,7 +728,8 @@ in the shell, in the form of a `Document` in the OUT message body.
 ===== getColStats
 
 Equivalent of running the `db.collection.stats()` command in the MongoDB
-shell, which displays useful statistic figures about the collection. +
+shell, which displays useful statistic figures about the collection.
+
  For example:
 
 [source,java]
@@ -789,7 +784,8 @@ Object result = template.requestBody("direct:command", commandBody);
 
 An Exchange can override the endpoint's fixed operation by setting the
 `CamelMongoDbOperation` header, defined by the
-`MongoDbConstants.OPERATION_HEADER` constant. +
+`MongoDbConstants.OPERATION_HEADER` constant.
+
  The values supported are determined by the MongoDbOperation enumeration
 and match the accepted values for the `operation` parameter on the
 endpoint URI.
@@ -962,13 +958,3 @@ object to a `Map`, which is in turn used to initialise a new
 
 This type converter is auto-discovered, so you don't need to configure
 anything manually.
-
-=== See also
-
-* http://www.mongodb.org/[MongoDB website]
-* http://en.wikipedia.org/wiki/NoSQL[NoSQL Wikipedia article]
-* http://api.mongodb.org/java/current/[MongoDB Java driver API docs -
-current version]
-*
-http://svn.apache.org/viewvc/camel/trunk/components/camel-mongodb/src/test/[Unit
-tests] for more examples of usage
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index cca35d1..a0f284e 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -196,5 +196,4 @@ http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Consum
 * http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Endpoint.html#createPollingConsumer()[createPollingConsumer()]
 implements the Polling Consumer pattern for
 consuming message exchanges from the endpoint via a
-http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
-
+http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
\ No newline at end of file
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index 2e9ae82..eb0006a 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-Note that the <<jing-component,Jing>> component also supports
+Note that the xref:jing-component.adoc[Jing] component also supports
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
 Syntax]
 
@@ -150,5 +150,4 @@ shows how to configure a route from endpoint *direct:start* which then
 goes to one of two endpoints, either *mock:valid* or *mock:invalid*
 based on whether or not the XML matches the given
 http://relaxng.org/[RelaxNG XML Schema] (which is supplied on the
-classpath).
-
+classpath).
\ No newline at end of file
diff --git a/components/camel-mustache/src/main/docs/mustache-component.adoc b/components/camel-mustache/src/main/docs/mustache-component.adoc
index 85f7add..03b22de 100644
--- a/components/camel-mustache/src/main/docs/mustache-component.adoc
+++ b/components/camel-mustache/src/main/docs/mustache-component.adoc
@@ -30,7 +30,7 @@ mustache:templateName[?options]
 
 Where *templateName* is the classpath-local URI of the template to
 invoke; or the complete URL of the remote template (eg:
-file://folder/myfile.mustache[file://folder/myfile.mustache]).
+`\file://folder/myfile.mustache`).
 
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
@@ -209,4 +209,3 @@ Thanks for the order of {{headers.item}}.
 Regards Camel Riders Bookstore
 {{body}}
 -------------------------------------------------
-
diff --git a/components/camel-mvel/src/main/docs/mvel-component.adoc b/components/camel-mvel/src/main/docs/mvel-component.adoc
index 63ca4e3..c7e21b4 100644
--- a/components/camel-mvel/src/main/docs/mvel-component.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-component.adoc
@@ -30,7 +30,7 @@ mvel:templateName[?options]
 
 Where *templateName* is the classpath-local URI of the template to
 invoke; or the complete URL of the remote template (eg:
-file://folder/myfile.mvel[file://folder/myfile.mvel]).
+`\file://folder/myfile.mvel`).
 
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
@@ -204,4 +204,3 @@ from("direct:in").
   setHeader("CamelMvelTemplate").constant("@{\"The result is \" + request.body * 3}\" }").
   to("velocity:dummy");
 ------------------------------------------------------------------------------------------
-
diff --git a/components/camel-mvel/src/main/docs/mvel-language.adoc b/components/camel-mvel/src/main/docs/mvel-language.adoc
index 63509191..210f48a 100644
--- a/components/camel-mvel/src/main/docs/mvel-language.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-language.adoc
@@ -123,7 +123,8 @@ And the sample using Java DSL:
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
@@ -148,4 +149,4 @@ the download page for the latest versions).
   <artifactId>camel-mvel</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
index e669f7a..f3afc7e 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
@@ -25,11 +25,12 @@ for this component:
 
 This component will by default load the MyBatis SqlMapConfig file from
 the root of the classpath with the expected name of
-`SqlMapConfig.xml`. +
+`SqlMapConfig.xml`.
+
  If the file is located in another location, you will need to configure
 the `configurationUri` option on the `MyBatisComponent` component.
 
-=== Options
+== Options
 
 // component options: START
 The MyBatis Bean component supports 3 options, which are listed below.
@@ -111,7 +112,7 @@ The component supports 4 options, which are listed below.
 
 
 
-=== Message Headers
+== Message Headers
 
 Camel will populate the result message, either IN or OUT with a header
 with the statement used:
@@ -125,7 +126,7 @@ instance an `INSERT` could return the auto-generated key, or number of
 rows etc.
 |===
 
-=== Message Body
+== Message Body
 
 The response from MyBatis will only be set as the body if it's a
 `SELECT` statement. That means, for example, for `INSERT` statements
@@ -133,7 +134,7 @@ Camel will not replace the body. This allows you to continue routing and
 keep the original body. The response from MyBatis is always stored in
 the header with the key `CamelMyBatisResult`.
 
-=== Samples
+== Samples
 
 For example if you wish to consume beans from a JMS queue and insert
 them into a database you could do the following:
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index f26082b..de64e40 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -36,7 +36,8 @@ You can append query options to the URI in the following format,
 
 This component will by default load the MyBatis SqlMapConfig file from
 the root of the classpath with the expected name of
-`SqlMapConfig.xml`. +
+`SqlMapConfig.xml`.
+
  If the file is located in another location, you will need to configure
 the `configurationUri` option on the `MyBatisComponent` component.
 
@@ -298,7 +299,8 @@ from("direct:start")
 === Notice on InsertList, UpdateList and DeleteList StatementTypes
 
 Parameter of any type (List, Map, etc.) can be passed to mybatis and an
-end user is responsible for handling it as required +
+end user is responsible for handling it as required
+
  with the help of http://www.mybatis.org/mybatis-3/dynamic-sql.html[mybatis
 dynamic queries] capabilities.
 
@@ -435,4 +437,4 @@ usual:
         <to uri="mybatis:myModel.insert?statementType=Insert"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index a9a5fb0..8435f28 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -29,7 +29,8 @@ nagios://host[:port][?Options]
 
 Camel provides two abilities with the xref:nagios-component.adoc[Nagios]
 component. You can send passive check messages by sending a message to
-its endpoint. +
+its endpoint.
+
  Camel also provides a EventNotifer which allows
 you to send notifications to Nagios.
 
@@ -180,4 +181,4 @@ Nagios. For example we can enable this from Java as follows:
 In Spring XML its just a matter of defining a Spring bean with the type
 `EventNotifier` and Camel will pick it up as documented here:
 xref:latest@manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
-configuration of CamelContext using Spring].
+configuration of CamelContext using Spring].
\ No newline at end of file
diff --git a/components/camel-nats/src/main/docs/nats-component.adoc b/components/camel-nats/src/main/docs/nats-component.adoc
index 1c47919..8bd2d25 100644
--- a/components/camel-nats/src/main/docs/nats-component.adoc
+++ b/components/camel-nats/src/main/docs/nats-component.adoc
@@ -168,4 +168,4 @@ from("direct:send").to("nats://token@localhost:4222?topic=test");
 [source,java]
 ----------------------------------------------------------------------------------------
 from("nats://localhost:4222?topic=test&maxMessages=5&queueName=test").to("mock:result");
-----------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index a3b6169..910019a 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -4,13 +4,14 @@
 *Available as of Camel version 2.12*
 
 
-The *netty-http* component is an extension to <<netty-component,Netty>>
-component to facilitiate HTTP transport with <<netty-component,Netty>>.
+
+The *netty-http* component is an extension to xref:netty-component.adoc[Netty]
+component to facilitiate HTTP transport with xref:netty-component.adoc[Netty].
 
 This camel component supports both producer and consumer endpoints.
 
 WARNING: This component is deprecated. You should use
-<<netty4-http-component,Netty4 HTTP>>.
+xref:netty4-http-component.adoc[Netty HTTP].
 
 INFO: *Stream*.
 Netty is stream based, which means the input it receives is submitted to
@@ -67,10 +68,11 @@ at the endpoint URI definition level (like `to` or `from` DSL elements).
 == HTTP Options
 
 INFO: *A lot more options*. *Important:* This component inherits all the options from
-<<netty-component,Netty>>. So make sure to look at the
-<<netty-component,Netty>> documentation as well. +
- Notice that some options from <<netty-component,Netty>> is not applicable
-when using this <<netty-http-component,Netty HTTP>> component, such as
+xref:netty-component.adoc[Netty]. So make sure to look at the
+xref:netty-component.adoc[Netty] documentation as well.
+
+ Notice that some options from xref:netty-component.adoc[Netty] is not applicable
+when using this xref:netty-http-component.adoc[Netty HTTP] component, such as
 options related to UDP transport.
 
 
@@ -302,7 +304,7 @@ success, and 500 for failure.
 |=======================================================================
 
 The following headers is provided as meta-data when a route starts from
-an <<netty-http-component,Netty HTTP>> endpoint:
+an xref:netty-http-component.adoc[Netty HTTP] endpoint:
 
 The description in the table takes offset in a route having:
 `from("netty-http:http:0.0.0.0:8080/myapp")...`
@@ -352,7 +354,7 @@ org.jboss.netty.handler.codec.http.HttpRequest request = exchange.getIn(NettyHtt
 
 == Examples
 
-In the route below we use <<netty-http-component,Netty HTTP>> as a HTTP
+In the route below we use xref:netty-http-component.adoc[Netty HTTP] as a HTTP
 server, which returns back a hardcoded "Bye World" message.
 
 [source,java]
@@ -374,7 +376,7 @@ And we get back "Bye World" as the output.
 
 == How do I let Netty match wildcards
 
-By default <<netty-http-component,Netty HTTP>> will only match on exact
+By default xref:netty-http-component.adoc[Netty HTTP] will only match on exact
 uri's. But you can instruct Netty to match prefixes. For example
 
 [source,java]
@@ -382,8 +384,9 @@ uri's. But you can instruct Netty to match prefixes. For example
 from("netty-http:http://0.0.0.0:8123/foo").to("mock:foo");
 ----------------------------------------------------------
 
-In the route above <<netty-http-component,Netty HTTP>> will only match if
-the uri is an exact match, so it will match if you enter +
+In the route above xref:netty-http-component.adoc[Netty HTTP] will only match if
+the uri is an exact match, so it will match if you enter
+
  `http://0.0.0.0:8123/foo` but not match if you do
 `http://0.0.0.0:8123/foo/bar`.
 
@@ -406,7 +409,7 @@ from("netty-http:http://0.0.0.0:8123?matchOnUriPrefix=true").to("mock:foo");
 == Using multiple routes with same port
 
 In the same CamelContext you can have multiple
-routes from <<netty-http-component,Netty HTTP>> that shares the same port
+routes from xref:netty-http-component.adoc[Netty HTTP] that shares the same port
 (eg a `org.jboss.netty.bootstrap.ServerBootstrap` instance). Doing this
 requires a number of bootstrap options to be identical in the routes, as
 the routes will share the same
@@ -462,7 +465,7 @@ By configuring the common server bootstrap option in an single instance
 of a
 `org.apache.camel.component.netty.NettyServerBootstrapConfiguration`
 type, we can use the `bootstrapConfiguration` option on the
-<<netty-http-component,Netty HTTP>> consumers to refer and reuse the same
+xref:netty-http-component.adoc[Netty HTTP] consumers to refer and reuse the same
 options across all consumers.
 
 [source,xml]
@@ -501,7 +504,7 @@ for more details and example how to do that.
 
 == Using HTTP Basic Authentication
 
-The <<netty-http-component,Netty HTTP>> consumer supports HTTP basic
+The xref:netty-http-component.adoc[Netty HTTP] consumer supports HTTP basic
 authentication by specifying the security realm name to use, as shown
 below
 
@@ -573,4 +576,3 @@ below:
    ...
 </route>
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index 75111aa..ecc41a0 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -3,14 +3,14 @@
 
 *Available as of Camel version 2.3*
 
-*Available as of Camel version 2.3*
-
 
 The Netty component in Camel is a socket communication component,
-based on the http://netty.io/[Netty] project version 4. +
+based on the http://netty.io/[Netty] project version 4.
+
  Netty is a NIO client server framework which enables quick and easy
 development of networkServerInitializerFactory applications such as
-protocol servers and clients. +
+protocol servers and clients.
+
  Netty greatly simplifies and streamlines network programming such as
 TCP and UDP socket server.
 
@@ -601,14 +601,17 @@ or via XML.
 == Closing Channel When Complete
 
 When acting as a server you sometimes want to close the channel when,
-for example, a client conversion is finished. +
+for example, a client conversion is finished.
+
  You can do this by simply setting the endpoint option
 `disconnect=true`.
 
-However you can also instruct Camel on a per message basis as follows. +
+However you can also instruct Camel on a per message basis as follows.
+
  To instruct Camel to close the channel, you should add a header with
 the key `CamelNettyCloseChannelWhenComplete` set to a boolean `true`
-value. +
+value.
+
  For instance, the example below will close the channel after it has
 written the bye message back to the client:
 
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 5d643a4..89c5939 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -4,8 +4,8 @@
 *Available as of Camel version 2.14*
 
 
-The *netty4-http* component is an extension to <<netty4-component,Netty4>>
-component to facilitiate HTTP transport with <<netty4-component,Netty4>>.
+The *netty4-http* component is an extension to xref:netty4-component.adoc[Netty4]
+component to facilitiate HTTP transport with xref:netty4-component.adoc[Netty4].
 
 This camel component supports both producer and consumer endpoints.
 
@@ -66,9 +66,10 @@ at the endpoint URI definition level (like `to` or `from` DSL elements).
 
 
 INFO: *A lot more options*. *Important:* This component inherits all the options from
-<<netty4-component,Netty4>>. So make sure to look at
-the <<netty4-component,Netty4>> documentation as well. +
- Notice that some options from <<netty4-component,Netty4>> is not
+xref:netty4-component.adoc[Netty4]. So make sure to look at
+the xref:netty4-component.adoc[Netty4] documentation as well.
+
+ Notice that some options from xref:netty4-component.adoc[Netty4] is not
 applicable when using this Netty4 HTTP component, such as options
 related to UDP transport.
 
@@ -392,7 +393,8 @@ from("netty4-http:http://0.0.0.0:8123/foo").to("mock:foo");
 -----------------------------------------------------------
 
 In the route above Netty4 HTTP will only match if the uri is an exact
-match, so it will match if you enter +
+match, so it will match if you enter
+
  `http://0.0.0.0:8123/foo` but not match if you do
 `http://0.0.0.0:8123/foo/bar`.
 
@@ -579,5 +581,4 @@ below:
    <from uri="netty4-http:http://0.0.0.0:{{port}}/foo?matchOnUriPrefix=true&amp;securityConfiguration.realm=karaf&amp;securityConfiguration.securityConstraint=#constraint"/>
    ...
 </route>
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index 387e97c..81a07c8 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -5,10 +5,12 @@
 
 
 The *netty4* component in Camel is a socket communication component,
-based on the http://netty.io/[Netty] project version 4. +
+based on the http://netty.io/[Netty] project version 4.
+
  Netty is a NIO client server framework which enables quick and easy
 development of networkServerInitializerFactory applications such as
-protocol servers and clients. +
+protocol servers and clients.
+
  Netty greatly simplifies and streamlines network programming such as
 TCP and UDP socket server.
 
@@ -32,7 +34,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 The URI scheme for a netty component is as follows
 
@@ -48,7 +50,7 @@ UDP.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 // component options: START
 The Netty4 component supports 6 options, which are listed below.
@@ -403,7 +405,7 @@ RouteBuilder builder = new RouteBuilder() {
 Using the JSSE Configuration Utility
 
 As of Camel 2.9, the Netty component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
@@ -484,7 +486,7 @@ Getting access to SSLSession and the client certificate
 
 You can get access to the `javax.net.ssl.SSLSession` if you eg need to
 get details about the client certificate. When `ssl=true` then the
-<<netty4-component,Netty4>> component will store the `SSLSession` as a
+xref:netty4-component.adoc[Netty4] component will store the `SSLSession` as a
 header on the Camel Message as shown below:
 
 [source,java]
@@ -615,14 +617,17 @@ or via XML.
 === Closing Channel When Complete
 
 When acting as a server you sometimes want to close the channel when,
-for example, a client conversion is finished. +
+for example, a client conversion is finished.
+
  You can do this by simply setting the endpoint option
 `disconnect=true`.
 
-However you can also instruct Camel on a per message basis as follows. +
+However you can also instruct Camel on a per message basis as follows.
+
  To instruct Camel to close the channel, you should add a header with
 the key `CamelNettyCloseChannelWhenComplete` set to a boolean `true`
-value. +
+value.
+
  For instance, the example below will close the channel after it has
 written the bye message back to the client:
 
@@ -744,9 +749,7 @@ for Netty consumers, and a
 Netty producers.
 
 Then in the Camel routes we can refer to this worker pools by
-configuring the `workerPool` option in the
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=URI&linkCreation=true&fromPageId=45877614[URI]
-as shown below:
+configuring the `workerPool` option as shown below:
 
 [source,xml]
 ----
@@ -793,4 +796,3 @@ This provides support for timeout and other complexities you otherwise would nee
 
 You can find an example with the Apache Camel source code in the examples directory
 under the `camel-example-netty-custom-correlation` directory.
-
diff --git a/components/camel-nsq/src/main/docs/nsq-component.adoc b/components/camel-nsq/src/main/docs/nsq-component.adoc
index 195a859..f5e3fcf 100644
--- a/components/camel-nsq/src/main/docs/nsq-component.adoc
+++ b/components/camel-nsq/src/main/docs/nsq-component.adoc
@@ -4,9 +4,6 @@
 *Available as of Camel version 2.23*
 
 
-*Available as of Camel version 2.23*
-
-
 
 http://nsq.io/[NSQ] is a realtime distributed messaging platform.
 
diff --git a/components/camel-ognl/src/main/docs/ognl-language.adoc b/components/camel-ognl/src/main/docs/ognl-language.adoc
index 7d15cc3..9f08b27 100644
--- a/components/camel-ognl/src/main/docs/ognl-language.adoc
+++ b/components/camel-ognl/src/main/docs/ognl-language.adoc
@@ -125,7 +125,8 @@ And the sample using Java DSL:
 *Available as of Camel 2.11*
 
 You can externalize the script and have Camel load it from a resource
-such as `"classpath:"`, `"file:"`, or `"http:"`. +
+such as `"classpath:"`, `"file:"`, or `"http:"`.
+
  This is done using the following syntax: `"resource:scheme:location"`,
 eg to refer to a file on the classpath you can do:
 
@@ -153,4 +154,4 @@ the download page for the latest versions).
 -------------------------------------
 
 Otherwise, you'll also need
-http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ognl/2.7.3_4/org.apache.servicemix.bundles.ognl-2.7.3_4.jar[OGNL]
+http://repo2.maven.org/maven2/org/apache/servicemix/bundles/org.apache.servicemix.bundles.ognl/2.7.3_4/org.apache.servicemix.bundles.ognl-2.7.3_4.jar[OGNL]
\ No newline at end of file
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index 12e2ec1..4bf1bdd 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -206,7 +206,7 @@ org.apache.olingo.odata2.api.commons.HttpStatusCodes for other OData resources
 |update |data, resourcePath, endpointHttpHeaders |PUT |org.apache.olingo.odata2.api.commons.HttpStatusCodes
 |=======================================================================
 
-== Endpoint HTTP Headers (Since 2.20)
+== Endpoint HTTP Headers
 The component level configuration property **httpHeaders** supplies static HTTP header information. 
 However, some systems requires dynamic header information to be passed to and received from the endpoint.
 A sample use case would be systems that require dynamic security tokens.  The **endpointHttpHeaders** 
@@ -331,4 +331,4 @@ consumer endpoint will produce an *ODataFeed* value the first time, and
 ---------------------------------------------------------------------------------------------------------
 from("olingo2://read/Manufacturers?queryParams=#paramsBean&consumer.timeUnit=SECONDS&consumer.delay=30")
     .to("bean:blah");
----------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
index 2c1e148..a41b41d 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
@@ -192,7 +192,7 @@ org.apache.olingo.commons.api.http.HttpStatusCode for other OData resources
 |update |data, resourcePath, endpointHttpHeaders |PUT |org.apache.olingo.commons.api.http.HttpStatusCode
 |=======================================================================
 
-== Endpoint HTTP Headers (since *Camel 2.20*)
+== Endpoint HTTP Headers
 The component level configuration property **httpHeaders** supplies static HTTP header information. 
 However, some systems requires dynamic header information to be passed to and received from the endpoint.
 A sample use case would be systems that require dynamic security tokens.  The **endpointHttpHeaders** 
@@ -293,4 +293,4 @@ The following route creates People entity using the
 ------------------------------------------------------------
 from("direct:...")
     .to("olingo4://create/People");
-------------------------------------------------------------
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-openshift/src/main/docs/openshift-component.adoc b/components/camel-openshift/src/main/docs/openshift-component.adoc
index 166262f..993c5dd 100644
--- a/components/camel-openshift/src/main/docs/openshift-component.adoc
+++ b/components/camel-openshift/src/main/docs/openshift-component.adoc
@@ -197,5 +197,4 @@ following headers is included.
 |CamelOpenShiftEventOldState |Yes |The old state, when the event type is changed.
 
 |CamelOpenShiftEventNewState |No |The new state, for any of the event types
-|=======================================================================
-
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
index 55ff835..6c50429 100644
--- a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -195,5 +195,4 @@ If you need more precise volume settings you can create new object of the type *
 
 |=========================================================================
 
-If you need more precise server settings you can create new object of the type *org.openstack4j.model.storage.block.VolumeSnapshot* and send in the message body.
-
+If you need more precise server settings you can create new object of the type *org.openstack4j.model.storage.block.VolumeSnapshot* and send in the message body.
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
index 014ec98..4eebb05 100644
--- a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -155,5 +155,4 @@ The component supports 2 options, which are listed below.
 |`checksum` |`String` | Checksum.
 
 |`properties` | `Map` | Image properties.
-|=========================================================================
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
index 8707d16..2ae2850 100644
--- a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
@@ -23,7 +23,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -301,5 +301,4 @@ If you need more precise region settings you can create new object of the type *
 |`email` | `String`| User's email.
 |=========================================================================
 
-If you need more precise user settings you can create new object of the type *org.openstack4j.model.identity.v3.User* and send in the message body.
-
+If you need more precise user settings you can create new object of the type *org.openstack4j.model.identity.v3.User* and send in the message body.
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
index 4324910..438ecc9 100644
--- a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -273,6 +273,4 @@ If you need more precise subnet settings you can create new object of the type *
 |`interfaceType` | `org.openstack4j.model.network.AttachInterfaceType` | Interface type.
 
 |`tenantId` | `String` | Tenant ID.
-|=========================================================================
-
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
index be73725..46e1101 100644
--- a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -224,5 +224,4 @@ If you need more precise server settings you can create new object of the type *
 
 |`name` |`String` |The keypair name.
 
-|=========================================================================
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
index 0a869b5..3826baa 100644
--- a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
@@ -21,7 +21,7 @@ Maven users will need to add the following dependency to their pom.xml.
 </dependency>
 ---------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel.
+where `$\{camel-version\}` must be replaced by the actual version of Camel.
 
 
 == URI Format
@@ -201,5 +201,4 @@ or *org.openstack4j.model.storage.object.options.ContainerListOptions* for listi
 
 |`objectName` |`String` |The object name.
 
-|=========================================================================
-
+|=========================================================================
\ No newline at end of file
diff --git a/components/camel-openstack/src/main/docs/openstack.adoc b/components/camel-openstack/src/main/docs/openstack.adoc
index 52cf2ff..a2b0623 100644
--- a/components/camel-openstack/src/main/docs/openstack.adoc
+++ b/components/camel-openstack/src/main/docs/openstack.adoc
@@ -1,5 +1,5 @@
 [[Openstack-OpenstackComponent]]
-== Openstack Component
+= Openstack Component
 
 *Available as of Camel 2.19*
 
@@ -21,12 +21,10 @@ for this component:
 [width="100%", options="header"]
 |=======================================================================
 | OpenStack service | Camel Component| Description
-| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | <<openstack-cinder-component,openstack-cinder>> | Component to maintain OpenStack cinder.
-| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | <<openstack-glance-component,openstack-glance>> | Component to maintain OpenStack glance.
-| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | <<openstack-keystone-component,openstack-keystone>> | Component to maintain OpenStack keystone.
-| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | <<openstack-neutron-component,openstack-neutron>> | Component to maintain OpenStack neutron.
-| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | <<openstack-nova-component,openstack-nova>> | Component to maintain OpenStack nova.
-| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | <<openstack-swift-component,openstack-swift>> | Component to maintain OpenStack swift.
-|=======================================================================
-
-
+| https://wiki.openstack.org/wiki/Cinder[OpenStack Cinder] | xref:openstack-cinder-component.adoc[openstack-cinder] | Component to maintain OpenStack cinder.
+| https://wiki.openstack.org/wiki/Glance[OpenStack Glance] | xref:openstack-glance-component.adoc[openstack-glance] | Component to maintain OpenStack glance.
+| https://wiki.openstack.org/wiki/Keystone[OpenStack Keystone] | xref:openstack-keystone-component.adoc[openstack-keystone] | Component to maintain OpenStack keystone.
+| https://wiki.openstack.org/wiki/Neutron[OpenStack Neutron] | xref:openstack-neutron-component.adoc[openstack-neutron] | Component to maintain OpenStack neutron.
+| https://wiki.openstack.org/wiki/Nova[OpenStack Nova] | xref:openstack-nova-component.adoc[openstack-nova] | Component to maintain OpenStack nova.
+| https://wiki.openstack.org/wiki/Swift[OpenStack Swift] | xref:openstack-swift-component.adoc[openstack-swift] | Component to maintain OpenStack swift.
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-opentracing/src/main/docs/opentracing.adoc b/components/camel-opentracing/src/main/docs/opentracing.adoc
index 42cd2c3..8251b09 100644
--- a/components/camel-opentracing/src/main/docs/opentracing.adoc
+++ b/components/camel-opentracing/src/main/docs/opentracing.adoc
@@ -122,4 +122,4 @@ How this agent is used will be specific to how you execute your application. _Se
 == Example
 
 You can find an example demonstrating the three ways to configure OpenTracing here:
-https://github.com/apache/camel/tree/master/examples/camel-example-opentracing[camel-example-opentracing]
+https://github.com/apache/camel/tree/master/examples/camel-example-opentracing[camel-example-opentracing]
\ No newline at end of file
diff --git a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
index 39d0b37..5008aad 100644
--- a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
+++ b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
@@ -5,7 +5,8 @@
 
 
 The *optaplanner:* component solves the planning problem contained in a
-message with http://www.optaplanner.org/[OptaPlanner]. +
+message with http://www.optaplanner.org/[OptaPlanner].
+
  For example: feed it an unsolved Vehicle Routing problem and it solves
 it.
 
@@ -172,5 +173,4 @@ Expose OptaPlanner as a REST service:
 -------------------------------------------------------
 from("cxfrs:bean:rsServer?bindingStyle=SimpleConsumer")
   .to("optaplanner:/org/foo/barSolverConfig.xml");
--------------------------------------------------------
-
+-------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-paho/src/main/docs/paho-component.adoc b/components/camel-paho/src/main/docs/paho-component.adoc
index eac9991..b122280 100644
--- a/components/camel-paho/src/main/docs/paho-component.adoc
+++ b/components/camel-paho/src/main/docs/paho-component.adoc
@@ -221,4 +221,4 @@ And here we override the default topic and set to a dynamic topic
 from("direct:test")
     .setHeader(PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC, simple("${header.customerId}"))
     .to("paho:some/target/queue");
-----
+----
\ No newline at end of file
diff --git a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
index ecbd7b0..d7a6c83 100644
--- a/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
+++ b/components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
@@ -21,7 +21,7 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 -------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
+where `$\{camel-version\}` must be replaced by the actual version of Camel
 (2.6.0 or higher).
 
 == URI format
diff --git a/components/camel-pdf/src/main/docs/pdf-component.adoc b/components/camel-pdf/src/main/docs/pdf-component.adoc
index e204813..70d6af2 100644
--- a/components/camel-pdf/src/main/docs/pdf-component.adoc
+++ b/components/camel-pdf/src/main/docs/pdf-component.adoc
@@ -124,5 +124,4 @@ If specified then PDF document will be encrypted with it.
 |`decryption-material` |Expected type
 ishttps://pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/pdmodel/encryption/DecryptionMaterial.html[DecryptionMaterial].
 *Mandatory* header if PDF document is encrypted.
-|=======================================================================
-
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-pgevent/src/main/docs/pgevent-component.adoc b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
index 94b0daf..273cf9b 100644
--- a/components/camel-pgevent/src/main/docs/pgevent-component.adoc
+++ b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
@@ -107,7 +107,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.pgevent.enabled* | Enable pgevent component | true | Boolean
 | *camel.component.pgevent.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
-
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-printer/src/main/docs/lpr-component.adoc b/components/camel-printer/src/main/docs/lpr-component.adoc
index 222eacf..0a4017e 100644
--- a/components/camel-printer/src/main/docs/lpr-component.adoc
+++ b/components/camel-printer/src/main/docs/lpr-component.adoc
@@ -138,10 +138,14 @@ route.
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
        from(file://inputdir/?delete=true)
-       .to("lpr://localhost/default?copies=2" +
-           "&flavor=DocFlavor.INPUT_STREAM&" +
-           "&mimeType=AUTOSENSE" +
-           "&mediaSize=NA_LETTER" +
+       .to("lpr://localhost/default?copies=2"
+
+           "&flavor=DocFlavor.INPUT_STREAM&"
+
+           "&mimeType=AUTOSENSE"
+
+           "&mediaSize=NA_LETTER"
+
            "&sides=one-sided")
     }};
 -----------------------------------------------
@@ -153,9 +157,12 @@ RouteBuilder builder = new RouteBuilder() {
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
        from(file://inputdir/?delete=true)
-       .to("lpr://remotehost/sales/salesprinter" +
-           "?copies=2&sides=one-sided" +
-           "&mimeType=GIF&mediaSize=ISO_A4" +
+       .to("lpr://remotehost/sales/salesprinter"
+
+           "?copies=2&sides=one-sided"
+
+           "&mimeType=GIF&mediaSize=ISO_A4"
+
            "&flavor=DocFlavor.INPUT_STREAM")
    }};
 --------------------------------------------------
@@ -167,10 +174,14 @@ RouteBuilder builder = new RouteBuilder() {
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
        from(file://inputdir/?delete=true)
-       .to("lpr://remotehost/sales/salesprinter" +
-           "?copies=2&sides=one-sided" +
-           "&mimeType=JPEG" +
-           "&mediaSize=JAPANESE_POSTCARD" +
+       .to("lpr://remotehost/sales/salesprinter"
+
+           "?copies=2&sides=one-sided"
+
+           "&mimeType=JPEG"
+
+           "&mediaSize=JAPANESE_POSTCARD"
+
            "&flavor=DocFlavor.INPUT_STREAM")
     }};
---------------------------------------------------
+--------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
index 6210f92..7bf4216 100644
--- a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -1,10 +1,8 @@
 [[protobuf-dataformat]]
 = Protobuf DataFormat
 [[Protobuf-Protobuf-ProtocolBuffers]]
-*Available as of Camel version 2.2.0*
 *Available as of Camel version 2.2*
 
-
 Protobuf - Protocol Buffers
 ---------------------------
 
@@ -18,8 +16,10 @@ Protocol Buffer is language-neutral and
 platform-neutral, so messages produced by your Camel routes may be
 consumed by other language implementations.
 
-https://developers.google.com/protocol-buffers/docs/reference/java/[API Site] +
-https://github.com/google/protobuf[Protobuf Implementation] +
+https://developers.google.com/protocol-buffers/docs/reference/java/[API Site]
+
+https://github.com/google/protobuf[Protobuf Implementation]
+
 
 https://developers.google.com/protocol-buffers/docs/javatutorial[Protobuf Java Tutorial]
 
@@ -69,7 +69,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-== Content type format (starting from *Camel 2.19*)
+== Content type format
 
 It's possible to parse JSON message to convert it to the protobuf format and unparse it back using native util converter.
 To use this option, set contentTypeFormat value to 'json' or call protobuf with second parameter.
@@ -242,4 +242,4 @@ To use Protobuf in your camel routes you need to add the a dependency on
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
------------------------------------------
+-----------------------------------------
\ No newline at end of file
diff --git a/components/camel-pubnub/src/main/docs/pubnub-component.adoc b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
index 7c9064f..1052ef9 100644
--- a/components/camel-pubnub/src/main/docs/pubnub-component.adoc
+++ b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
@@ -223,6 +223,4 @@ There is a couple of examples in test directory that shows some of the PubNub fe
 They require a PubNub account, from where you can obtain a publish- and subscribe key.
  
 The example PubNubSensorExample already contains a subscribe key provided by PubNub, so this is ready to run without a account. 
-The example illustrates the PubNub component subscribing to a infinite stream of sensor data.
-
-
+The example illustrates the PubNub component subscribing to a infinite stream of sensor data.
\ No newline at end of file
diff --git a/components/camel-pulsar/src/main/docs/pulsar-component.adoc b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
index bedd9fd..67e1e37 100644
--- a/components/camel-pulsar/src/main/docs/pulsar-component.adoc
+++ b/components/camel-pulsar/src/main/docs/pulsar-component.adoc
@@ -120,4 +120,4 @@ The component supports 3 options, which are listed below.
 | *camel.component.pulsar.pulsar-client* | The pulsar client. The option is a org.apache.pulsar.client.api.PulsarClient type. |  | String
 | *camel.component.pulsar.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index 22fa783..0615dbb 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -3,11 +3,10 @@
 
 *Available as of Camel version 1.0*
 
-*Available as of Camel version 1.0*
-
 
 The Quartz component provides a scheduled delivery of messages using
-the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x].  +
+the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x]. 
+
  Each endpoint represents a different timer (in Quartz terms, a Trigger
 and JobDetail).
 
@@ -205,7 +204,8 @@ To do this you can configure this in Spring XML as follows
 
 == Enabling Quartz scheduler in JMX
 
-You need to configure the quartz scheduler properties to enable JMX. +
+You need to configure the quartz scheduler properties to enable JMX.
+
  That is typically setting the option
 `"org.quartz.scheduler.jmx.export"` to a `true` value in the
 configuration file.
@@ -239,7 +239,8 @@ unique job name/group for endpoints.
 == Message Headers
 
 Camel adds the getters from the Quartz Execution Context as header
-values. The following headers are added: +
+values. The following headers are added:
+
  `calendar`, `fireTime`, `jobDetail`, `jobInstance`, `jobRuntTime`,
 `mergedJobDataMap`, `nextFireTime`, `previousFireTime`, `refireCount`,
 `result`, `scheduledFireTime`, `scheduler`, `trigger`, `triggerName`,
diff --git a/components/camel-quartz2/src/main/docs/quartz2-component.adoc b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
index 05d9621..267b2ed 100644
--- a/components/camel-quartz2/src/main/docs/quartz2-component.adoc
+++ b/components/camel-quartz2/src/main/docs/quartz2-component.adoc
@@ -5,7 +5,8 @@
 
 
 The *quartz2:* component provides a scheduled delivery of messages using
-the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x].  +
+the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x]. 
+
  Each endpoint represents a different timer (in Quartz terms, a Trigger
 and JobDetail).
 
@@ -23,10 +24,11 @@ for this component:
 ------------------------------------------------------------
 
 *NOTE:* Quartz 2.x API is not compatible with Quartz 1.x. If you need to
-remain on old Quartz 1.x, please +
- use the old <<quartz-component,Quartz>> component instead.
+remain on old Quartz 1.x, please
+
+ use the old xref:quartz-component.adoc[Quartz] component instead.
 
-=== URI format
+== URI format
 
 ----
 quartz2://timerName?options
@@ -43,7 +45,7 @@ name.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 
 
@@ -177,7 +179,7 @@ INFO: *Running in OSGi and having multiple bundles with quartz
 routes*
 If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have
 multiple bundles with Camel routes that start from
-<<quartz2-component,Quartz2>> endpoints, then make sure if you assign an `id` 
+xref:quartz2-component.adoc[Quartz2] endpoints, then make sure if you assign an `id` 
 to the <camelContext> that this id is unique, as this is
 required by the `QuartzScheduler` in the OSGi container. If you do not
 set any `id` on <camelContext> then a unique id is auto assigned, and there is no problem.
@@ -189,7 +191,7 @@ By default Quartz will look for a `quartz.properties` file in the
 deployments this means just drop the quartz.properties in
 `WEB-INF/classes/org/quartz`.
 
-However the Camel <<quartz2-component,Quartz2>> component also allows you
+However the Camel xref:quartz2-component.adoc[Quartz2] component also allows you
 to configure properties:
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
@@ -212,7 +214,8 @@ To do this you can configure this in Spring XML as follows
 
 === Enabling Quartz scheduler in JMX
 
-You need to configure the quartz scheduler properties to enable JMX. +
+You need to configure the quartz scheduler properties to enable JMX.
+
  That is typically setting the option
 `"org.quartz.scheduler.jmx.export"` to a `true` value in the
 configuration file.
@@ -222,7 +225,7 @@ unless explicit disabled.
 
 === Starting the Quartz scheduler
 
-The <<quartz2-component,Quartz2>> component offers an option to let the
+The xref:quartz2-component.adoc[Quartz2] component offers an option to let the
 Quartz scheduler be started delayed, or not auto started at all.
 
 This is an example:
@@ -237,7 +240,7 @@ This is an example:
 === Clustering
 
 If you use Quartz in clustered mode, e.g. the `JobStore` is clustered.
-Then the <<quartz2-component,Quartz2>> component will *not* pause/remove
+Then the xref:quartz2-component.adoc[Quartz2] component will *not* pause/remove
 triggers when a node is being stopped/shutdown. This allows the trigger
 to keep running on the other nodes in the cluster.
 
@@ -247,7 +250,8 @@ unique job name/group for endpoints.
 === Message Headers
 
 Camel adds the getters from the Quartz Execution Context as header
-values. The following headers are added: +
+values. The following headers are added:
+
  `calendar`, `fireTime`, `jobDetail`, `jobInstance`, `jobRuntTime`,
 `mergedJobDataMap`, `nextFireTime`, `previousFireTime`, `refireCount`,
 `result`, `scheduledFireTime`, `scheduler`, `trigger`, `triggerName`,
@@ -302,9 +306,9 @@ The timeZone value is the values accepted by `java.util.TimeZone`.
 
 === Using QuartzScheduledPollConsumerScheduler
 
-The <<quartz2-component,Quartz2>> component provides a
+The xref:quartz2-component.adoc[Quartz2] component provides a
 Polling Consumer scheduler which allows to
-use cron based scheduling for link:polling-consumer.html[Polling
+use cron based scheduling for xref:latest@manual::polling-consumer.adoc[Polling
 Consumer] such as the File and FTP
 consumers.
 
@@ -318,8 +322,8 @@ second, then a Camel route can be define simply as:
 ----
 
 Notice we define the `scheduler=quartz2` to instruct Camel to use the
-<<quartz2-component,Quartz2>> based scheduler. Then we use `scheduler.xxx`
-options to configure the scheduler. The <<quartz2-component,Quartz2>>
+xref:quartz2-component.adoc[Quartz2] based scheduler. Then we use `scheduler.xxx`
+options to configure the scheduler. The xref:quartz2-component.adoc[Quartz2]
 scheduler requires the cron option to be set.
 
 The following options is supported:
@@ -329,7 +333,7 @@ The following options is supported:
 |Parameter |Default |Type |Description
 
 |`quartzScheduler` |`null` |`org.quartz.Scheduler` |To use a custom Quartz scheduler. If none configure then the shared
-scheduler from the <<quartz2-component,Quartz2>> component is used.
+scheduler from the xref:quartz2-component.adoc[Quartz2] component is used.
 
 |`cron` |`null` |`String` |*Mandatory*: To define the cron expression for triggering the polls.
 
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index 376e304..20c6408 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -464,7 +464,7 @@ settings for both sessions.
 
 [source,xml]
 ----
-include::../../test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml[tags=e1]
+include::{examplesdir}/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml[tags=e1]
 ----
 
 == Exception handling
@@ -589,7 +589,7 @@ initially as a collection of key value pairs data. You can use this
 object or you can use the method 'toString' to retrieve the original FIX
 message.
 
-*Note:* Alternatively, you can use <<bindy-dataformat,camel bindy dataformat>> to transform the FIX message into your own java POJO
+*Note:* Alternatively, you can use xref:bindy-dataformat.adoc[camel bindy dataformat] to transform the FIX message into your own java POJO
 
 When a message must be send to QuickFix, then you must create a
 QuickFix.Message instance.
@@ -625,4 +625,3 @@ Direction : from FIX gateway
   <to uri="uri="activemq:queue:fix"/>"
 </route>
 ----
-
diff --git a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
index bff2663..83ce977 100644
--- a/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
+++ b/components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 The old syntax is *deprecated*:
 [source,text]
@@ -45,7 +45,7 @@ RabbitMQ client default (5672). The exchange name determines which
 exchange produced messages will sent to. In the case of consumers, the
 exchange name determines which exchange the queue will bind to.
 
-=== Options
+== Options
 
 // component options: START
 The RabbitMQ component supports 50 options, which are listed below.
@@ -281,7 +281,7 @@ See
 http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html[http://www.rabbitmq.com/releases/rabbitmq-java-client/current-javadoc/com/rabbitmq/client/ConnectionFactory.html]
 and the AMQP specification for more information on connection options.
 
-=== Using connection factory
+== Using connection factory
 
 To connect to RabbitMQ you can setup a `ConnectionFactory` (same as with JMS) with the login details such as:
 
@@ -317,7 +317,7 @@ From Camel 2.21 onwards the `ConnectionFactory` is auto-detected by default, so
 ----
 
 
-=== Message Headers
+== Message Headers
 
 The following headers are set on exchanges when consuming messages.
 
@@ -388,14 +388,14 @@ producer will also set the headers for downstream processors once the
 exchange has taken place. Any headers set prior to production that the
 producer sets will be overriden.
 
-=== Message Body
+== Message Body
 
 The component will use the camel exchange in body as the rabbit mq
 message body. The camel exchange in object must be convertible to a byte
 array. Otherwise the producer will throw an exception of unsupported
 body type.
 
-=== Samples
+== Samples
 
 To receive messages from a queue that is bound to an exchange A with the
 routing key B,
@@ -439,7 +439,7 @@ public Map<String, Object> bindArgsBuilder() {
 }
 ----
 
-==== Issue when routing between exchanges (in Camel 2.20.x or older)
+=== Issue when routing between exchanges (in Camel 2.20.x or older)
 
 If you for example want to route messages from one Rabbit exchange to another as shown
 in the example below with foo -> bar:
diff --git a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
index 1fe0b87..f0b9eaf 100644
--- a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
+++ b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
@@ -441,6 +441,4 @@ To use the starter, add the following to your spring boot pom.xml file:
     <artifactId>camel-reactive-streams-starter</artifactId>
     <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------
-
-
+------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
index 4797b6b..005695b 100644
--- a/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
+++ b/components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
@@ -9,12 +9,12 @@ http://swagger.io/[Swagger] (Open API) specification document and
 delegates to a component implementing the _RestProducerFactory_
 interface. Currently known working components are:
 
-* <<http-component,http>>
-* <<http4-component,http4>>
-* <<netty4-http-component,netty4-http>>
-* <<restlet-component,restlet>>
-* <<jetty-component,jetty>>
-* <<undertow-component,undertow>>
+* xref:http-component.adoc[HTTP]
+* xref:http4-component.adoc[HTTP4]
+* xref:netty4-http-component.adoc[Netty HTTP]
+* xref:restlet-component.adoc[Restlet]
+* xref:jetty-component.adoc[Jetty]
+* xref:undertow-component.adoc[undertow]
 
 Maven users will need to add the following dependency to their
 `pom.xml` for this component:
@@ -80,7 +80,7 @@ to message headers you can specify REST operation's parameters as
 endpoint parameters, these will be constant for all subsequent
 invocations so it makes sense to use this feature only for parameters
 that are indeed constant for all invocations -- for example API version
-in path such as `/api/{version}/users/{id}`. 
+in path such as `/api/\{version\}/users/\{id\}`. 
 
 == Options
 
@@ -185,7 +185,7 @@ http://petstore.swagger.io/[_PetStore_] provided REST API simply
 reference the specification URI and desired operation id from the
 Swagger specification or download the specification and store it as
 `swagger.json` (in the root) of CLASSPATH that way it will be 
-automaticaly used. Let's use the <<undertow-component,Undertow>>
+automaticaly used. Let's use the xref:undertow-component.adoc[Undertow]
 component to perform all the requests and Camels excelent support for 
 Spring Boot.
 
diff --git a/components/camel-restlet/src/main/docs/restlet-component.adoc b/components/camel-restlet/src/main/docs/restlet-component.adoc
index 32fd898..b6304dc 100644
--- a/components/camel-restlet/src/main/docs/restlet-component.adoc
+++ b/components/camel-restlet/src/main/docs/restlet-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -57,7 +57,7 @@ synchronous=true as option on the endpoint uris, Or set it on the
 RestletComponent as a global option so all endpoints inherit this
 option.
 
-=== Options
+== Options
 
 
 
@@ -198,7 +198,7 @@ The component supports 24 options, which are listed below.
 
 
 
-=== Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |===
@@ -248,15 +248,15 @@ create responses using the API from Restlet. See examples below.
 the List of CacheDirective of Restlet from the camel message header.
 |===
 
-=== Message Body
+== Message Body
 
 Camel will store the restlet response from the external server on the
 OUT body. All headers from the IN message will be copied to the OUT
 message, so that headers are preserved during routing.
 
-=== Samples
+== Samples
... 18118 lines suppressed ...


[camel] 08/16: CAMEL-13798: code changes to re-level headings

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 2c84b02606a795c3dae314a44ed403f8f01642fc
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Mon Jul 29 17:16:57 2019 +0200

    CAMEL-13798: code changes to re-level headings
    
    Unless we start the document with a level 1 heading the document's title
    when rendered as HTML will be `Untitled`. This includes just the code
    changes in the camel-package Maven plugin needed to re-level headings.
    
    Till now we started at level 2 headings so ll headings have been
    decreased by one.
    
    (cherry picked from commit 48d8a526399e5726c28b22e533f5d35126330ebd)
    
    # Conflicts:
    #	docs/gulpfile.js
---
 .../java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java     | 6 +++---
 .../src/main/resources/endpoint-options.mvel                        | 4 ++--
 .../src/main/resources/spring-boot-auto-configure-options.mvel      | 4 ++--
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index 9ebcd443..992b0ca 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -436,7 +436,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
 
                 if (i == 1) {
                     // first line is the title to make the text less noisy we use level 2
-                    String newLine = "== " + title;
+                    String newLine = "= " + title;
                     newLines.add(newLine);
                     updated = !line.equals(newLine);
                     continue;
@@ -444,7 +444,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
 
                 // use single line headers with # as level instead of the cumbersome adoc weird style
                 if (line.startsWith("^^^") || line.startsWith("~~~") || line.startsWith("+++")) {
-                    String level = line.startsWith("+++") ? "====" : "===";
+                    String level = line.startsWith("+++") ? "===" : "==";
 
                     // transform legacy heading into new style
                     int idx = newLines.size() - 1;
@@ -508,7 +508,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             newLines.addAll(Arrays.asList(lines));
 
             // check the first four lines
-            boolean title = lines[1].startsWith("##") || lines[1].startsWith("==");
+            boolean title = lines[1].startsWith("#") || lines[1].startsWith("=");
             boolean empty = lines[2].trim().isEmpty();
             boolean availableFrom = lines[3].trim().contains("Available as of") || lines[3].trim().contains("Available in");
             boolean empty2 = lines[4].trim().isEmpty();
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index 1c9e33b..52be028 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -6,7 +6,7 @@ The @{title} endpoint is configured using URI syntax:
 
 with the following path and query parameters:
 
-==== Path Parameters (@{endpointPathOptions.size()} parameters):
+=== Path Parameters (@{endpointPathOptions.size()} parameters):
 
 @if{endpointPathOptions.isEmpty()}
 The @{title} endpoint has no path parameters.
@@ -18,7 +18,7 @@ The @{title} endpoint has no path parameters.
 @end{}|===
 @end{}
 
-==== Query Parameters (@{endpointOptions.size()} parameters):
+=== Query Parameters (@{endpointOptions.size()} parameters):
 
 @if{endpointOptions.isEmpty()}
 The @{title} endpoint has no query parameters.
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
index 690708d..77a93a0 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
@@ -1,4 +1,4 @@
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
 
 When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
 
@@ -24,4 +24,4 @@ The component supports @{options.size()} options, which are listed below.
 | Name | Description | Default | Type
 @foreach{row : options}| *@{row.name}* | @{util.escape(row.description)} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
-@end{}
\ No newline at end of file
+@end{}


[camel] 12/16: CAMEL-13932: Remove See Also sections

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4ce5980614a67fdf41fb77d35dbcc6bbc60a75ad
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Tue Sep 3 15:42:50 2019 +0200

    CAMEL-13932: Remove See Also sections
---
 .../camel-ahc-ws/src/main/docs/ahc-ws-component.adoc       | 12 ------------
 components/camel-apns/src/main/docs/apns-component.adoc    |  7 -------
 components/camel-atmos/src/main/docs/atmos-component.adoc  |  6 ------
 .../src/main/docs/atmosphere-websocket-component.adoc      | 11 -----------
 components/camel-atom/src/main/docs/atom-component.adoc    |  8 --------
 components/camel-aws/src/main/docs/aws-cw-component.adoc   |  8 --------
 components/camel-aws/src/main/docs/aws-ddb-component.adoc  |  8 --------
 .../camel-aws/src/main/docs/aws-ddbstream-component.adoc   |  9 ---------
 components/camel-aws/src/main/docs/aws-ec2-component.adoc  |  8 --------
 components/camel-aws/src/main/docs/aws-iam-component.adoc  |  8 --------
 .../camel-aws/src/main/docs/aws-kinesis-component.adoc     |  8 --------
 .../src/main/docs/aws-kinesis-firehose-component.adoc      |  8 --------
 components/camel-aws/src/main/docs/aws-kms-component.adoc  |  8 --------
 .../camel-aws/src/main/docs/aws-lambda-component.adoc      |  8 --------
 components/camel-aws/src/main/docs/aws-mq-component.adoc   |  8 --------
 components/camel-aws/src/main/docs/aws-s3-component.adoc   |  8 --------
 components/camel-aws/src/main/docs/aws-sdb-component.adoc  |  8 --------
 components/camel-aws/src/main/docs/aws-ses-component.adoc  |  8 --------
 components/camel-aws/src/main/docs/aws-sns-component.adoc  |  8 --------
 components/camel-aws/src/main/docs/aws-sqs-component.adoc  |  8 --------
 components/camel-aws/src/main/docs/aws-swf-component.adoc  |  8 --------
 .../camel-azure/src/main/docs/azure-blob-component.adoc    |  8 --------
 .../camel-azure/src/main/docs/azure-queue-component.adoc   |  8 --------
 .../src/main/docs/bean-validator-component.adoc            |  6 ------
 .../camel-braintree/src/main/docs/braintree-component.adoc | 14 --------------
 components/camel-chunk/src/main/docs/chunk-component.adoc  |  6 ------
 components/camel-cmis/src/main/docs/cmis-component.adoc    |  6 ------
 .../camel-crypto/src/main/docs/crypto-dataformat.adoc      |  5 -----
 components/camel-crypto/src/main/docs/pgp-dataformat.adoc  |  5 -----
 components/camel-cxf/src/main/docs/cxf-component.adoc      |  6 ------
 components/camel-drill/src/main/docs/drill-component.adoc  |  6 ------
 components/camel-ejb/src/main/docs/ejb-component.adoc      |  9 ---------
 .../src/main/docs/elasticsearch-component.adoc             |  6 ------
 .../src/main/docs/elasticsearch5-component.adoc            |  6 ------
 components/camel-exec/src/main/docs/exec-component.adoc    |  6 ------
 .../camel-flatpack/src/main/docs/flatpack-component.adoc   |  6 ------
 components/camel-flink/src/main/docs/flink-component.adoc  |  6 ------
 components/camel-fop/src/main/docs/fop-component.adoc      |  6 ------
 .../src/main/docs/freemarker-component.adoc                |  6 ------
 components/camel-ftp/src/main/docs/ftp-component.adoc      |  8 --------
 components/camel-grpc/src/main/docs/grpc-component.adoc    |  7 -------
 .../camel-ibatis/src/main/docs/ibatis-component.adoc       |  8 --------
 components/camel-ical/src/main/docs/ical-dataformat.adoc   |  6 ------
 components/camel-ignite/src/main/docs/ignite.adoc          |  6 ------
 .../src/main/docs/infinispan-component.adoc                |  6 ------
 .../camel-influxdb/src/main/docs/influxdb-component.adoc   |  6 ------
 .../camel-javaspace/src/main/docs/javaspace-component.adoc |  6 ------
 components/camel-jbpm/src/main/docs/jbpm-component.adoc    |  8 --------
 components/camel-jcr/src/main/docs/jcr-component.adoc      |  6 ------
 components/camel-jing/src/main/docs/jing-component.adoc    |  6 ------
 components/camel-jmx/src/main/docs/jmx-component.adoc      |  5 -----
 components/camel-jolt/src/main/docs/jolt-component.adoc    |  6 ------
 components/camel-jpa/src/main/docs/jpa-component.adoc      |  8 --------
 components/camel-jsch/src/main/docs/scp-component.adoc     |  6 ------
 components/camel-jt400/src/main/docs/jt400-component.adoc  |  6 ------
 .../camel-kestrel/src/main/docs/kestrel-component.adoc     |  6 ------
 components/camel-ldap/src/main/docs/ldap-component.adoc    |  6 ------
 .../camel-master/src/main/docs/master-component.adoc       |  6 ------
 .../camel-metrics/src/main/docs/metrics-component.adoc     |  4 ----
 .../camel-milo/src/main/docs/milo-client-component.adoc    |  6 ------
 .../camel-milo/src/main/docs/milo-server-component.adoc    |  6 ------
 components/camel-mina/src/main/docs/mina-component.adoc    |  9 ---------
 components/camel-mina2/src/main/docs/mina2-component.adoc  |  7 -------
 components/camel-mqtt/src/main/docs/mqtt-component.adoc    |  6 ------
 components/camel-msv/src/main/docs/msv-component.adoc      |  6 ------
 .../camel-mustache/src/main/docs/mustache-component.adoc   |  6 ------
 components/camel-mvel/src/main/docs/mvel-component.adoc    |  6 ------
 .../src/main/docs/netty-http-component.adoc                | 10 ----------
 .../src/main/docs/netty4-http-component.adoc               | 10 ----------
 .../camel-netty4/src/main/docs/netty4-component.adoc       |  4 ----
 .../camel-openshift/src/main/docs/openshift-component.adoc |  6 ------
 .../src/main/docs/openstack-cinder-component.adoc          |  8 --------
 .../src/main/docs/openstack-glance-component.adoc          |  8 --------
 .../src/main/docs/openstack-keystone-component.adoc        |  8 --------
 .../src/main/docs/openstack-neutron-component.adoc         |  8 --------
 .../src/main/docs/openstack-nova-component.adoc            |  8 --------
 .../src/main/docs/openstack-swift-component.adoc           |  8 --------
 .../src/main/docs/optaplanner-component.adoc               |  6 ------
 components/camel-pdf/src/main/docs/pdf-component.adoc      | 10 ----------
 .../camel-pgevent/src/main/docs/pgevent-component.adoc     |  6 ------
 .../camel-protobuf/src/main/docs/protobuf-dataformat.adoc  |  2 --
 .../camel-pubnub/src/main/docs/pubnub-component.adoc       |  8 --------
 .../camel-quickfix/src/main/docs/quickfix-component.adoc   |  6 ------
 .../src/main/docs/reactive-streams-component.adoc          |  6 ------
 components/camel-ribbon/src/main/docs/ribbon.adoc          |  3 ---
 components/camel-rmi/src/main/docs/rmi-component.adoc      |  6 ------
 components/camel-rss/src/main/docs/rss-component.adoc      |  8 --------
 .../src/main/docs/sap-netweaver-component.adoc             |  8 --------
 .../camel-service/src/main/docs/service-component.adoc     |  6 ------
 .../camel-servlet/src/main/docs/servlet-component.adoc     | 12 ------------
 components/camel-slack/src/main/docs/slack-component.adoc  |  6 ------
 components/camel-smpp/src/main/docs/smpp-component.adoc    |  6 ------
 components/camel-snmp/src/main/docs/snmp-component.adoc    |  6 ------
 components/camel-solr/src/main/docs/solr-component.adoc    |  6 ------
 components/camel-spark/src/main/docs/spark-component.adoc  |  6 ------
 .../camel-splunk/src/main/docs/splunk-component.adoc       |  6 ------
 .../src/main/docs/spring-integration-component.adoc        |  6 ------
 .../src/main/docs/spring-redis-component.adoc              |  6 ------
 .../src/main/docs/spring-security.adoc                     |  9 ---------
 .../camel-spring-ws/src/main/docs/spring-ws-component.adoc |  6 ------
 .../camel-sql/src/main/docs/sql-stored-component.adoc      |  3 ---
 components/camel-ssh/src/main/docs/ssh-component.adoc      |  6 ------
 components/camel-stax/src/main/docs/stax-component.adoc    |  6 ------
 components/camel-stomp/src/main/docs/stomp-component.adoc  |  6 ------
 .../src/main/docs/string-template-component.adoc           |  6 ------
 .../camel-syslog/src/main/docs/syslog-dataformat.adoc      |  6 ------
 .../camel-thrift/src/main/docs/thrift-component.adoc       |  6 ------
 .../camel-twitter/src/main/docs/twitter-component.adoc     |  8 --------
 components/camel-twitter/src/main/docs/twitter.adoc        |  8 --------
 .../camel-velocity/src/main/docs/velocity-component.adoc   |  6 ------
 components/camel-vertx/src/main/docs/vertx-component.adoc  |  6 ------
 components/camel-xmpp/src/main/docs/xmpp-component.adoc    |  6 ------
 .../src/main/docs/zookeeper-master-component.adoc          |  6 ------
 .../camel-zookeeper/src/main/docs/zookeeper-component.adoc |  6 ------
 114 files changed, 785 deletions(-)

diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 6a9eb14..2406402 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -195,15 +195,3 @@ And the equivalent Spring sample:
   </route>
 </camelContext>
 ------------------------------------------------------------
-
- 
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* link:../../../../camel-ahc/src/main/docs/readme.html[AHC]
-* <<atmosphere-websocket-component,Atmosphere-Websocket>>
\ No newline at end of file
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index 1c5d3d7..4fc2380 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -335,10 +335,3 @@ from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
     .to("mock:result");
 --------------------------------------------------------------------------
 
-### See Also
-
-* http://camel.apache.org/component.html[Component]
-* http://camel.apache.org/endpoint.html[Endpoint]
-*
-http://blog.xebia.fr/2010/09/30/creer-un-composant-apache-camel-de-connexion-a-lapns-1-sur-3/[Blog
-about using APNS (in french)]
\ No newline at end of file
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index 23583c8..8d83a51 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -179,9 +179,3 @@ exhange
 DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH;
 -------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index 5518f61..027b809 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -220,14 +220,3 @@ And the equivalent Spring sample:
 
  
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<servlet-component,SERVLET>>
-* <<ahc-ws-component,AHC-WS>>
-*
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
\ No newline at end of file
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index 8612e06..c439c6a 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -171,11 +171,3 @@ In this sample we want to filter only good blogs we like to a SEDA
 queue. The sample also shows how to setup Camel standalone, not running
 in any Container or using Spring.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<rss-component,RSS>>
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-cw-component.adoc b/components/camel-aws/src/main/docs/aws-cw-component.adoc
index adc37d4..aed5e9a 100644
--- a/components/camel-aws/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-cw-component.adoc
@@ -209,11 +209,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.10 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index 7ad537e..220cd92 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -380,11 +380,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.10 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
index bda7283..996b31c 100644
--- a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
@@ -235,12 +235,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.7 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component +
- +
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ec2-component.adoc b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
index 6c1cf36..248066b 100644
--- a/components/camel-aws/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
@@ -175,11 +175,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.16 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc
index 46820bd..1500930 100644
--- a/components/camel-aws/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc
@@ -175,11 +175,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.16 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
index 5f8358e..cfa2675 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
@@ -264,11 +264,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.17 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
index 7ccf832..6a2a32d 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -200,11 +200,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.19 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kms-component.adoc b/components/camel-aws/src/main/docs/aws-kms-component.adoc
index e4f7620..8f4a908 100644
--- a/components/camel-aws/src/main/docs/aws-kms-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kms-component.adoc
@@ -173,11 +173,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.16 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
index ca77f07..c40b859 100644
--- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
@@ -230,11 +230,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.16 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-mq-component.adoc b/components/camel-aws/src/main/docs/aws-mq-component.adoc
index fee8136..17910b8 100644
--- a/components/camel-aws/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-mq-component.adoc
@@ -174,11 +174,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.16 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-s3-component.adoc b/components/camel-aws/src/main/docs/aws-s3-component.adoc
index 66abe42..b2a651a 100644
--- a/components/camel-aws/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-s3-component.adoc
@@ -412,11 +412,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.8 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sdb-component.adoc b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
index ef1c7c4..1078ade 100644
--- a/components/camel-aws/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
@@ -247,11 +247,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.8.4 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ses-component.adoc b/components/camel-aws/src/main/docs/aws-ses-component.adoc
index 89815c0..391b37d 100644
--- a/components/camel-aws/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ses-component.adoc
@@ -210,11 +210,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.8.4 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sns-component.adoc b/components/camel-aws/src/main/docs/aws-sns-component.adoc
index ac27b05..90a3515 100644
--- a/components/camel-aws/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sns-component.adoc
@@ -205,11 +205,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.8 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sqs-component.adoc b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
index b01368b..5e24892 100644
--- a/components/camel-aws/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
@@ -341,11 +341,3 @@ will not make it through the filter AND also not be deleted from the SQS
 queue. After 5000 miliseconds, the message will become visible to other
 consumers.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-swf-component.adoc b/components/camel-aws/src/main/docs/aws-swf-component.adoc
index 71a6323..ee2df71 100644
--- a/components/camel-aws/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-swf-component.adoc
@@ -300,11 +300,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.13 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-AWS Component
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index 4fbc642..df70645 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -256,11 +256,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.19.0 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Azure Component
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index 7ab81e5..a6e3691 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -209,11 +209,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.19.0 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Azure Component
\ No newline at end of file
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index fce27e2..d6ca806 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -306,9 +306,3 @@ Note that the body should include an instance of a class to validate.
 
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 5ff4ac7..89523c9 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -882,17 +882,3 @@ body in the *inBody* endpoint parameter.
 </blueprint>
 --------------------------------------------------------------------------------------------------------------------------------------------
 
-### See Also
-
-*
-https://cwiki.apache.org/confluence/display/CAMEL/Configuring+Camel[Configuring
-Camel]
-* https://cwiki.apache.org/confluence/display/CAMEL/Component[Component]
-* https://cwiki.apache.org/confluence/display/CAMEL/Endpoint[Endpoint]
-*
-https://cwiki.apache.org/confluence/display/CAMEL/Getting+Started[Getting
-Started]
-
- 
-
-https://cwiki.apache.org/confluence/display/CAMEL/AMQP[ ]
\ No newline at end of file
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index 05cc4c4..e8bcc27 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -214,9 +214,3 @@ Regards Camel Riders Bookstore
 {$body}
 ----------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index 7901638..e330718 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -167,9 +167,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.11 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index 37a04b4..a6f3b66 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -335,8 +335,3 @@ need to add the following dependency to your pom.
 </dependency>
 ----------------------------------------------------------
 
-### See Also
-
-* Data Format
-* Crypto (Digital Signatures)
-* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index 53cb965..6518497 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -316,8 +316,3 @@ need to add the following dependency to your pom.
 </dependency>
 ----------------------------------------------------------
 
-### See Also
-
-* Data Format
-* Crypto (Digital Signatures)
-* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
\ No newline at end of file
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index 21c8100..2c18682 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -926,9 +926,3 @@ the key SOAPAction (case-insensitive).
 
  
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index 3c92b7b..35905ca 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -104,9 +104,3 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index 6570157..79c6b3a 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -216,12 +216,3 @@ Before we are ready to use <<ejb-component,EJB>> in the Camel routes:
 </camelContext>
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-* <<bean-component,Bean>>
-* Bean Binding
-* Bean Integration
\ No newline at end of file
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index f6ff3e0..5702926 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -202,9 +202,3 @@ http://elasticsearch.org[ElasticSearch Main Site]
 http://www.elasticsearch.org/guide/reference/java-api/[ElasticSearch
 Java API]
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
index 1de0bb6..41f1407 100644
--- a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
+++ b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
@@ -202,9 +202,3 @@ http://www.elastic.co[Elastic Main Site]
 
 https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.html[ElasticSearch Java API]
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index a3df655..652640c 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -263,9 +263,3 @@ such a command - `echo` - in Windows.
 from("direct:exec").to("exec:cmd?args=/C echo echoString")
 ----------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index 610a85b..436a124 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -342,9 +342,3 @@ the download page for the latest versions).
 </dependency>
 -----------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index e09935e..468e590 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -186,9 +186,3 @@ try {
     }
 -----------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index a53fead..7443642 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -193,9 +193,3 @@ from("file:source/data/xml")
 
 For more information, see these resources...
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index c02c6f5..4da0eb2 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -267,9 +267,3 @@ ${body}
 
 And the java code:
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index 57722b2..68310a6 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -778,11 +778,3 @@ String data = template.retrieveBodyNoWait("ftp://admin@localhost:21/nolist/?pass
 This component has log level *TRACE* that can be helpful if you have
 problems.
 
-=== See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* File2
\ No newline at end of file
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index 778e995..e601e29 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -299,10 +299,3 @@ http://www.grpc.io/[gRPC project site]
 
 https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
 
-### See Also
-
-* Getting Started
-* Configuring Camel
-* Component
-* Endpoint
-* <<protobuf-dataformat,Protocol Buffers Data Format>>
\ No newline at end of file
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index 888f3b0..2805af3 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -250,11 +250,3 @@ database to processed, so we avoid consuming it twice or more.
 
 And the statements in the sqlmap file:
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<mybatis-component,MyBatis>>
\ No newline at end of file
diff --git a/components/camel-ical/src/main/docs/ical-dataformat.adoc b/components/camel-ical/src/main/docs/ical-dataformat.adoc
index e71f5a6..b284243 100644
--- a/components/camel-ical/src/main/docs/ical-dataformat.adoc
+++ b/components/camel-ical/src/main/docs/ical-dataformat.adoc
@@ -99,9 +99,3 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-ignite/src/main/docs/ignite.adoc b/components/camel-ignite/src/main/docs/ignite.adoc
index ca027ec..0bbc5dd 100644
--- a/components/camel-ignite/src/main/docs/ignite.adoc
+++ b/components/camel-ignite/src/main/docs/ignite.adoc
@@ -104,9 +104,3 @@ When installing on Apache Karaf:
 
 Please refer to the OSGi section in the Ignite documentation for more information.
 
-=== See Also
-
-* http://camel.apache.org/configuring-camel.html[Configuring Camel]
-* http://camel.apache.org/component.html[Component]
-* http://camel.apache.org/endpoint.html[Endpoint]
-* http://camel.apache.org/getting-started.html[Getting Started]
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index 8d0e934..f69a309 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -270,9 +270,3 @@ XML file as well:
 
 ### Using the Infinispan based route policy
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index 546ddb6..d39bb9b 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -144,9 +144,3 @@ from("direct:start")
 
 For more information, see these resources...
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
\ No newline at end of file
diff --git a/components/camel-javaspace/src/main/docs/javaspace-component.adoc b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
index 64c2ca3..bab46db 100644
--- a/components/camel-javaspace/src/main/docs/javaspace-component.adoc
+++ b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
@@ -172,9 +172,3 @@ realize the master/worker pattern. The idea is to use the POJO to
 provide the business logic and rely on Camel for sending/receiving
 requests/replies with the proper correlation.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-jbpm/src/main/docs/jbpm-component.adoc b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
index b5532be..e61d611 100644
--- a/components/camel-jbpm/src/main/docs/jbpm-component.adoc
+++ b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
@@ -302,11 +302,3 @@ from("direct:start")
         &deploymentId=evaluation");
 ----------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
- 
diff --git a/components/camel-jcr/src/main/docs/jcr-component.adoc b/components/camel-jcr/src/main/docs/jcr-component.adoc
index 95b87bc..ab7b55b 100644
--- a/components/camel-jcr/src/main/docs/jcr-component.adoc
+++ b/components/camel-jcr/src/main/docs/jcr-component.adoc
@@ -157,9 +157,3 @@ all the children.
 </route>
 ---------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index f6f629c..85e24bb 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -118,9 +118,3 @@ based on whether or not the XML matches the given
 http://relaxng.org/compact-tutorial-20030326.html[RelaxNG Compact
 Syntax] schema (which is supplied on the classpath).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-jmx/src/main/docs/jmx-component.adoc b/components/camel-jmx/src/main/docs/jmx-component.adoc
index d11c052..adacc1d 100644
--- a/components/camel-jmx/src/main/docs/jmx-component.adoc
+++ b/components/camel-jmx/src/main/docs/jmx-component.adoc
@@ -1089,8 +1089,3 @@ declared that the `EndpointUri` JMX attribute is masked:
 String getEndpointUri();
 ----
 
-=== See Also
-
-* Management Example
-* link:why-is-my-processor-not-showing-up-in-jconsole.html[Why is my
-processor not showing up in JConsole]
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index 95b5c70..78e88a5 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -155,9 +155,3 @@ from("direct:in").
 
  
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index c9c3eb9..ff773f0 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -475,11 +475,3 @@ argument to the JVM:
 
 
 
-### See Also
-
-* link:http://camel.apache.org/configuring-camel.html[Configuring Camel]
-* link:http://camel.apache.org/component.html[Component]
-* link:http://camel.apache.org/endpoint.html[Endpoint]
-* link:http://camel.apache.org/getting-started.html[Getting Started]
-
-* link:http://camel.apache.org/tracer-example.html[Tracer Example]
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index 763e141..b3d305c 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -153,9 +153,3 @@ Currently camel-jsch only supports a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html[Producer]
 (i.e. copy files to another host). 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index bc961f9..fda11d7 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -226,9 +226,3 @@ from("jt400://username:password@system/lib.lib/MSGOUTDQ.DTAQ?keyed=true&searchKe
 .to("jms:queue:output");
 -------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-kestrel/src/main/docs/kestrel-component.adoc b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
index 850dbc3..84d2b0d 100644
--- a/components/camel-kestrel/src/main/docs/kestrel-component.adoc
+++ b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
@@ -305,9 +305,3 @@ you may need to set `enableAssertions` to `false`. Please refer to the
 http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html[surefire:test
 reference] for details.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
index 432ac96..26ffb99 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -369,9 +369,3 @@ public class CustomSocketFactory extends SSLSocketFactory {
 
  
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-master/src/main/docs/master-component.adoc b/components/camel-master/src/main/docs/master-component.adoc
index cb61845..f3bdc13 100644
--- a/components/camel-master/src/main/docs/master-component.adoc
+++ b/components/camel-master/src/main/docs/master-component.adoc
@@ -190,9 +190,3 @@ Camel provide the following ClusterService implementations:
 - camel-kubernetes
 - camel-zookeeper
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc
index cfdb382..f75914b 100644
--- a/components/camel-metrics/src/main/docs/metrics-component.adoc
+++ b/components/camel-metrics/src/main/docs/metrics-component.adoc
@@ -660,7 +660,3 @@ which collects information from inside of Camel.
 See more details at Advanced configuration of CamelContext using Spring
 
 
-### See Also
-
-* The `camel-example-cdi-metrics` example that illustrates the integration
-  between Camel, Metrics and CDI.
diff --git a/components/camel-milo/src/main/docs/milo-client-component.adoc b/components/camel-milo/src/main/docs/milo-client-component.adoc
index 4cdf9c3..2a9e759 100644
--- a/components/camel-milo/src/main/docs/milo-client-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-client-component.adoc
@@ -253,9 +253,3 @@ The known security policy URIs and enum literals are can be seen here: https://g
 
 **Note:** In any case security policies are considered case sensitive.
 
-=== See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-milo/src/main/docs/milo-server-component.adoc b/components/camel-milo/src/main/docs/milo-server-component.adoc
index 8bfc224..f59d4ca 100644
--- a/components/camel-milo/src/main/docs/milo-server-component.adoc
+++ b/components/camel-milo/src/main/docs/milo-server-component.adoc
@@ -160,9 +160,3 @@ The component supports 21 options, which are listed below.
 
 
 
-=== See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-mina/src/main/docs/mina-component.adoc b/components/camel-mina/src/main/docs/mina-component.adoc
index 3dc0590..63c0cf1 100644
--- a/components/camel-mina/src/main/docs/mina-component.adoc
+++ b/components/camel-mina/src/main/docs/mina-component.adoc
@@ -333,12 +333,3 @@ Then, you can configure your endpoint using Spring DSL:
 </bean>
 ----------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<mina2-component,MINA2>>
-* <<netty-component,Netty>>
\ No newline at end of file
diff --git a/components/camel-mina2/src/main/docs/mina2-component.adoc b/components/camel-mina2/src/main/docs/mina2-component.adoc
index 012f93e..041716f 100644
--- a/components/camel-mina2/src/main/docs/mina2-component.adoc
+++ b/components/camel-mina2/src/main/docs/mina2-component.adoc
@@ -322,10 +322,3 @@ can also implement some customized filters. Please note that `codec` and
 filters you may define are appended to the end of the filter chain; that
 is, after `codec` and `logger`.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-* <<netty-component,Netty>>
diff --git a/components/camel-mqtt/src/main/docs/mqtt-component.adoc b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
index a1a7017..6f4f3a3 100644
--- a/components/camel-mqtt/src/main/docs/mqtt-component.adoc
+++ b/components/camel-mqtt/src/main/docs/mqtt-component.adoc
@@ -198,9 +198,3 @@ implements the Polling Consumer pattern for
 consuming message exchanges from the endpoint via a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
 
-### See Also
-
-* Configuring Camel
-* Message Endpoint pattern
-* URIs
-* Writing Components
diff --git a/components/camel-msv/src/main/docs/msv-component.adoc b/components/camel-msv/src/main/docs/msv-component.adoc
index 6e1ad1d..e687cf9 100644
--- a/components/camel-msv/src/main/docs/msv-component.adoc
+++ b/components/camel-msv/src/main/docs/msv-component.adoc
@@ -152,9 +152,3 @@ based on whether or not the XML matches the given
 http://relaxng.org/[RelaxNG XML Schema] (which is supplied on the
 classpath).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-mustache/src/main/docs/mustache-component.adoc b/components/camel-mustache/src/main/docs/mustache-component.adoc
index e024d6a..0a4b6ce 100644
--- a/components/camel-mustache/src/main/docs/mustache-component.adoc
+++ b/components/camel-mustache/src/main/docs/mustache-component.adoc
@@ -210,9 +210,3 @@ Regards Camel Riders Bookstore
 {{body}}
 -------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-mvel/src/main/docs/mvel-component.adoc b/components/camel-mvel/src/main/docs/mvel-component.adoc
index 3cddabd..0fdce22 100644
--- a/components/camel-mvel/src/main/docs/mvel-component.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-component.adoc
@@ -205,9 +205,3 @@ from("direct:in").
   to("velocity:dummy");
 ------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-netty-http/src/main/docs/netty-http-component.adoc b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
index e5e5ec3..85171fd 100644
--- a/components/camel-netty-http/src/main/docs/netty-http-component.adoc
+++ b/components/camel-netty-http/src/main/docs/netty-http-component.adoc
@@ -574,13 +574,3 @@ below:
 </route>
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<netty-component,Netty>>
-* Netty HTTP Server Example
-* <<jetty-component,Jetty>>
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index a6d6a15..f138f38 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -581,13 +581,3 @@ below:
 </route>
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<netty-component,Netty>>
-* Netty HTTP Server Example
-* <<jetty-component,Jetty>>
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index ed47bd6..387e97c 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -794,7 +794,3 @@ This provides support for timeout and other complexities you otherwise would nee
 You can find an example with the Apache Camel source code in the examples directory
 under the `camel-example-netty-custom-correlation` directory.
 
-=== See Also
-
-* <<netty-http-component,Netty HTTP>>
-* <<mina2-component,MINA>>
diff --git a/components/camel-openshift/src/main/docs/openshift-component.adoc b/components/camel-openshift/src/main/docs/openshift-component.adoc
index ed7dead..57b6a6d 100644
--- a/components/camel-openshift/src/main/docs/openshift-component.adoc
+++ b/components/camel-openshift/src/main/docs/openshift-component.adoc
@@ -199,9 +199,3 @@ following headers is included.
 |CamelOpenShiftEventNewState |No |The new state, for any of the event types
 |=======================================================================
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
index 1e65b52..5808257 100644
--- a/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
@@ -197,11 +197,3 @@ If you need more precise volume settings you can create new object of the type *
 
 If you need more precise server settings you can create new object of the type *org.openstack4j.model.storage.block.VolumeSnapshot* and send in the message body.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* openstack Component
diff --git a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
index 439525f..87b7f21 100644
--- a/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-glance-component.adoc
@@ -157,11 +157,3 @@ The component supports 2 options, which are listed below.
 |`properties` | `Map` | Image properties.
 |=========================================================================
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* openstack Component
diff --git a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
index 8058f0f..9310d38 100644
--- a/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
@@ -303,11 +303,3 @@ If you need more precise region settings you can create new object of the type *
 
 If you need more precise user settings you can create new object of the type *org.openstack4j.model.identity.v3.User* and send in the message body.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* openstack Component
diff --git a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
index 3a44a25..7a80db1 100644
--- a/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
@@ -276,11 +276,3 @@ If you need more precise subnet settings you can create new object of the type *
 |=========================================================================
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* openstack Component
diff --git a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
index 27f6255..8c3c3c3 100644
--- a/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-nova-component.adoc
@@ -226,11 +226,3 @@ If you need more precise server settings you can create new object of the type *
 
 |=========================================================================
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* openstack Component
diff --git a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
index 689317a..6c883a1 100644
--- a/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
+++ b/components/camel-openstack/src/main/docs/openstack-swift-component.adoc
@@ -203,11 +203,3 @@ or *org.openstack4j.model.storage.object.options.ContainerListOptions* for listi
 
 |=========================================================================
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* openstack Component
diff --git a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
index 704870f..f6ec7db 100644
--- a/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
+++ b/components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
@@ -174,9 +174,3 @@ from("cxfrs:bean:rsServer?bindingStyle=SimpleConsumer")
   .to("optaplanner:/org/foo/barSolverConfig.xml");
 -------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-pdf/src/main/docs/pdf-component.adoc b/components/camel-pdf/src/main/docs/pdf-component.adoc
index 6eb01d1..e9f5667 100644
--- a/components/camel-pdf/src/main/docs/pdf-component.adoc
+++ b/components/camel-pdf/src/main/docs/pdf-component.adoc
@@ -126,13 +126,3 @@ ishttps://pdfbox.apache.org/docs/1.8.10/javadocs/org/apache/pdfbox/pdmodel/encry
 *Mandatory* header if PDF document is encrypted.
 |=======================================================================
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
--
- 
--
diff --git a/components/camel-pgevent/src/main/docs/pgevent-component.adoc b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
index 7e86042..ec8cc01 100644
--- a/components/camel-pgevent/src/main/docs/pgevent-component.adoc
+++ b/components/camel-pgevent/src/main/docs/pgevent-component.adoc
@@ -111,9 +111,3 @@ The component supports 2 options, which are listed below.
 
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
index 2a5666a..0e54a56 100644
--- a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -243,5 +243,3 @@ To use Protobuf in your camel routes you need to add the a dependency on
   <!-- use the same version as your Camel core version -->
 </dependency>
 -----------------------------------------
-### See Also
-* <<grpc-component,Camel gRPC component>>
diff --git a/components/camel-pubnub/src/main/docs/pubnub-component.adoc b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
index 2e48617..f8b288b 100644
--- a/components/camel-pubnub/src/main/docs/pubnub-component.adoc
+++ b/components/camel-pubnub/src/main/docs/pubnub-component.adoc
@@ -226,11 +226,3 @@ The example PubNubSensorExample already contains a subscribe key provided by Pub
 The example illustrates the PubNub component subscribing to a infinite stream of sensor data.
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<rss-component,RSS>>
diff --git a/components/camel-quickfix/src/main/docs/quickfix-component.adoc b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
index 75f2f6e..e9ecd5b 100644
--- a/components/camel-quickfix/src/main/docs/quickfix-component.adoc
+++ b/components/camel-quickfix/src/main/docs/quickfix-component.adoc
@@ -626,9 +626,3 @@ Direction : from FIX gateway
 </route>
 ----
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
index 0e87776..e97c92a 100644
--- a/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
+++ b/components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
@@ -444,9 +444,3 @@ To use the starter, add the following to your spring boot pom.xml file:
 ------------------------------------------------------
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-ribbon/src/main/docs/ribbon.adoc b/components/camel-ribbon/src/main/docs/ribbon.adoc
index b4dc6c9..da2bc79 100644
--- a/components/camel-ribbon/src/main/docs/ribbon.adoc
+++ b/components/camel-ribbon/src/main/docs/ribbon.adoc
@@ -74,6 +74,3 @@ from("direct:start")
 </route>
 ----
 
-### See Also
-
-* link:http://camel.apache.org/servicecall-eip.html[ServiceCall EIP]
diff --git a/components/camel-rmi/src/main/docs/rmi-component.adoc b/components/camel-rmi/src/main/docs/rmi-component.adoc
index 9ca42ab..8035c6c 100644
--- a/components/camel-rmi/src/main/docs/rmi-component.adoc
+++ b/components/camel-rmi/src/main/docs/rmi-component.adoc
@@ -155,9 +155,3 @@ In XML DSL you can do as follows from *Camel 2.7* onwards:
     </camel:route>
 ------------------------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-rss/src/main/docs/rss-component.adoc b/components/camel-rss/src/main/docs/rss-component.adoc
index a20a278..0602685 100644
--- a/components/camel-rss/src/main/docs/rss-component.adoc
+++ b/components/camel-rss/src/main/docs/rss-component.adoc
@@ -201,11 +201,3 @@ public static class FilterBean {
 return firstEntry.getTitle().contains("Camel");
 ----
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<atom-component,Atom>>
diff --git a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
index 84d534c..221654a 100644
--- a/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
+++ b/components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
@@ -213,11 +213,3 @@ Destination city: SAN FRANCISCO
 Destination airport: SFO
 -------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<http-component,HTTP>>
diff --git a/components/camel-service/src/main/docs/service-component.adoc b/components/camel-service/src/main/docs/service-component.adoc
index b49f78a..60c9ad8 100644
--- a/components/camel-service/src/main/docs/service-component.adoc
+++ b/components/camel-service/src/main/docs/service-component.adoc
@@ -103,9 +103,3 @@ Camel provide the following ServiceRegistry implementations:
 - camel-zookeeper
 - camel-spring-cloud
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-servlet/src/main/docs/servlet-component.adoc b/components/camel-servlet/src/main/docs/servlet-component.adoc
index afe83c1..7c4be16 100644
--- a/components/camel-servlet/src/main/docs/servlet-component.adoc
+++ b/components/camel-servlet/src/main/docs/servlet-component.adoc
@@ -499,15 +499,3 @@ The automatic mapping of the Camel servlet can also be disabled.
 | camel.component.servlet.mapping.servlet-name | CamelServlet | The name of the Camel servlet
 |=======================================================================
 
-=== See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Servlet Tomcat Example
-* link:servlet-tomcat-no-spring-example.html[Servlet Tomcat No Spring
-Example]
-* <<http-component,HTTP>>
-* <<jetty-component,Jetty>>
diff --git a/components/camel-slack/src/main/docs/slack-component.adoc b/components/camel-slack/src/main/docs/slack-component.adoc
index a0971a6..098f38f 100644
--- a/components/camel-slack/src/main/docs/slack-component.adoc
+++ b/components/camel-slack/src/main/docs/slack-component.adoc
@@ -193,9 +193,3 @@ from("slack://general?token=RAW(<YOUR_TOKEN>)&maxResults=1")
 
 In this way you'll get the last message from general channel. The consumer will take track of the timestamp of the last message consumed and in the next poll it will check from that timestamp.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-smpp/src/main/docs/smpp-component.adoc b/components/camel-smpp/src/main/docs/smpp-component.adoc
index 01954ce..c7dc658 100644
--- a/components/camel-smpp/src/main/docs/smpp-component.adoc
+++ b/components/camel-smpp/src/main/docs/smpp-component.adoc
@@ -687,9 +687,3 @@ configuration:
 log4j.logger.org.apache.camel.component.smpp=DEBUG
 --------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-snmp/src/main/docs/snmp-component.adoc b/components/camel-snmp/src/main/docs/snmp-component.adoc
index c35a6ae..c11377c 100644
--- a/components/camel-snmp/src/main/docs/snmp-component.adoc
+++ b/components/camel-snmp/src/main/docs/snmp-component.adoc
@@ -224,9 +224,3 @@ convertBodyTo(String.class).
 to("activemq:snmp.states");
 ------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-solr/src/main/docs/solr-component.adoc b/components/camel-solr/src/main/docs/solr-component.adoc
index 1a698ed..e0e9645 100644
--- a/components/camel-solr/src/main/docs/solr-component.adoc
+++ b/components/camel-solr/src/main/docs/solr-component.adoc
@@ -241,9 +241,3 @@ Tutorial]
 
 http://wiki.apache.org/solr/SolrQuerySyntax[Solr Query Syntax]
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-spark/src/main/docs/spark-component.adoc b/components/camel-spark/src/main/docs/spark-component.adoc
index 9e12425..d4d1a1f 100644
--- a/components/camel-spark/src/main/docs/spark-component.adoc
+++ b/components/camel-spark/src/main/docs/spark-component.adoc
@@ -428,9 +428,3 @@ Dataset<Row> cars(HiveContext hiveContext) {
 }
 ------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-splunk/src/main/docs/splunk-component.adoc b/components/camel-splunk/src/main/docs/splunk-component.adoc
index 68c3520..f0e5548 100644
--- a/components/camel-splunk/src/main/docs/splunk-component.adoc
+++ b/components/camel-splunk/src/main/docs/splunk-component.adoc
@@ -270,9 +270,3 @@ data with prebuilt apps for analyzing and displaying this.  +
  For example the jmx app. could be used to publish jmx attributes, eg.
 route and jvm metrics to Splunk, and displaying this on a dashboard.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc b/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
index ee308ee..d9dc608 100644
--- a/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
+++ b/components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
@@ -137,9 +137,3 @@ This example uses the following namespaces:
 
 You can bind your source or target to a Camel endpoint as follows:
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc b/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
index f2f6539..5718a60c 100644
--- a/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
+++ b/components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
@@ -411,9 +411,3 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.11 or higher).
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-spring-security/src/main/docs/spring-security.adoc b/components/camel-spring-security/src/main/docs/spring-security.adoc
index a9ffd86..6d7f99f 100644
--- a/components/camel-spring-security/src/main/docs/spring-security.adoc
+++ b/components/camel-spring-security/src/main/docs/spring-security.adoc
@@ -199,12 +199,3 @@ This dependency will also pull in
 `org.springframework.security:spring-security-config:3.0.3.RELEASE`.
 
 [[SpringSecurity-SeeAlso]]
-=== See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Components
-
diff --git a/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc b/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
index 9bd8e99..de91729 100644
--- a/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
+++ b/components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
@@ -627,9 +627,3 @@ from("spring-ws:rootqname:{http://example.com/}GetFoo?endpointMapping=#endpointM
 .to("mock:example").marshal(jaxb);
 --------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-sql/src/main/docs/sql-stored-component.adoc b/components/camel-sql/src/main/docs/sql-stored-component.adoc
index 7c682e2..9f30fc9 100644
--- a/components/camel-sql/src/main/docs/sql-stored-component.adoc
+++ b/components/camel-sql/src/main/docs/sql-stored-component.adoc
@@ -279,6 +279,3 @@ To use this feature, add the following dependencies to your spring boot pom.xml
 
 You should also include the specific database driver, if needed.
 
-=== See Also
-
-* link:sql-component.adoc[SQL Component]
diff --git a/components/camel-ssh/src/main/docs/ssh-component.adoc b/components/camel-ssh/src/main/docs/ssh-component.adoc
index 33609e8..4299eb0 100644
--- a/components/camel-ssh/src/main/docs/ssh-component.adoc
+++ b/components/camel-ssh/src/main/docs/ssh-component.adoc
@@ -278,9 +278,3 @@ of Camel you are using.
 See the `examples/camel-example-ssh` and
 `examples/camel-example-ssh-security` in the Camel distribution.
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-stax/src/main/docs/stax-component.adoc b/components/camel-stax/src/main/docs/stax-component.adoc
index 943fcdb..5f58cb1 100644
--- a/components/camel-stax/src/main/docs/stax-component.adoc
+++ b/components/camel-stax/src/main/docs/stax-component.adoc
@@ -241,9 +241,3 @@ from("file:target/in")
 
 The example above could be implemented as follows in XML DSL
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-stomp/src/main/docs/stomp-component.adoc b/components/camel-stomp/src/main/docs/stomp-component.adoc
index 508fea6..47bb24c 100644
--- a/components/camel-stomp/src/main/docs/stomp-component.adoc
+++ b/components/camel-stomp/src/main/docs/stomp-component.adoc
@@ -185,9 +185,3 @@ implements the Polling Consumer pattern for
 consuming message exchanges from the endpoint via a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html[PollingConsumer]
 
-### See Also
-
-* Configuring Camel
-* Message Endpoint pattern
-* URIs
-* Writing Components
diff --git a/components/camel-stringtemplate/src/main/docs/string-template-component.adoc b/components/camel-stringtemplate/src/main/docs/string-template-component.adoc
index a73a9c1..9f47aa2 100644
--- a/components/camel-stringtemplate/src/main/docs/string-template-component.adoc
+++ b/components/camel-stringtemplate/src/main/docs/string-template-component.adoc
@@ -164,9 +164,3 @@ Regards Camel Riders Bookstore
 
 And the java code is as follows:
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
index 530a908..e4595e2 100644
--- a/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
+++ b/components/camel-syslog/src/main/docs/syslog-dataformat.adoc
@@ -160,9 +160,3 @@ The same route using <<mina2-component,camel-mina>>
 </camelContext>
 -------------------------------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-thrift/src/main/docs/thrift-component.adoc b/components/camel-thrift/src/main/docs/thrift-component.adoc
index 853d414..4168a69 100644
--- a/components/camel-thrift/src/main/docs/thrift-component.adoc
+++ b/components/camel-thrift/src/main/docs/thrift-component.adoc
@@ -190,9 +190,3 @@ It's possible to automate Java code generation for .thrift files using *thrift-m
 https://github.com/apache/thrift/[Thrift project GitHub]
 https://thrift.apache.org/tutorial/java [Apache Thrift Java tutorial]
 
-### See Also
-
-* Getting Started
-* Configuring Camel
-* Component
-* Endpoint
diff --git a/components/camel-twitter/src/main/docs/twitter-component.adoc b/components/camel-twitter/src/main/docs/twitter-component.adoc
index edd62df..6090d54 100644
--- a/components/camel-twitter/src/main/docs/twitter-component.adoc
+++ b/components/camel-twitter/src/main/docs/twitter-component.adoc
@@ -338,11 +338,3 @@ from("direct:foo")
 See also the link:twitter-websocket-example.html[Twitter Websocket
 Example].
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Twitter Websocket Example
diff --git a/components/camel-twitter/src/main/docs/twitter.adoc b/components/camel-twitter/src/main/docs/twitter.adoc
index 2677a29..73bac06 100644
--- a/components/camel-twitter/src/main/docs/twitter.adoc
+++ b/components/camel-twitter/src/main/docs/twitter.adoc
@@ -144,11 +144,3 @@ from("direct:foo")
 See also the link:twitter-websocket-example.html[Twitter Websocket
 Example].
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* Twitter Websocket Example
diff --git a/components/camel-velocity/src/main/docs/velocity-component.adoc b/components/camel-velocity/src/main/docs/velocity-component.adoc
index 781195c..45ba32a 100644
--- a/components/camel-velocity/src/main/docs/velocity-component.adoc
+++ b/components/camel-velocity/src/main/docs/velocity-component.adoc
@@ -297,9 +297,3 @@ ${body}
 
 And the java code:
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-vertx/src/main/docs/vertx-component.adoc b/components/camel-vertx/src/main/docs/vertx-component.adoc
index a503029..a77b818 100644
--- a/components/camel-vertx/src/main/docs/vertx-component.adoc
+++ b/components/camel-vertx/src/main/docs/vertx-component.adoc
@@ -146,9 +146,3 @@ vertxComponent.setVertx(vertx);
 camelContext.addComponent("vertx", vertxComponent);
 -----------------------------------------------------
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-xmpp/src/main/docs/xmpp-component.adoc b/components/camel-xmpp/src/main/docs/xmpp-component.adoc
index 0b0ea9f..840c474 100644
--- a/components/camel-xmpp/src/main/docs/xmpp-component.adoc
+++ b/components/camel-xmpp/src/main/docs/xmpp-component.adoc
@@ -192,9 +192,3 @@ from("direct:start").
 
  
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc b/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
index 88b9138..b98ba32 100644
--- a/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
+++ b/components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
@@ -180,9 +180,3 @@ A little example
         .to("file:target/outbox");
 ----
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc b/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
index db67eec..45234db 100644
--- a/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
+++ b/components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
@@ -365,9 +365,3 @@ There are currently 3 policies defined in the component, with different SLAs:
  thus you can be sure that no even is processed before the Policy takes its decision.
 
 
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started


[camel] 03/16: CAMEL-13246: Add Maven GAV to spring-boot auto configuration doc

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 58c7b77e0739d2078cb81fad128022df307efef4
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Feb 22 08:05:32 2019 +0100

    CAMEL-13246: Add Maven GAV to spring-boot auto configuration doc
    
    (cherry picked from commit f43292644985311373c33b53d17317333394b218)
    
    # Conflicts:
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
---
 ...pdateSpringBootAutoConfigurationReadmeMojo.java | 19 ++++---
 .../maven/packaging/model/SpringBootModel.java     | 60 ++++++++++++++++++++++
 .../spring-boot-auto-configure-options.mvel        | 20 ++++++--
 3 files changed, 89 insertions(+), 10 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
index 490d5f8..a0828d7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
@@ -28,6 +28,7 @@ import java.util.Locale;
 import java.util.stream.Collectors;
 
 import org.apache.camel.maven.packaging.model.SpringBootAutoConfigureOptionModel;
+import org.apache.camel.maven.packaging.model.SpringBootModel;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
@@ -178,8 +179,8 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
                             throw new MojoExecutionException("Failed build due failOnMissingDescription=true");
                         }
 
-                        String options = templateAutoConfigurationOptions(models);
-                        boolean updated = updateAutoConfigureOptions(docFile, options);
+                        String changed = templateAutoConfigurationOptions(models, componentName);
+                        boolean updated = updateAutoConfigureOptions(docFile, changed);
                         if (updated) {
                             getLog().info("Updated doc file: " + docFile);
                         } else {
@@ -207,8 +208,8 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
                                 throw new MojoExecutionException("Failed build due failOnMissingDescription=true");
                             }
 
-                            String options = templateAutoConfigurationOptions(models);
-                            boolean updated = updateAutoConfigureOptions(docFile, options);
+                            String changed = templateAutoConfigurationOptions(models, componentName);
+                            boolean updated = updateAutoConfigureOptions(docFile, changed);
                             if (updated) {
                                 getLog().info("Updated doc file: " + docFile);
                             } else {
@@ -363,10 +364,16 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
         }
     }
 
-    private String templateAutoConfigurationOptions(List<SpringBootAutoConfigureOptionModel> options) throws MojoExecutionException {
+    private String templateAutoConfigurationOptions(List<SpringBootAutoConfigureOptionModel> options, String componentName) throws MojoExecutionException {
+        SpringBootModel model = new SpringBootModel();
+        model.setGroupId(project.getGroupId());
+        model.setArtifactId("camel-" + componentName + "-starter");
+        model.setVersion(project.getVersion());
+        model.setOptions(options);
+
         try {
             String template = loadText(UpdateSpringBootAutoConfigurationReadmeMojo.class.getClassLoader().getResourceAsStream("spring-boot-auto-configure-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, options);
+            String out = (String) TemplateRuntime.eval(template, model);
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootModel.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootModel.java
new file mode 100644
index 0000000..0f6af2e
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/model/SpringBootModel.java
@@ -0,0 +1,60 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.maven.packaging.model;
+
+import java.util.List;
+
+public class SpringBootModel {
+
+    private String groupId;
+    private String artifactId;
+    private String version;
+
+    private List<SpringBootAutoConfigureOptionModel> options;
+
+    public String getGroupId() {
+        return groupId;
+    }
+
+    public void setGroupId(String groupId) {
+        this.groupId = groupId;
+    }
+
+    public String getArtifactId() {
+        return artifactId;
+    }
+
+    public void setArtifactId(String artifactId) {
+        this.artifactId = artifactId;
+    }
+
+    public String getVersion() {
+        return version;
+    }
+
+    public void setVersion(String version) {
+        this.version = version;
+    }
+
+    public List<SpringBootAutoConfigureOptionModel> getOptions() {
+        return options;
+    }
+
+    public void setOptions(List<SpringBootAutoConfigureOptionModel> options) {
+        this.options = options;
+    }
+}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
index 47f07e2..3b41a93 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
@@ -1,15 +1,27 @@
 === Spring Boot Auto-Configuration
 
-@if{this.isEmpty()}
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>@{groupId}</groupId>
+  <artifactId>@{artifactId}</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
+
+@if{options.isEmpty()}
 The component has no Spring Boot auto configuration options.
 @else{}
-The component supports @{this.size()} options, which are listed below.
+The component supports @{options.size()} options, which are listed below.
 @end{}
 
-@if{!this.isEmpty()}
+@if{!options.isEmpty()}
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : this}| *@{row.name}* | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : options}| *@{row.name}* | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
\ No newline at end of file


[camel] 09/16: CAMEL-13932: backport changes from master

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 80d2d2a55d2806f887a48dbf0a2ef49029b8f79d
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Fri Aug 23 17:22:16 2019 +0200

    CAMEL-13932: backport changes from master
    
    This backports the documentation build system needed for Antora to
    publish component reference only.
---
 docs/.gitignore                                    |    1 +
 docs/component-nav.adoc.template                   |    4 +
 .../modules/ROOT/assets/images/apache-ignite.png   |  Bin 0 -> 919833 bytes
 .../modules/ROOT/assets/images/camel-jmx.png       |  Bin 0 -> 125681 bytes
 .../ROOT/assets/images}/camel_spark_cluster.png    |  Bin
 .../ROOT/assets/images}/camel_spark_driver.png     |  Bin
 .../assets/images/jconsole_trace_notifications.png |  Bin 0 -> 148944 bytes
 .../modules/ROOT/assets/images}/qr-code.png        |  Bin
 .../quickfixj/QuickfixjSpringTest-context.xml      |  129 ++
 docs/components/modules/ROOT/nav.adoc              |   59 +-
 .../modules/ROOT/pages/ahc-component.adoc          |  453 +++-
 .../modules/ROOT/pages/ahc-ws-component.adoc       |  188 +-
 .../modules/ROOT/pages/amqp-component.adoc         |  467 +++-
 .../modules/ROOT/pages/apns-component.adoc         |  324 ++-
 .../modules/ROOT/pages/as2-component.adoc          |  273 +++
 .../modules/ROOT/pages/asn1-dataformat.adoc        |   94 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |   94 +-
 .../modules/ROOT/pages/atmos-component.adoc        |  168 +-
 .../ROOT/pages/atmosphere-websocket-component.adoc |  209 +-
 .../modules/ROOT/pages/atom-component.adoc         |  160 +-
 .../modules/ROOT/pages/atomix-map-component.adoc   |  216 +-
 .../ROOT/pages/atomix-messaging-component.adoc     |  112 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |  110 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |  106 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |  108 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |  108 +-
 .../modules/ROOT/pages/avro-component.adoc         |  336 ++-
 .../modules/ROOT/pages/avro-dataformat.adoc        |  173 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       |  207 +-
 .../modules/ROOT/pages/aws-ddb-component.adoc      |  378 ++-
 .../ROOT/pages/aws-ddbstream-component.adoc        |  234 +-
 .../modules/ROOT/pages/aws-ec2-component.adoc      |  173 +-
 .../modules/ROOT/pages/aws-iam-component.adoc      |  173 +-
 .../modules/ROOT/pages/aws-kinesis-component.adoc  |  262 ++-
 .../ROOT/pages/aws-kinesis-firehose-component.adoc |  198 +-
 .../modules/ROOT/pages/aws-kms-component.adoc      |  171 +-
 .../modules/ROOT/pages/aws-lambda-component.adoc   |  228 +-
 .../modules/ROOT/pages/aws-mq-component.adoc       |  172 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |  410 +++-
 .../modules/ROOT/pages/aws-sdb-component.adoc      |  245 +-
 .../modules/ROOT/pages/aws-ses-component.adoc      |  208 +-
 .../modules/ROOT/pages/aws-sns-component.adoc      |  203 +-
 .../modules/ROOT/pages/aws-sqs-component.adoc      |  339 ++-
 .../modules/ROOT/pages/aws-swf-component.adoc      |  298 ++-
 docs/components/modules/ROOT/pages/aws-xray.adoc   |  116 +-
 docs/components/modules/ROOT/pages/aws.adoc        |    6 +-
 .../modules/ROOT/pages/azure-blob-component.adoc   |  232 +-
 .../modules/ROOT/pages/azure-queue-component.adoc  |  171 +-
 docs/components/modules/ROOT/pages/azure.adoc      |   15 +-
 .../components/modules/ROOT/pages/bam-example.adoc |   90 +-
 docs/components/modules/ROOT/pages/bam.adoc        |   85 +-
 .../modules/ROOT/pages/barcode-dataformat.adoc     |  152 +-
 .../modules/ROOT/pages/base64-dataformat.adoc      |  133 +-
 .../ROOT/pages/bean-validator-component.adoc       |  292 ++-
 .../modules/ROOT/pages/beanio-dataformat.adoc      |  107 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |  244 +-
 .../modules/ROOT/pages/bindy-dataformat.adoc       | 1868 ++++++++++++++-
 docs/components/modules/ROOT/pages/blueprint.adoc  |   46 +-
 .../modules/ROOT/pages/bonita-component.adoc       |  108 +-
 .../modules/ROOT/pages/boon-dataformat.adoc        |   93 +-
 .../modules/ROOT/pages/box-component.adoc          |  802 +++++++
 .../modules/ROOT/pages/braintree-component.adoc    |  871 ++++++-
 .../modules/ROOT/pages/cache-component.adoc        |  481 +++-
 .../ROOT/pages/caffeine-cache-component.adoc       |  159 +-
 .../ROOT/pages/caffeine-loadcache-component.adoc   |  126 +-
 .../modules/ROOT/pages/castor-dataformat.adoc      |  169 +-
 docs/components/modules/ROOT/pages/cdi.adoc        |  850 ++++++-
 .../ROOT/pages/chronicle-engine-component.adoc     |   83 +-
 .../modules/ROOT/pages/chunk-component.adoc        |  203 +-
 .../modules/ROOT/pages/cm-sms-component.adoc       |    1 -
 .../modules/ROOT/pages/cmis-component.adoc         |  156 +-
 .../modules/ROOT/pages/coap-component.adoc         |  131 +-
 .../modules/ROOT/pages/cometd-component.adoc       |  228 +-
 .../modules/ROOT/pages/consul-component.adoc       |  225 +-
 .../modules/ROOT/pages/context-component.adoc      |  196 +-
 .../modules/ROOT/pages/corda-component.adoc        |  140 +-
 .../modules/ROOT/pages/couchbase-component.adoc    |  135 +-
 .../modules/ROOT/pages/couchdb-component.adoc      |  170 +-
 .../modules/ROOT/pages/cql-component.adoc          |  282 ++-
 .../modules/ROOT/pages/crypto-cms-component.adoc   |  413 +++-
 .../modules/ROOT/pages/crypto-component.adoc       |  281 ++-
 .../modules/ROOT/pages/crypto-dataformat.adoc      |  324 ++-
 .../modules/ROOT/pages/csv-dataformat.adoc         |  404 +++-
 .../modules/ROOT/pages/cxf-component.adoc          |  881 ++++++-
 .../modules/ROOT/pages/cxf-transport.adoc          |  256 +-
 .../modules/ROOT/pages/cxfrs-component.adoc        |  492 +++-
 .../modules/ROOT/pages/digitalocean-component.adoc |  472 +++-
 .../modules/ROOT/pages/disruptor-component.adoc    |  354 ++-
 .../modules/ROOT/pages/dns-component.adoc          |  193 +-
 .../modules/ROOT/pages/docker-component.adoc       |  170 +-
 .../modules/ROOT/pages/dozer-component.adoc        |  296 ++-
 .../modules/ROOT/pages/drill-component.adoc        |   92 +-
 .../modules/ROOT/pages/dropbox-component.adoc      |  428 +++-
 docs/components/modules/ROOT/pages/eclipse.adoc    |   59 +-
 .../modules/ROOT/pages/ehcache-component.adoc      |  270 ++-
 .../modules/ROOT/pages/ejb-component.adoc          |  227 +-
 .../components/modules/ROOT/pages/el-language.adoc |  124 +-
 .../ROOT/pages/elasticsearch-component.adoc        |  198 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |  336 ++-
 .../ROOT/pages/elasticsearch5-component.adoc       |  198 +-
 .../modules/ROOT/pages/elsql-component.adoc        |  289 ++-
 .../modules/ROOT/pages/etcd-component.adoc         |  122 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   |  102 +-
 .../modules/ROOT/pages/exec-component.adoc         |  251 +-
 .../modules/ROOT/pages/facebook-component.adoc     |  356 ++-
 .../modules/ROOT/pages/fhir-component.adoc         |  152 ++
 .../modules/ROOT/pages/fhirJson-dataformat.adoc    |   63 +
 .../modules/ROOT/pages/fhirXml-dataformat.adoc     |   63 +
 .../modules/ROOT/pages/flatpack-component.adoc     |  331 ++-
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |  122 +-
 .../modules/ROOT/pages/flink-component.adoc        |  175 +-
 .../modules/ROOT/pages/fop-component.adoc          |  182 +-
 .../modules/ROOT/pages/freemarker-component.adoc   |  256 +-
 .../modules/ROOT/pages/ftp-component.adoc          |  756 +++++-
 .../modules/ROOT/pages/ftps-component.adoc         |  209 +-
 .../modules/ROOT/pages/ganglia-component.adoc      |  188 +-
 .../modules/ROOT/pages/geocoder-component.adoc     |  189 +-
 .../modules/ROOT/pages/git-component.adoc          |  148 +-
 .../modules/ROOT/pages/github-component.adoc       |  146 +-
 .../ROOT/pages/google-bigquery-component.adoc      |  181 +-
 .../ROOT/pages/google-bigquery-sql-component.adoc  |  150 +-
 .../ROOT/pages/google-calendar-component.adoc      |  193 +-
 .../pages/google-calendar-stream-component.adoc    |  164 +-
 .../modules/ROOT/pages/google-drive-component.adoc |  198 +-
 .../modules/ROOT/pages/google-mail-component.adoc  |  186 +-
 .../ROOT/pages/google-mail-stream-component.adoc   |  158 +-
 .../ROOT/pages/google-pubsub-component.adoc        |  178 +-
 .../ROOT/pages/google-sheets-component.adoc        |  182 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |  168 +-
 .../modules/ROOT/pages/gora-component.adoc         |  281 ++-
 .../modules/ROOT/pages/grape-component.adoc        |  244 +-
 docs/components/modules/ROOT/pages/groovy-dsl.adoc |  402 +++-
 .../modules/ROOT/pages/groovy-language.adoc        |  211 +-
 .../modules/ROOT/pages/grpc-component.adoc         |  291 ++-
 .../ROOT/pages/guava-eventbus-component.adoc       |  240 +-
 docs/components/modules/ROOT/pages/guice.adoc      |  161 +-
 docs/components/modules/ROOT/pages/hawtdb.adoc     |  150 +-
 .../pages/hazelcast-atomicvalue-component.adoc     |  236 +-
 .../ROOT/pages/hazelcast-instance-component.adoc   |  151 +-
 .../ROOT/pages/hazelcast-list-component.adoc       |  160 +-
 .../ROOT/pages/hazelcast-map-component.adoc        |  361 ++-
 .../ROOT/pages/hazelcast-multimap-component.adoc   |  264 ++-
 .../ROOT/pages/hazelcast-queue-component.adoc      |  246 +-
 .../pages/hazelcast-replicatedmap-component.adoc   |  237 +-
 .../ROOT/pages/hazelcast-ringbuffer-component.adoc |  141 +-
 .../ROOT/pages/hazelcast-seda-component.adoc       |  135 +-
 .../ROOT/pages/hazelcast-set-component.adoc        |   86 +-
 .../ROOT/pages/hazelcast-topic-component.adoc      |  121 +-
 docs/components/modules/ROOT/pages/hazelcast.adoc  |  166 +-
 .../modules/ROOT/pages/hbase-component.adoc        |  518 ++++-
 .../modules/ROOT/pages/hdfs-component.adoc         |  309 ++-
 .../modules/ROOT/pages/hdfs2-component.adoc        |  308 ++-
 docs/components/modules/ROOT/pages/headersmap.adoc |   36 +-
 .../modules/ROOT/pages/hessian-dataformat.adoc     |   75 +-
 .../modules/ROOT/pages/hipchat-component.adoc      |  238 +-
 .../modules/ROOT/pages/hl7-dataformat.adoc         |  425 +++-
 .../modules/ROOT/pages/http-component.adoc         |  680 +++++-
 .../modules/ROOT/pages/http4-component.adoc        |  725 +++++-
 docs/components/modules/ROOT/pages/hystrix.adoc    |   38 +-
 .../modules/ROOT/pages/ibatis-component.adoc       |  260 ++-
 .../modules/ROOT/pages/ical-dataformat.adoc        |   88 +-
 .../ROOT/pages/iec60870-client-component.adoc      |  138 +-
 .../ROOT/pages/iec60870-server-component.adoc      |  125 +-
 .../modules/ROOT/pages/ignite-cache-component.adoc |  122 +-
 .../ROOT/pages/ignite-compute-component.adoc       |  123 +-
 .../ROOT/pages/ignite-events-component.adoc        |   81 +-
 .../modules/ROOT/pages/ignite-idgen-component.adoc |   78 +-
 .../ROOT/pages/ignite-messaging-component.adoc     |   97 +-
 .../modules/ROOT/pages/ignite-queue-component.adoc |  101 +-
 .../modules/ROOT/pages/ignite-set-component.adoc   |   90 +-
 docs/components/modules/ROOT/pages/ignite.adoc     |  107 +-
 docs/components/modules/ROOT/pages/index.adoc      |  386 +++
 .../modules/ROOT/pages/infinispan-component.adoc   |  844 ++++++-
 .../modules/ROOT/pages/influxdb-component.adoc     |  120 +-
 .../modules/ROOT/pages/iota-component.adoc         |  161 +-
 .../modules/ROOT/pages/ipfs-component.adoc         |   97 +-
 .../modules/ROOT/pages/irc-component.adoc          |  234 +-
 .../modules/ROOT/pages/ironmq-component.adoc       |  176 +-
 .../modules/ROOT/pages/jacksonxml-dataformat.adoc  |  391 +++-
 docs/components/modules/ROOT/pages/jasypt.adoc     |  289 ++-
 .../modules/ROOT/pages/javaScript-language.adoc    |  207 +-
 .../modules/ROOT/pages/javaspace-component.adoc    |  168 +-
 .../modules/ROOT/pages/jaxb-dataformat.adoc        |  352 ++-
 .../modules/ROOT/pages/jbpm-component.adoc         |  291 ++-
 .../modules/ROOT/pages/jcache-component.adoc       |  343 ++-
 .../modules/ROOT/pages/jclouds-component.adoc      |  383 ++-
 .../modules/ROOT/pages/jcr-component.adoc          |  137 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |  257 +-
 .../modules/ROOT/pages/jetty-component.adoc        |  786 ++++++-
 .../modules/ROOT/pages/jgroups-component.adoc      |  284 ++-
 .../modules/ROOT/pages/jgroups-raft-component.adoc |  198 +-
 .../modules/ROOT/pages/jibx-dataformat.adoc        |  112 +-
 .../modules/ROOT/pages/jing-component.adoc         |  107 +-
 .../modules/ROOT/pages/jira-component.adoc         |  251 +-
 .../modules/ROOT/pages/jms-component.adoc          | 1528 +++++++++++-
 .../modules/ROOT/pages/jmx-component.adoc          |  102 +-
 .../modules/ROOT/pages/jolt-component.adoc         |  144 +-
 .../modules/ROOT/pages/jpa-component.adoc          |  453 +++-
 .../ROOT/pages/json-fastjson-dataformat.adoc       |  101 +-
 .../modules/ROOT/pages/json-gson-dataformat.adoc   |  102 +-
 .../ROOT/pages/json-jackson-dataformat.adoc        |  110 +-
 .../ROOT/pages/json-johnzon-dataformat.adoc        |  102 +-
 .../ROOT/pages/json-validator-component.adoc       |  148 +-
 .../ROOT/pages/json-xstream-dataformat.adoc        |   84 +-
 .../modules/ROOT/pages/jsonpath-language.adoc      |  359 ++-
 .../modules/ROOT/pages/jt400-component.adoc        |  214 +-
 .../modules/ROOT/pages/jxpath-language.adoc        |  173 +-
 .../modules/ROOT/pages/kafka-component.adoc        |  588 ++++-
 .../modules/ROOT/pages/kestrel-component.adoc      |  301 ++-
 .../modules/ROOT/pages/krati-component.adoc        |  236 +-
 .../modules/ROOT/pages/kubernetes-component.adoc   |  290 ++-
 .../pages/kubernetes-config-maps-component.adoc    |   81 +-
 .../pages/kubernetes-deployments-component.adoc    |   90 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |   91 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |   90 +-
 .../pages/kubernetes-namespaces-component.adoc     |   91 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |   91 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   82 +-
 .../kubernetes-persistent-volumes-component.adoc   |   82 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |   90 +-
 ...bernetes-replication-controllers-component.adoc |   91 +-
 .../kubernetes-resources-quota-component.adoc      |   82 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |   82 +-
 .../kubernetes-service-accounts-component.adoc     |   80 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |   91 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc |  150 +-
 docs/components/modules/ROOT/pages/kura.adoc       |  299 ++-
 .../modules/ROOT/pages/ldap-component.adoc         |  358 ++-
 .../modules/ROOT/pages/ldif-component.adoc         |  190 +-
 docs/components/modules/ROOT/pages/leveldb.adoc    |  152 +-
 .../modules/ROOT/pages/linkedin-component.adoc     |  717 ++++++
 .../modules/ROOT/pages/lpr-component.adoc          |  164 +-
 docs/components/modules/ROOT/pages/lra.adoc        |   38 +-
 .../modules/ROOT/pages/lucene-component.adoc       |  259 ++-
 .../modules/ROOT/pages/lumberjack-component.adoc   |  134 +-
 .../modules/ROOT/pages/lzf-dataformat.adoc         |   86 +-
 .../modules/ROOT/pages/mail-component.adoc         |  721 +++++-
 .../modules/ROOT/pages/master-component.adoc       |  179 +-
 .../modules/ROOT/pages/metrics-component.adoc      |  648 +++++-
 .../modules/ROOT/pages/micrometer-component.adoc   |  585 ++++-
 .../modules/ROOT/pages/milo-client-component.adoc  |  242 +-
 .../modules/ROOT/pages/milo-server-component.adoc  |  143 +-
 .../ROOT/pages/mime-multipart-dataformat.adoc      |  197 +-
 .../modules/ROOT/pages/mina-component.adoc         |  317 ++-
 .../modules/ROOT/pages/mina2-component.adoc        |  319 ++-
 .../modules/ROOT/pages/mllp-component.adoc         |  267 ++-
 .../modules/ROOT/pages/mongodb-component.adoc      |  983 +++++++-
 .../ROOT/pages/mongodb-gridfs-component.adoc       |  228 +-
 .../modules/ROOT/pages/mongodb3-component.adoc     |  962 +++++++-
 .../modules/ROOT/pages/mqtt-component.adoc         |  187 +-
 .../modules/ROOT/pages/msv-component.adoc          |  141 +-
 .../modules/ROOT/pages/mustache-component.adoc     |  199 +-
 .../modules/ROOT/pages/mvel-component.adoc         |  194 +-
 .../modules/ROOT/pages/mvel-language.adoc          |  139 +-
 .../modules/ROOT/pages/mybatis-bean-component.adoc |  169 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |  426 +++-
 .../modules/ROOT/pages/nagios-component.adoc       |  171 +-
 .../modules/ROOT/pages/nats-component.adoc         |  159 +-
 .../modules/ROOT/pages/netty-component.adoc        |  766 +++++-
 .../modules/ROOT/pages/netty-http-component.adoc   |  609 ++++-
 .../modules/ROOT/pages/netty4-component.adoc       |  788 ++++++-
 .../modules/ROOT/pages/netty4-http-component.adoc  |  581 ++++-
 .../modules/ROOT/pages/nsq-component.adoc          |  109 +-
 .../modules/ROOT/pages/ognl-language.adoc          |  144 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |  321 +++
 .../modules/ROOT/pages/olingo4-component.adoc      |  299 +++
 .../pages/openshift-build-configs-component.adoc   |   66 +-
 .../ROOT/pages/openshift-builds-component.adoc     |   66 +-
 .../modules/ROOT/pages/openshift-component.adoc    |  195 +-
 .../ROOT/pages/openstack-cinder-component.adoc     |  186 +-
 .../ROOT/pages/openstack-glance-component.adoc     |  146 +-
 .../ROOT/pages/openstack-keystone-component.adoc   |  292 ++-
 .../ROOT/pages/openstack-neutron-component.adoc    |  264 ++-
 .../ROOT/pages/openstack-nova-component.adoc       |  215 +-
 .../ROOT/pages/openstack-swift-component.adoc      |  192 +-
 docs/components/modules/ROOT/pages/openstack.adoc  |   33 +-
 .../components/modules/ROOT/pages/opentracing.adoc |  115 +-
 .../modules/ROOT/pages/optaplanner-component.adoc  |  163 +-
 .../modules/ROOT/pages/paho-component.adoc         |  212 +-
 .../modules/ROOT/pages/paxlogging-component.adoc   |  108 +-
 .../modules/ROOT/pages/pdf-component.adoc          |  115 +-
 .../modules/ROOT/pages/pgevent-component.adoc      |   98 +-
 .../modules/ROOT/pages/pgp-dataformat.adoc         |  309 ++-
 .../modules/ROOT/pages/php-language.adoc           |  152 +-
 .../modules/ROOT/pages/protobuf-dataformat.adoc    |  233 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |  214 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |  112 +-
 .../modules/ROOT/pages/python-language.adoc        |  185 +-
 .../modules/ROOT/pages/quartz-component.adoc       |  452 +++-
 .../modules/ROOT/pages/quartz2-component.adoc      |  349 ++-
 .../modules/ROOT/pages/quickfix-component.adoc     |  606 ++++-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |  428 +++-
 .../ROOT/pages/reactive-streams-component.adoc     |  432 +++-
 .../modules/ROOT/pages/reactor-component.adoc      |   17 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |  229 +-
 .../modules/ROOT/pages/restlet-component.adoc      |  421 +++-
 docs/components/modules/ROOT/pages/ribbon.adoc     |   77 +-
 .../modules/ROOT/pages/rmi-component.adoc          |  151 +-
 .../modules/ROOT/pages/routebox-component.adoc     |  297 ++-
 .../modules/ROOT/pages/rss-component.adoc          |  190 +-
 .../modules/ROOT/pages/rss-dataformat.adoc         |   55 +-
 .../modules/ROOT/pages/ruby-language.adoc          |  185 +-
 docs/components/modules/ROOT/pages/ruby.adoc       |  178 +-
 docs/components/modules/ROOT/pages/rx.adoc         |  194 +-
 docs/components/modules/ROOT/pages/rxjava2.adoc    |   21 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |  839 +++++++
 .../ROOT/pages/sap-netweaver-component.adoc        |  202 +-
 docs/components/modules/ROOT/pages/scala-eip.adoc  |  224 +-
 .../modules/ROOT/pages/scala-getting-started.adoc  |   59 +-
 .../ROOT/pages/scala-supported-languages.adoc      |   28 +-
 docs/components/modules/ROOT/pages/scala.adoc      |   78 +-
 .../modules/ROOT/pages/schematron-component.adoc   |  202 +-
 .../modules/ROOT/pages/scp-component.adoc          |  142 +-
 docs/components/modules/ROOT/pages/scr.adoc        |  655 +++++-
 docs/components/modules/ROOT/pages/script.adoc     |  102 +-
 .../modules/ROOT/pages/secureXML-dataformat.adoc   |  254 +-
 .../modules/ROOT/pages/service-component.adoc      |   92 +-
 .../modules/ROOT/pages/servicenow-component.adoc   |  381 +++
 .../modules/ROOT/pages/servlet-component.adoc      |  480 +++-
 .../modules/ROOT/pages/servletlistener.adoc        |  355 ++-
 .../modules/ROOT/pages/sftp-component.adoc         |  180 +-
 docs/components/modules/ROOT/pages/shiro.adoc      |  301 ++-
 .../modules/ROOT/pages/sip-component.adoc          |  235 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |  215 +-
 .../modules/ROOT/pages/sjms-component.adoc         |  581 ++++-
 .../modules/ROOT/pages/sjms2-component.adoc        |  603 ++++-
 .../modules/ROOT/pages/slack-component.adoc        |  182 +-
 .../modules/ROOT/pages/smpp-component.adoc         |  662 +++++-
 .../modules/ROOT/pages/snmp-component.adoc         |  213 +-
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    |  256 +-
 .../modules/ROOT/pages/solr-component.adoc         |  228 +-
 .../modules/ROOT/pages/spark-component.adoc        |  417 +++-
 .../modules/ROOT/pages/spark-rest-component.adoc   |  186 +-
 .../modules/ROOT/pages/spel-language.adoc          |  155 +-
 .../modules/ROOT/pages/splunk-component.adoc       |  259 ++-
 .../modules/ROOT/pages/spring-batch-component.adoc |  296 ++-
 .../components/modules/ROOT/pages/spring-boot.adoc |  629 ++++-
 .../modules/ROOT/pages/spring-cloud-consul.adoc    |    4 +-
 .../modules/ROOT/pages/spring-cloud-netflix.adoc   |   47 +-
 .../modules/ROOT/pages/spring-cloud-zookeeper.adoc |    4 +-
 .../modules/ROOT/pages/spring-cloud.adoc           |   39 +-
 .../modules/ROOT/pages/spring-event-component.adoc |   83 +-
 .../ROOT/pages/spring-integration-component.adoc   |  126 +-
 .../modules/ROOT/pages/spring-javaconfig.adoc      |   88 +-
 .../modules/ROOT/pages/spring-ldap-component.adoc  |  152 +-
 .../modules/ROOT/pages/spring-redis-component.adoc |  399 +++-
 .../modules/ROOT/pages/spring-security.adoc        |  201 +-
 .../modules/ROOT/pages/spring-ws-component.adoc    |  618 ++++-
 docs/components/modules/ROOT/pages/spring.adoc     |  357 ++-
 .../modules/ROOT/pages/sql-component.adoc          |  811 ++++++-
 .../modules/ROOT/pages/sql-language.adoc           |  102 +-
 .../modules/ROOT/pages/sql-stored-component.adoc   |  268 ++-
 .../modules/ROOT/pages/ssh-component.adoc          |  266 ++-
 .../modules/ROOT/pages/stax-component.adoc         |  229 +-
 .../modules/ROOT/pages/stomp-component.adoc        |  174 +-
 .../modules/ROOT/pages/stream-component.adoc       |  175 +-
 .../ROOT/pages/string-template-component.adoc      |  152 +-
 .../modules/ROOT/pages/swagger-java.adoc           |  195 +-
 docs/components/modules/ROOT/pages/swagger.adoc    |  248 +-
 .../modules/ROOT/pages/syslog-dataformat.adoc      |  148 +-
 .../modules/ROOT/pages/tarfile-dataformat.adoc     |  184 +-
 .../modules/ROOT/pages/telegram-component.adoc     |  426 +++-
 .../modules/ROOT/pages/terser-language.adoc        |   45 +-
 .../modules/ROOT/pages/test-blueprint.adoc         |  176 +-
 docs/components/modules/ROOT/pages/test-cdi.adoc   |  727 +++++-
 docs/components/modules/ROOT/pages/test-karaf.adoc |   11 +-
 .../components/modules/ROOT/pages/test-spring.adoc |  460 +++-
 docs/components/modules/ROOT/pages/test.adoc       |   48 +-
 .../modules/ROOT/pages/testcontainers-spring.adoc  |   10 +-
 .../modules/ROOT/pages/testcontainers.adoc         |  117 +-
 docs/components/modules/ROOT/pages/testng.adoc     |    8 +-
 .../modules/ROOT/pages/thrift-component.adoc       |  179 +-
 .../modules/ROOT/pages/thrift-dataformat.adoc      |  178 +-
 .../modules/ROOT/pages/tidyMarkup-dataformat.adoc  |  102 +-
 .../modules/ROOT/pages/tika-component.adoc         |  107 +-
 .../modules/ROOT/pages/twilio-component.adoc       |  222 +-
 .../modules/ROOT/pages/twitter-component.adoc      |  328 ++-
 .../pages/twitter-directmessage-component.adoc     |  125 +-
 .../ROOT/pages/twitter-search-component.adoc       |  134 +-
 .../ROOT/pages/twitter-streaming-component.adoc    |  127 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |  126 +-
 docs/components/modules/ROOT/pages/twitter.adoc    |  147 +-
 .../modules/ROOT/pages/undertow-component.adoc     |  214 +-
 .../ROOT/pages/univocity-csv-dataformat.adoc       |  203 +-
 .../ROOT/pages/univocity-fixed-dataformat.adoc     |  201 +-
 .../ROOT/pages/univocity-tsv-dataformat.adoc       |  197 +-
 docs/components/modules/ROOT/pages/urlrewrite.adoc |  189 +-
 .../modules/ROOT/pages/velocity-component.adoc     |  282 ++-
 .../modules/ROOT/pages/vertx-component.adoc        |  134 +-
 .../modules/ROOT/pages/weather-component.adoc      |  216 +-
 .../modules/ROOT/pages/web3j-component.adoc        |  202 +-
 .../modules/ROOT/pages/websocket-component.adoc    |  266 ++-
 .../ROOT/pages/websocket-jsr356-component.adoc     |   85 +-
 .../modules/ROOT/pages/wordpress-component.adoc    |  140 +-
 .../modules/ROOT/pages/xchange-component.adoc      |  117 +-
 .../modules/ROOT/pages/xmlBeans-dataformat.adoc    |   67 +-
 .../modules/ROOT/pages/xmljson-dataformat.adoc     |    1 -
 .../modules/ROOT/pages/xmlrpc-component.adoc       |  210 +-
 .../modules/ROOT/pages/xmlrpc-dataformat.adoc      |   73 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |  784 ++++++-
 .../modules/ROOT/pages/xmpp-component.adoc         |  180 +-
 .../modules/ROOT/pages/xquery-component.adoc       |  311 ++-
 .../modules/ROOT/pages/xquery-language.adoc        |  236 +-
 .../modules/ROOT/pages/xstream-dataformat.adoc     |  186 +-
 .../ROOT/pages/yaml-snakeyaml-dataformat.adoc      |  175 +-
 .../modules/ROOT/pages/yammer-component.adoc       |  381 ++-
 .../modules/ROOT/pages/yql-component.adoc          |    1 -
 .../modules/ROOT/pages/zendesk-component.adoc      |  136 +-
 .../modules/ROOT/pages/zipfile-dataformat.adoc     |  183 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |  283 ++-
 .../modules/ROOT/pages/zookeeper-component.adoc    |  292 ++-
 .../ROOT/pages/zookeeper-master-component.adoc     |  168 +-
 docs/generated.txt                                 |    2 +
 docs/gulpfile.js                                   |  136 +-
 docs/img/logo-d.svg                                |   46 +
 docs/nav.adoc.template                             |    2 -
 docs/package.json                                  |    7 +-
 docs/pom.xml                                       |  144 +-
 docs/site.yml                                      |   12 +
 docs/theme/apache-theme.yml                        |  284 ---
 docs/theme/fonts/DroidSerif-Bold.ttf               |  Bin 185228 -> 0 bytes
 docs/theme/fonts/DroidSerif-BoldItalic.ttf         |  Bin 190304 -> 0 bytes
 docs/theme/fonts/DroidSerif-Italic.ttf             |  Bin 177560 -> 0 bytes
 docs/theme/fonts/DroidSerif-Regular.ttf            |  Bin 172916 -> 0 bytes
 docs/theme/fonts/DroidSerif_Apache License.txt     |  201 --
 docs/theme/fonts/OpenSans-Bold.ttf                 |  Bin 224452 -> 0 bytes
 docs/theme/fonts/OpenSans-BoldItalic.ttf           |  Bin 213168 -> 0 bytes
 docs/theme/fonts/OpenSans-ExtraBold.ttf            |  Bin 222424 -> 0 bytes
 docs/theme/fonts/OpenSans-ExtraBoldItalic.ttf      |  Bin 213336 -> 0 bytes
 docs/theme/fonts/OpenSans-Italic.ttf               |  Bin 212760 -> 0 bytes
 docs/theme/fonts/OpenSans-Light.ttf                |  Bin 222236 -> 0 bytes
 docs/theme/fonts/OpenSans-LightItalic.ttf          |  Bin 213024 -> 0 bytes
 docs/theme/fonts/OpenSans-Regular.ttf              |  Bin 217276 -> 0 bytes
 docs/theme/fonts/OpenSans-SemiBold.ttf             |  Bin 221164 -> 0 bytes
 docs/theme/fonts/OpenSans-SemiBoldItalic.ttf       |  Bin 212732 -> 0 bytes
 docs/theme/fonts/OpenSans_LICENSE.txt              |  202 --
 docs/theme/images/asf_logo.png                     |  Bin 21243 -> 0 bytes
 docs/theme/images/asf_logo_url.png                 |  Bin 21121 -> 0 bytes
 docs/user-manual/antora.yml                        |    5 -
 docs/user-manual/en/README.md                      |    7 -
 docs/user-manual/en/apache.css                     | 2448 --------------------
 docs/user-manual/en/book.json                      |   15 -
 .../en/books/3151EN_Mastering_Apache_Camel.jpg     |  Bin 129296 -> 0 bytes
 docs/user-manual/en/books/3477OS.jpg               |  Bin 26159 -> 0 bytes
 docs/user-manual/en/books/3477OSmall.jpg           |  Bin 44674 -> 0 bytes
 docs/user-manual/en/books/5347OSmall.jpg           |  Bin 42924 -> 0 bytes
 .../en/books/B03507_MockupCover_Normal.jpg         |  Bin 177120 -> 0 bytes
 docs/user-manual/en/books/CamelCookbookCover.png   |  Bin 340571 -> 0 bytes
 docs/user-manual/en/books/CiA-front-medium.png     |  Bin 149095 -> 0 bytes
 .../user-manual/en/books/camel-design-patterns.jpg |  Bin 46890 -> 0 bytes
 docs/user-manual/en/books/cia2-cover-small.jpg     |  Bin 46646 -> 0 bytes
 docs/user-manual/en/books/cia_small.jpg            |  Bin 22213 -> 0 bytes
 docs/user-manual/en/books/eip_book_cover.jpg       |  Bin 16091 -> 0 bytes
 docs/user-manual/en/books/large.jpg                |  Bin 58398 -> 0 bytes
 docs/user-manual/en/books/rademakers.jpg           |  Bin 87220 -> 0 bytes
 .../en/faq/can-i-get-commercial-support.adoc       |    4 -
 .../en/faq/can-i-use-camel-on-java-14.adoc         |    9 -
 ...loader-issue-of-servicemix-camel-component.adoc |   43 -
 .../en/faq/does-camel-work-on-ibms-jdk.adoc        |   32 -
 .../exception-beandefinitionstoreexception.adoc    |   50 -
 ...ption-javaxnamingnoinitialcontextexception.adoc |   36 -
 ...tion-orgapachecamelnosuchendpointexception.adoc |   25 -
 .../faq/exception-orgxmlsaxsaxparseexception.adoc  |   26 -
 ...an-i-create-a-custom-component-or-endpoint.adoc |   13 -
 ...on-ip-address-from-the-camel-cxf-consumer-.adoc |   17 -
 .../en/faq/how-can-i-get-the-source-code.adoc      |   50 -
 .../faq/how-can-i-stop-a-route-from-a-route.adoc   |   70 -
 ...ults-with-stacktraces-when-using-camel-cxf.adoc |    6 -
 .../en/faq/how-do-i-become-a-committer.adoc        |   61 -
 .../en/faq/how-do-i-change-the-logging.adoc        |   20 -
 .../en/faq/how-do-i-compile-the-code.adoc          |    4 -
 .../en/faq/how-do-i-configure-endpoints.adoc       |  321 ---
 ...-endpoints-without-the-value-being-encoded.adoc |   16 -
 ...size-for-producercache-or-producertemplate.adoc |   36 -
 ...ximum-endpoint-cache-size-for-camelcontext.adoc |   42 -
 .../en/faq/how-do-i-debug-my-route.adoc            |   15 -
 docs/user-manual/en/faq/how-do-i-disable-jmx.adoc  |   30 -
 .../en/faq/how-do-i-edit-the-website.adoc          |   18 -
 .../en/faq/how-do-i-enable-debug-logging.adoc      |   33 -
 ...reams-when-debug-logging-messages-in-camel.adoc |   55 -
 ...en-consuming-for-example-from-a-ftp-server.adoc |   31 -
 ...how-do-i-import-rests-from-other-xml-files.adoc |   87 -
 ...ow-do-i-import-routes-from-other-xml-files.adoc |   44 -
 .../faq/how-do-i-invoke-camel-routes-from-jbi.adoc |   34 -
 .../en/faq/how-do-i-let-jetty-match-wildcards.adoc |   31 -
 ...ow-do-i-make-my-jms-endpoint-transactional.adoc |   31 -
 .../en/faq/how-do-i-name-my-routes.adoc            |   20 -
 .../en/faq/how-do-i-restart-camelcontext.adoc      |    9 -
 ...wn-exception-during-processing-an-exchange.adoc |   54 -
 .../how-do-i-retry-failed-messages-forever.adoc    |   19 -
 ...om-a-certain-point-back-or-an-entire-route.adoc |   92 -
 ...-contexttestsupport-class-in-my-unit-tests.adoc |   44 -
 .../how-do-i-run-activemq-and-camel-in-jboss.adoc  |   21 -
 .../how-do-i-run-camel-using-java-webstart.adoc    |   83 -
 ...chars-when-debug-logging-messages-in-camel.adoc |   54 -
 ...do-i-set-the-mep-when-interacting-with-jbi.adoc |   34 -
 ...ify-time-period-in-a-human-friendly-syntax.adoc |   55 -
 ...h-method-to-use-when-using-beans-in-routes.adoc |    9 -
 .../en/faq/how-do-i-use-a-big-uber-jar.adoc        |   11 -
 .../faq/how-do-i-use-camel-inside-servicemix.adoc  |    7 -
 .../en/faq/how-do-i-use-java-14-logging.adoc       |   20 -
 docs/user-manual/en/faq/how-do-i-use-log4j.adoc    |   47 -
 ...spring-property-placeholder-with-camel-xml.adoc |   77 -
 .../how-do-i-use-uris-with-parameters-in-xml.adoc  |   52 -
 ...om-processor-which-sends-multiple-messages.adoc |   51 -
 ...direct-event-seda-and-vm-endpoints-compare.adoc |   14 -
 ...-do-the-timer-and-quartz-endpoints-compare.adoc |    8 -
 .../en/faq/how-does-camel-compare-to-mule.adoc     |   29 -
 .../how-does-camel-compare-to-servicemix-eip.adoc  |   61 -
 .../faq/how-does-camel-compare-to-servicemix.adoc  |   43 -
 .../en/faq/how-does-camel-compare-to-synapse.adoc  |   32 -
 ...how-does-camel-look-up-beans-and-endpoints.adoc |   23 -
 .../en/faq/how-does-camel-work-with-activemq.adoc  |   21 -
 .../faq/how-does-camel-work-with-servicemix.adoc   |   25 -
 docs/user-manual/en/faq/how-does-camel-work.adoc   |    5 -
 .../en/faq/how-does-the-camel-api-compare-to.adoc  |   43 -
 .../en/faq/how-does-the-website-work.adoc          |    8 -
 ...hould-i-invoke-my-pojos-or-spring-services.adoc |   22 -
 ...kage-applications-using-camel-and-activemq.adoc |   22 -
 ...the-camel-cxf-endpoint-from-osgi-platform-.adoc |   67 -
 ...-avoid-sending-some-or-all-message-headers.adoc |   75 -
 ...e-a-static-camel-converter-method-in-scala.adoc |   19 -
 ...http-protocol-headers-in-the-camel-message.adoc |   44 -
 ...end-the-same-message-to-multiple-endpoints.adoc |   34 -
 ...-without-touching-the-spring-configuration.adoc |   88 -
 .../en/faq/how-to-use-a-dynamic-uri-in-to.adoc     |   80 -
 ...-extra-camel-componets-in-servicemix-camel.adoc |   73 -
 ...-1x-context-xml-from-apache-camel-web-site.adoc |   42 -
 ...f-i-use-servicemix-when-should-i-use-camel.adoc |   22 -
 .../Message-flow-in-Route.png                      |  Bin 13415 -> 0 bytes
 .../flow.png                                       |  Bin 6152 -> 0 bytes
 docs/user-manual/en/faq/is-camel-an-esb.adoc       |   17 -
 docs/user-manual/en/faq/is-camel-ioc-friendly.adoc |   61 -
 docs/user-manual/en/faq/is-there-an-ide.adoc       |   14 -
 ...when-adding-and-removing-routes-at-runtime.adoc |   10 -
 .../en/faq/running-camel-standalone.adoc           |   29 -
 ...-activemq-broker-or-in-another-application.adoc |   36 -
 .../en/faq/using-camel-core-testsjar.adoc          |   10 -
 .../using-getin-or-getout-methods-on-exchange.adoc |  131 --
 .../en/faq/what-are-the-dependencies.adoc          |   67 -
 docs/user-manual/en/faq/what-is-a-router.adoc      |   23 -
 docs/user-manual/en/faq/what-is-camel.adoc         |   60 -
 docs/user-manual/en/faq/what-is-the-license.adoc   |    6 -
 docs/user-manual/en/faq/what-jars-do-i-need.adoc   |   34 -
 .../en/faq/what-platforms-are-supported.adoc       |    8 -
 ...se-when-or-otherwise-in-a-java-camel-route.adoc |   98 -
 .../en/faq/why-cant-i-use-sign-in-my-password.adoc |   18 -
 ...o-many-noclassdeffoundexception-on-startup.adoc |   17 -
 ...my-message-lose-its-headers-during-routing.adoc |    4 -
 ...use-too-many-threads-with-producertemplate.adoc |   29 -
 ...-does-ftp-component-not-download-any-files.adoc |    8 -
 .../why-does-maven-not-download-dependencies.adoc  |   10 -
 ...-file-consumer-use-the-camel-error-handler.adoc |   51 -
 ...jms-route-only-consume-one-message-at-once.adoc |   21 -
 ...ge-with-error-handler-not-work-as-expected.adoc |   16 -
 .../en/faq/why-is-my-message-body-empty.adoc       |   19 -
 ...is-my-processor-not-showing-up-in-jconsole.adoc |   35 -
 ...-the-exception-null-when-i-use-onexception.adoc |   37 -
 docs/user-manual/en/faq/why-the-name-camel.adoc    |   30 -
 .../en/faq/why-use-multiple-camelcontext.adoc      |   16 -
 .../apache-spark.data/camel_spark_cluster.png      |  Bin 172359 -> 0 bytes
 .../apache-spark.data/camel_spark_driver.png       |  Bin 293927 -> 0 bytes
 .../images/apache-spark.data/fabric_docker-(2).png |  Bin 37481 -> 0 bytes
 .../images/architecture.data/camel-components.png  |  Bin 229901 -> 0 bytes
 .../images/async.data/camel_async_request_only.png |  Bin 59864 -> 0 bytes
 .../async.data/camel_async_request_reply.png       |  Bin 64513 -> 0 bytes
 .../images/async.data/camel_sync_request_only.png  |  Bin 59351 -> 0 bytes
 .../images/async.data/camel_sync_request_reply.png |  Bin 61299 -> 0 bytes
 .../en/images/barcode-data-format.data/qr-code.png |  Bin 307 -> 0 bytes
 .../camel-eclipse-m2e-import-completed.png         |  Bin 73775 -> 0 bytes
 .../building.data/camel-eclipse-m2e-import.png     |  Bin 39095 -> 0 bytes
 .../en/images/camel-core.data/architecture.png     |  Bin 7767 -> 0 bytes
 .../architecture_incl_violations.png               |  Bin 23733 -> 0 bytes
 docs/user-manual/en/images/camel-logo.png          |  Bin 22001 -> 0 bytes
 docs/user-manual/en/images/debugger.data/debug.png |  Bin 212850 -> 0 bytes
 .../en/images/direct-vm.data/camel-direct-vm.png   |  Bin 129236 -> 0 bytes
 .../download.data/camel-box-v1.0-150x200.png       |  Bin 93934 -> 0 bytes
 .../enterprise-integration-patterns.data/clear.png |  Bin 26517 -> 0 bytes
 .../en/images/lifecycle.data/service_lifecycle.png |  Bin 35951 -> 0 bytes
 docs/user-manual/en/notice.md                      |   17 -
 .../en/release-notes/camel-2170-release.adoc       |  441 ----
 .../en/release-notes/camel-2171-release.adoc       |   44 -
 .../en/release-notes/camel-2172-release.adoc       |   45 -
 .../en/release-notes/camel-2173-release.adoc       |   44 -
 .../en/release-notes/camel-2174-release.adoc       |   43 -
 .../en/release-notes/camel-2175-release.adoc       |   43 -
 .../en/release-notes/camel-2176-release.adoc       |   43 -
 .../en/release-notes/camel-2177-release.adoc       |   39 -
 .../en/release-notes/camel-2180-release.adoc       |  370 ---
 .../en/release-notes/camel-2181-release.adoc       |   43 -
 .../en/release-notes/camel-2182-release.adoc       |   45 -
 .../en/release-notes/camel-2183-release.adoc       |   43 -
 .../en/release-notes/camel-2184-release.adoc       |   39 -
 .../en/release-notes/camel-2185-release.adoc       |   39 -
 .../en/release-notes/camel-2190-release.adoc       |  317 ---
 .../en/release-notes/camel-2191-release.adoc       |   40 -
 .../en/release-notes/camel-2192-release.adoc       |   39 -
 .../en/release-notes/camel-2193-release.adoc       |   39 -
 .../en/release-notes/camel-2194-release.adoc       |   39 -
 .../en/release-notes/camel-2195-release.adoc       |   39 -
 .../en/release-notes/camel-2200-release.adoc       |  271 ---
 .../en/release-notes/camel-2201-release.adoc       |   40 -
 .../en/release-notes/camel-2202-release.adoc       |   40 -
 .../en/release-notes/camel-2203-release.adoc       |   40 -
 .../en/release-notes/camel-2204-release.adoc       |   40 -
 .../en/release-notes/camel-2210-release.adoc       |  209 --
 .../en/release-notes/camel-2211-release.adoc       |   40 -
 .../en/release-notes/camel-2212-release.adoc       |   40 -
 .../en/security-advisories/CVE-2013-4330.txt.asc   |   46 -
 .../en/security-advisories/CVE-2014-0002.txt.asc   |   46 -
 .../en/security-advisories/CVE-2014-0003.txt.asc   |   46 -
 .../en/security-advisories/CVE-2015-0263.txt.asc   |   38 -
 .../en/security-advisories/CVE-2015-0264.txt.asc   |   38 -
 .../en/security-advisories/CVE-2015-5344.txt.asc   |   52 -
 .../en/security-advisories/CVE-2015-5348.txt.asc   |   37 -
 .../en/security-advisories/CVE-2016-8749.txt.asc   |   35 -
 .../en/security-advisories/CVE-2017-12633.txt.asc  |   33 -
 .../en/security-advisories/CVE-2017-12634.txt.asc  |   33 -
 .../en/security-advisories/CVE-2017-3159.txt.asc   |   33 -
 .../en/security-advisories/CVE-2017-5643.txt.asc   |   30 -
 .../en/security-advisories/CVE-2018-8027.txt.asc   |   31 -
 .../en/security-advisories/CVE-2018-8041.txt.asc   |   32 -
 .../images/apache-spark.data/fabric_docker-(2).png |  Bin 37481 -> 0 bytes
 .../images/architecture.data/camel-components.png  |  Bin 229901 -> 0 bytes
 .../images/async.data/camel_async_request_only.png |  Bin 59864 -> 0 bytes
 .../async.data/camel_async_request_reply.png       |  Bin 64513 -> 0 bytes
 .../images/async.data/camel_sync_request_only.png  |  Bin 59351 -> 0 bytes
 .../images/async.data/camel_sync_request_reply.png |  Bin 61299 -> 0 bytes
 .../camel-eclipse-m2e-import-completed.png         |  Bin 73775 -> 0 bytes
 .../building.data/camel-eclipse-m2e-import.png     |  Bin 39095 -> 0 bytes
 .../images/images/camel-core.data/architecture.png |  Bin 7767 -> 0 bytes
 .../architecture_incl_violations.png               |  Bin 23733 -> 0 bytes
 .../ROOT/assets/images/images/camel-logo.png       |  Bin 22001 -> 0 bytes
 .../assets/images/images/debugger.data/debug.png   |  Bin 212850 -> 0 bytes
 .../images/direct-vm.data/camel-direct-vm.png      |  Bin 129236 -> 0 bytes
 .../download.data/camel-box-v1.0-150x200.png       |  Bin 93934 -> 0 bytes
 .../enterprise-integration-patterns.data/clear.png |  Bin 26517 -> 0 bytes
 .../images/lifecycle.data/service_lifecycle.png    |  Bin 35951 -> 0 bytes
 docs/user-manual/modules/ROOT/nav.adoc             |   43 -
 .../annotation-based-expression-language.adoc      |  154 --
 .../modules/ROOT/pages/architecture.adoc           |   42 -
 docs/user-manual/modules/ROOT/pages/async.adoc     |  655 ------
 .../ROOT/pages/asynchronous-routing-engine.adoc    |   69 -
 .../modules/ROOT/pages/backlog-tracer.adoc         |  115 -
 .../modules/ROOT/pages/backlogdebugger.adoc        |  107 -
 .../modules/ROOT/pages/bam-example.adoc            |  117 -
 docs/user-manual/modules/ROOT/pages/bam.adoc       |   85 -
 .../modules/ROOT/pages/batch-consumer.adoc         |   71 -
 .../modules/ROOT/pages/bean-integration.adoc       |  103 -
 docs/user-manual/modules/ROOT/pages/binding.adoc   |   90 -
 .../modules/ROOT/pages/book-getting-started.adoc   |  575 -----
 docs/user-manual/modules/ROOT/pages/books.adoc     |  238 --
 .../modules/ROOT/pages/browsable-endpoint.adoc     |   17 -
 docs/user-manual/modules/ROOT/pages/building.adoc  |  284 ---
 .../user-manual/modules/ROOT/pages/camel-boot.adoc |   37 -
 .../ROOT/pages/camel-configuration-utilities.adoc  |  647 ------
 .../user-manual/modules/ROOT/pages/camel-core.adoc |   55 -
 .../modules/ROOT/pages/camel-jar-dependencies.adoc |   55 -
 .../modules/ROOT/pages/camelcontext.adoc           |   22 -
 docs/user-manual/modules/ROOT/pages/cep.adoc       |   43 -
 .../ROOT/pages/commercial-camel-offerings.adoc     |  126 -
 docs/user-manual/modules/ROOT/pages/component.adoc |   42 -
 .../modules/ROOT/pages/componentconfiguration.adoc |   44 -
 .../modules/ROOT/pages/configuring-camel.adoc      |   75 -
 ...ing-route-startup-ordering-and-autostartup.adoc |  271 ---
 .../modules/ROOT/pages/data-format.adoc            |  177 --
 docs/user-manual/modules/ROOT/pages/debugger.adoc  |  123 -
 .../modules/ROOT/pages/defaulterrorhandler.adoc    |   66 -
 .../modules/ROOT/pages/delay-interceptor.adoc      |   87 -
 .../modules/ROOT/pages/dependency-injection.adoc   |   17 -
 .../modules/ROOT/pages/download-archives.adoc      |  127 -
 docs/user-manual/modules/ROOT/pages/download.adoc  |  127 -
 .../modules/ROOT/pages/dozer-type-conversion.adoc  |  231 --
 docs/user-manual/modules/ROOT/pages/dsl.adoc       |   44 -
 .../modules/ROOT/pages/endpoint-completer.adoc     |   27 -
 docs/user-manual/modules/ROOT/pages/endpoint.adoc  |   36 -
 .../pages/enterprise-integration-patterns.adoc     |  318 ---
 .../modules/ROOT/pages/error-handler.adoc          |  389 ----
 .../ROOT/pages/error-handling-in-camel.adoc        |  235 --
 docs/user-manual/modules/ROOT/pages/examples.adoc  |   55 -
 .../modules/ROOT/pages/exception-clause.adoc       |  766 ------
 .../modules/ROOT/pages/exchange-pattern.adoc       |   27 -
 docs/user-manual/modules/ROOT/pages/exchange.adoc  |   22 -
 .../user-manual/modules/ROOT/pages/expression.adoc |  136 --
 docs/user-manual/modules/ROOT/pages/faq.adoc       |  192 --
 .../modules/ROOT/pages/fluent-builders.adoc        |   11 -
 .../modules/ROOT/pages/getting-started.adoc        |   79 -
 .../modules/ROOT/pages/graceful-shutdown.adoc      |  471 ----
 .../user-manual/modules/ROOT/pages/groovy-dsl.adoc |  408 ----
 .../modules/ROOT/pages/guice-jms-example.adoc      |   61 -
 .../modules/ROOT/pages/guice-maven-plugin.adoc     |  160 --
 docs/user-manual/modules/ROOT/pages/guice.adoc     |  155 --
 .../modules/ROOT/pages/http-session-handling.adoc  |  152 --
 .../modules/ROOT/pages/http-session.adoc           |  151 --
 docs/user-manual/modules/ROOT/pages/index.adoc     |  610 -----
 docs/user-manual/modules/ROOT/pages/injector.adoc  |   24 -
 docs/user-manual/modules/ROOT/pages/intercept.adoc |  274 ---
 .../inversion-of-control-with-smart-defaults.adoc  |   30 -
 docs/user-manual/modules/ROOT/pages/irc-room.adoc  |   24 -
 docs/user-manual/modules/ROOT/pages/java-dsl.adoc  |  200 --
 docs/user-manual/modules/ROOT/pages/jndi.adoc      |   22 -
 docs/user-manual/modules/ROOT/pages/json.adoc      |  636 -----
 docs/user-manual/modules/ROOT/pages/karaf.adoc     |  528 -----
 docs/user-manual/modules/ROOT/pages/languages.adoc |   50 -
 docs/user-manual/modules/ROOT/pages/lifecycle.adoc |  116 -
 .../modules/ROOT/pages/mailing-lists.adoc          |   72 -
 .../modules/ROOT/pages/oncompletion.adoc           |  332 ---
 docs/user-manual/modules/ROOT/pages/predicate.adoc |  222 --
 docs/user-manual/modules/ROOT/pages/processor.adoc |   99 -
 .../modules/ROOT/pages/producertemplate.adoc       |  103 -
 docs/user-manual/modules/ROOT/pages/registry.adoc  |   20 -
 .../modules/ROOT/pages/route-builder.adoc          |   11 -
 .../modules/ROOT/pages/route-policy.adoc           |  227 --
 docs/user-manual/modules/ROOT/pages/routes.adoc    |  112 -
 .../modules/ROOT/pages/scala-dsl-eip.adoc          |  413 ----
 .../ROOT/pages/scala-dsl-getting-started.adoc      |   67 -
 .../ROOT/pages/scala-dsl-supported-languages.adoc  |   48 -
 docs/user-manual/modules/ROOT/pages/scala-dsl.adoc |   76 -
 .../modules/ROOT/pages/scripting-languages.adoc    |  175 --
 .../modules/ROOT/pages/security-advisories.adoc    |   55 -
 docs/user-manual/modules/ROOT/pages/security.adoc  |   89 -
 .../modules/ROOT/pages/servicepool.adoc            |   60 -
 .../modules/ROOT/pages/spring-testing.adoc         |  449 ----
 .../modules/ROOT/pages/spring-xml-extensions.adoc  |   33 -
 docs/user-manual/modules/ROOT/pages/spring.adoc    |  304 ---
 docs/user-manual/modules/ROOT/pages/support.adoc   |  134 --
 docs/user-manual/modules/ROOT/pages/team.adoc      |  174 --
 docs/user-manual/modules/ROOT/pages/testing.adoc   |  304 ---
 .../modules/ROOT/pages/threading-model.adoc        |  244 --
 .../ROOT/pages/transactionerrorhandler.adoc        |  178 --
 docs/user-manual/modules/ROOT/pages/transport.adoc |   39 -
 .../modules/ROOT/pages/try-catch-finally.adoc      |  132 --
 .../modules/ROOT/pages/type-converter.adoc         |  403 ----
 docs/user-manual/modules/ROOT/pages/uris.adoc      |   28 -
 .../modules/ROOT/pages/user-stories.adoc           |  342 ---
 .../pages/using-osgi-blueprint-with-camel.adoc     |   60 -
 .../ROOT/pages/using-propertyplaceholder.adoc      | 1032 ---------
 .../modules/ROOT/pages/uuidgenerator.adoc          |   80 -
 .../modules/ROOT/pages/writing-components.adoc     |  158 --
 .../modules/ROOT/pages/xml-configuration.adoc      |   25 -
 .../modules/ROOT/pages/xml-reference.adoc          | 1436 ------------
 docs/yarn.lock                                     |  613 ++++-
 742 files changed, 97973 insertions(+), 29920 deletions(-)

diff --git a/docs/.gitignore b/docs/.gitignore
index 6b79402..41e8063 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1,2 +1,3 @@
 node
 node_modules
+
diff --git a/docs/component-nav.adoc.template b/docs/component-nav.adoc.template
new file mode 100644
index 0000000..169357f
--- /dev/null
+++ b/docs/component-nav.adoc.template
@@ -0,0 +1,4 @@
+<!-- generated:txt -->
+<!-- endinject -->
+<!-- inject:adoc -->
+<!-- endinject -->
diff --git a/docs/components/modules/ROOT/assets/images/apache-ignite.png b/docs/components/modules/ROOT/assets/images/apache-ignite.png
new file mode 100644
index 0000000..0f7cf4a
Binary files /dev/null and b/docs/components/modules/ROOT/assets/images/apache-ignite.png differ
diff --git a/docs/components/modules/ROOT/assets/images/camel-jmx.png b/docs/components/modules/ROOT/assets/images/camel-jmx.png
new file mode 100644
index 0000000..105af4e
Binary files /dev/null and b/docs/components/modules/ROOT/assets/images/camel-jmx.png differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/images/apache-spark.data/camel_spark_cluster.png b/docs/components/modules/ROOT/assets/images/camel_spark_cluster.png
similarity index 100%
rename from docs/user-manual/modules/ROOT/assets/images/images/apache-spark.data/camel_spark_cluster.png
rename to docs/components/modules/ROOT/assets/images/camel_spark_cluster.png
diff --git a/docs/user-manual/modules/ROOT/assets/images/images/apache-spark.data/camel_spark_driver.png b/docs/components/modules/ROOT/assets/images/camel_spark_driver.png
similarity index 100%
rename from docs/user-manual/modules/ROOT/assets/images/images/apache-spark.data/camel_spark_driver.png
rename to docs/components/modules/ROOT/assets/images/camel_spark_driver.png
diff --git a/docs/components/modules/ROOT/assets/images/jconsole_trace_notifications.png b/docs/components/modules/ROOT/assets/images/jconsole_trace_notifications.png
new file mode 100644
index 0000000..efd86a2
Binary files /dev/null and b/docs/components/modules/ROOT/assets/images/jconsole_trace_notifications.png differ
diff --git a/docs/user-manual/modules/ROOT/assets/images/images/barcode-data-format.data/qr-code.png b/docs/components/modules/ROOT/assets/images/qr-code.png
similarity index 100%
rename from docs/user-manual/modules/ROOT/assets/images/images/barcode-data-format.data/qr-code.png
rename to docs/components/modules/ROOT/assets/images/qr-code.png
diff --git a/docs/components/modules/ROOT/examples/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml b/docs/components/modules/ROOT/examples/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml
new file mode 100644
index 0000000..577c4a3
--- /dev/null
+++ b/docs/components/modules/ROOT/examples/components/camel-quickfix/src/test/resources/org/apache/camel/component/quickfixj/QuickfixjSpringTest-context.xml
@@ -0,0 +1,129 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+
+-->
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:util="http://www.springframework.org/schema/util"
+       xmlns:camel="http://camel.apache.org/schema/spring"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
+        http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
+        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+    <!-- START SNIPPET: e1 -->
+    <!-- tag::e1[] -->
+    <!-- camel route -->
+    <camelContext id="quickfixjContext" xmlns="http://camel.apache.org/schema/spring">
+        <route>
+            <from uri="quickfix:example"/>
+            <filter>
+                <simple>${in.header.EventCategory} == 'AppMessageReceived'</simple>
+                <to uri="log:test"/>
+            </filter>
+        </route>
+        <route>
+            <from uri="vm:test"/>
+            <to uri="lazyQuickfix:example"/>
+        </route>
+    </camelContext>
+
+    <!-- quickfix component -->
+    <bean id="quickfix" class="org.apache.camel.component.quickfixj.QuickfixjComponent">
+        <property name="configurations">
+            <util:map>
+                <entry key="example" value-ref="quickfixjConfiguration"/>
+            </util:map>
+        </property>
+        <property name="messageFactory">
+            <bean class="org.apache.camel.component.quickfixj.QuickfixjSpringTest.CustomMessageFactory"/>
+        </property>
+    </bean>
+
+    <!-- lazy quickfix component -->
+    <bean id="lazyQuickfix" class="org.apache.camel.component.quickfixj.QuickfixjComponent">
+        <property name="lazyCreateEngines" value="true" />
+        <property name="configurations">
+            <util:map>
+                <entry key="example" value-ref="lazyQuickfixjConfiguration"/>
+            </util:map>
+        </property>
+        <property name="messageFactory">
+            <bean class="org.apache.camel.component.quickfixj.QuickfixjSpringTest.CustomMessageFactory"/>
+        </property>
+    </bean>
+
+    <!-- quickfix settings -->
+    <bean id="quickfixjConfiguration" class="org.apache.camel.component.quickfixj.QuickfixjConfiguration">
+        <property name="defaultSettings">
+            <util:map>
+                <entry key="SocketConnectProtocol" value="VM_PIPE"/>
+                <entry key="SocketAcceptProtocol" value="VM_PIPE"/>
+                <entry key="UseDataDictionary" value="N"/>
+            </util:map>
+        </property>
+        <property name="sessionSettings">
+            <util:map>
+                <entry key="FIX.4.2:INITIATOR->ACCEPTOR">
+                    <util:map>
+                        <entry key="ConnectionType" value="initiator"/>
+                        <entry key="SocketConnectHost" value="localhost"/>
+                        <entry key="SocketConnectPort" value="5000"/>
+                    </util:map>
+                </entry>
+                <entry key="FIX.4.2:ACCEPTOR->INITIATOR">
+                    <util:map>
+                        <entry key="ConnectionType" value="acceptor"/>
+                        <entry key="SocketAcceptPort" value="5000"/>
+                    </util:map>
+                </entry>
+            </util:map>
+        </property>
+    </bean>
+    <!-- end::e1[] -->
+    <!-- END SNIPPET: e1 -->
+
+    <!-- lazy quickfix settings -->
+    <bean id="lazyQuickfixjConfiguration" class="org.apache.camel.component.quickfixj.QuickfixjConfiguration">
+        <property name="defaultSettings">
+            <util:map>
+                <entry key="SocketConnectProtocol" value="VM_PIPE"/>
+                <entry key="SocketAcceptProtocol" value="VM_PIPE"/>
+                <entry key="UseDataDictionary" value="N"/>
+            </util:map>
+        </property>
+        <property name="sessionSettings">
+            <util:map>
+                <entry key="FIX.4.2:INITIATOR->ACCEPTOR">
+                    <util:map>
+                        <entry key="ConnectionType" value="initiator"/>
+                        <entry key="SocketConnectHost" value="localhost"/>
+                        <entry key="SocketConnectPort" value="5001"/>
+                    </util:map>
+                </entry>
+                <entry key="FIX.4.2:ACCEPTOR->INITIATOR">
+                    <util:map>
+                        <entry key="ConnectionType" value="acceptor"/>
+                        <entry key="SocketAcceptPort" value="5001"/>
+                    </util:map>
+                </entry>
+            </util:map>
+        </property>
+    </bean>
+
+</beans>
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/nav.adoc b/docs/components/modules/ROOT/nav.adoc
index 0f61ad5..359a68e 100644
--- a/docs/components/modules/ROOT/nav.adoc
+++ b/docs/components/modules/ROOT/nav.adoc
@@ -1,7 +1,11 @@
-* xref:ahc-component.adoc[AHC Component]
+// this file is auto generated and changes to it will be overwritten
+// make edits in docs/*nav.adoc.template files instead
+
 * xref:ahc-ws-component.adoc[AHC Websocket Component]
+* xref:ahc-component.adoc[AHC Component]
 * xref:amqp-component.adoc[AMQP Component]
 * xref:apns-component.adoc[APNS Component]
+* xref:as2-component.adoc[AS2 Component]
 * xref:asn1-dataformat.adoc[ASN.1 File DataFormat]
 * xref:asterisk-component.adoc[Asterisk Component]
 * xref:atmos-component.adoc[Atmos Component]
@@ -15,6 +19,7 @@
 * xref:atomix-value-component.adoc[Atomix Value Component]
 * xref:avro-component.adoc[Avro Component]
 * xref:avro-dataformat.adoc[Avro DataFormat]
+* xref:aws-xray.adoc[AWS XRay Component]
 * xref:aws-cw-component.adoc[AWS CloudWatch Component]
 * xref:aws-ddb-component.adoc[AWS DynamoDB Component]
 * xref:aws-ddbstream-component.adoc[AWS DynamoDB Streams Component]
@@ -32,7 +37,6 @@
 * xref:aws-sqs-component.adoc[AWS Simple Queue Service Component]
 * xref:aws-swf-component.adoc[AWS Simple Workflow Component]
 * xref:aws.adoc[Camel Components for Amazon Web Services]
-* xref:aws-xray.adoc[AWS XRay Component]
 * xref:azure-blob-component.adoc[Azure Storage Blob Service Component]
 * xref:azure-queue-component.adoc[Azure Storage Queue Service Component]
 * xref:azure.adoc[Camel Components for Windows Azure Services]
@@ -47,31 +51,32 @@
 * xref:blueprint.adoc[Using OSGi blueprint with Camel]
 * xref:bonita-component.adoc[Bonita Component]
 * xref:boon-dataformat.adoc[Boon DataFormat (deprecated)]
+* xref:box-component.adoc[Box Component]
 * xref:braintree-component.adoc[Braintree Component]
 * xref:cache-component.adoc[EHCache Component (deprecated)]
 * xref:caffeine-cache-component.adoc[Caffeine Cache Component]
 * xref:caffeine-loadcache-component.adoc[Caffeine LoadCache Component]
 * xref:cql-component.adoc[Cassandra CQL Component]
-* xref:cdi.adoc[Camel CDI]
 * xref:castor-dataformat.adoc[Castor DataFormat (deprecated)]
+* xref:cdi.adoc[Camel CDI]
 * xref:chronicle-engine-component.adoc[Chronicle Engine Component (deprecated)]
 * xref:chunk-component.adoc[Chunk Component]
-* xref:coap-component.adoc[CoAP Component]
 * xref:cmis-component.adoc[CMIS Component]
+* xref:coap-component.adoc[CoAP Component]
 * xref:cometd-component.adoc[CometD Component]
 * xref:consul-component.adoc[Consul Component]
 * xref:context-component.adoc[Camel Context Component (deprecated)]
 * xref:corda-component.adoc[corda Component]
 * xref:couchbase-component.adoc[Couchbase Component]
 * xref:couchdb-component.adoc[CouchDB Component]
+* xref:crypto-cms-component.adoc[Crypto CMS Component]
 * xref:crypto-component.adoc[Crypto (JCE) Component]
 * xref:crypto-dataformat.adoc[Crypto (Java Cryptographic Extension) DataFormat]
 * xref:pgp-dataformat.adoc[PGP DataFormat]
-* xref:crypto-cms-component.adoc[Crypto CMS Component]
 * xref:csv-dataformat.adoc[CSV DataFormat]
+* xref:cxf-transport.adoc[CXF Transport Component]
 * xref:cxf-component.adoc[CXF Component]
 * xref:cxfrs-component.adoc[CXF-RS Component]
-* xref:cxf-transport.adoc[What's the Camel Transport for CXF]
 * xref:digitalocean-component.adoc[DigitalOcean Component]
 * xref:disruptor-component.adoc[Disruptor Component]
 * xref:dns-component.adoc[DNS Component]
@@ -82,8 +87,8 @@
 * xref:eclipse.adoc[Eclipse Component]
 * xref:ehcache-component.adoc[Ehcache Component]
 * xref:ejb-component.adoc[EJB Component (deprecated)]
-* xref:elasticsearch-component.adoc[Elasticsearch Component (deprecated)]
 * xref:elasticsearch-rest-component.adoc[Elastichsearch Rest Component]
+* xref:elasticsearch-component.adoc[Elasticsearch Component (deprecated)]
 * xref:elasticsearch5-component.adoc[Elasticsearch5 Component (deprecated)]
 * xref:elsql-component.adoc[ElSQL Component]
 * xref:etcd-component.adoc[etcd Component]
@@ -91,10 +96,13 @@
 * xref:exec-component.adoc[Exec Component]
 * xref:facebook-component.adoc[Facebook Component]
 * xref:json-fastjson-dataformat.adoc[JSon Fastjson DataFormat]
+* xref:fhir-component.adoc[FHIR Component]
+* xref:fhirJson-dataformat.adoc[FHIR JSon DataFormat]
+* xref:fhirXml-dataformat.adoc[FHIR XML DataFormat]
 * xref:flatpack-component.adoc[Flatpack Component]
 * xref:flatpack-dataformat.adoc[Flatpack DataFormat]
-* xref:fop-component.adoc[FOP Component]
 * xref:flink-component.adoc[Apache Flink Component]
+* xref:fop-component.adoc[FOP Component]
 * xref:freemarker-component.adoc[Freemarker Component]
 * xref:ftp-component.adoc[FTP Component]
 * xref:ftps-component.adoc[FTPS Component]
@@ -115,8 +123,8 @@
 * xref:google-sheets-stream-component.adoc[Google Sheets Stream Component]
 * xref:gora-component.adoc[Gora Component]
 * xref:grape-component.adoc[Grape Component]
-* xref:groovy-language.adoc[Groovy Language]
 * xref:groovy-dsl.adoc[About the Groovy DSL (deprecated)]
+* xref:groovy-language.adoc[Groovy Language]
 * xref:grpc-component.adoc[gRPC Component]
 * xref:json-gson-dataformat.adoc[JSon GSon DataFormat]
 * xref:guava-eventbus-component.adoc[Guava EventBus Component]
@@ -174,8 +182,8 @@
 * xref:jcr-component.adoc[JCR Component]
 * xref:jdbc-component.adoc[JDBC Component]
 * xref:jetty-component.adoc[Jetty 9 Component]
-* xref:jgroups-component.adoc[JGroups Component]
 * xref:jgroups-raft-component.adoc[JGroups raft Component]
+* xref:jgroups-component.adoc[JGroups Component]
 * xref:jibx-dataformat.adoc[JiBX DataFormat]
 * xref:jing-component.adoc[Jing Component]
 * xref:jira-component.adoc[JIRA Component (deprecated)]
@@ -216,6 +224,7 @@
 * xref:ldap-component.adoc[LDAP Component]
 * xref:ldif-component.adoc[LDIF Component]
 * xref:leveldb.adoc[LevelDB]
+* xref:linkedin-component.adoc[Linkedin Component]
 * xref:lra.adoc[LRA Component]
 * xref:lucene-component.adoc[Lucene Component]
 * xref:lumberjack-component.adoc[Lumberjack Component]
@@ -230,8 +239,8 @@
 * xref:mina-component.adoc[Mina Component (deprecated)]
 * xref:mina2-component.adoc[Mina2 Component]
 * xref:mllp-component.adoc[MLLP Component]
-* xref:mongodb-component.adoc[MongoDB Component (deprecated)]
 * xref:mongodb-gridfs-component.adoc[MongoDB GridFS Component]
+* xref:mongodb-component.adoc[MongoDB Component (deprecated)]
 * xref:mongodb3-component.adoc[MongoDB Component]
 * xref:mqtt-component.adoc[MQTT Component]
 * xref:msv-component.adoc[MSV Component]
@@ -242,12 +251,14 @@
 * xref:mybatis-component.adoc[MyBatis Component]
 * xref:nagios-component.adoc[Nagios Component]
 * xref:nats-component.adoc[Nats Component]
-* xref:netty-component.adoc[Netty Component (deprecated)]
 * xref:netty-http-component.adoc[Netty HTTP Component (deprecated)]
-* xref:netty4-component.adoc[Netty4 Component]
+* xref:netty-component.adoc[Netty Component (deprecated)]
 * xref:netty4-http-component.adoc[Netty4 HTTP Component]
+* xref:netty4-component.adoc[Netty4 Component]
 * xref:nsq-component.adoc[NSQ Component]
 * xref:ognl-language.adoc[OGNL Language]
+* xref:olingo2-component.adoc[Olingo2 Component]
+* xref:olingo4-component.adoc[Olingo4 Component]
 * xref:openshift-component.adoc[OpenShift Component (deprecated)]
 * xref:openstack-cinder-component.adoc[OpenStack Cinder Component]
 * xref:openstack-glance-component.adoc[OpenStack Glance Component]
@@ -282,6 +293,7 @@
 * xref:ruby.adoc['admin'").to("seda:adminQueue")]
 * xref:rx.adoc[Camel RX (deprecated)]
 * xref:rxjava2.adoc[RxJava2 Component]
+* xref:salesforce-component.adoc[Salesforce Component]
 * xref:sap-netweaver-component.adoc[SAP NetWeaver Component]
 * xref:xquery-component.adoc[XQuery Component]
 * xref:xquery-language.adoc[XQuery Language]
@@ -297,6 +309,7 @@
 * xref:ruby-language.adoc[Ruby Language (deprecated)]
 * xref:script.adoc[Script]
 * xref:service-component.adoc[Service Component]
+* xref:servicenow-component.adoc[ServiceNow Component]
 * xref:servlet-component.adoc[Servlet Component]
 * xref:servletlistener.adoc[ServletListener Component]
 * xref:shiro.adoc[Shiro Security Component]
@@ -310,24 +323,24 @@
 * xref:snmp-component.adoc[SNMP Component]
 * xref:soapjaxb-dataformat.adoc[SOAP DataFormat]
 * xref:solr-component.adoc[Solr Component]
-* xref:spark-component.adoc[Apache Spark Component]
 * xref:spark-rest-component.adoc[Spark Rest Component]
+* xref:spark-component.adoc[Apache Spark Component]
 * xref:splunk-component.adoc[Splunk Component]
-* xref:spel-language.adoc[SpEL Language]
-* xref:spring-event-component.adoc[Spring Event Component]
-* xref:spring.adoc[Spring Support]
 * xref:spring-batch-component.adoc[Spring Batch Component]
 * xref:spring-boot.adoc[Spring Boot]
-* xref:spring-cloud.adoc[Spring Cloud]
 * xref:spring-cloud-consul.adoc[Spring Cloud Consul]
 * xref:spring-cloud-netflix.adoc[Spring Cloud Netflix]
 * xref:spring-cloud-zookeeper.adoc[Spring Cloud Zookeeper]
+* xref:spring-cloud.adoc[Spring Cloud]
 * xref:spring-integration-component.adoc[Spring Integration Component]
 * xref:spring-javaconfig.adoc[Spring Java Config]
 * xref:spring-ldap-component.adoc[Spring LDAP Component]
 * xref:spring-redis-component.adoc[Spring Redis Component]
 * xref:spring-security.adoc[Spring Security]
 * xref:spring-ws-component.adoc[Spring WebService Component]
+* xref:spel-language.adoc[SpEL Language]
+* xref:spring-event-component.adoc[Spring Event Component]
+* xref:spring.adoc[Spring Support]
 * xref:sql-component.adoc[SQL Component]
 * xref:sql-stored-component.adoc[SQL Stored Procedure Component]
 * xref:ssh-component.adoc[SSH Component]
@@ -335,19 +348,19 @@
 * xref:stomp-component.adoc[Stomp Component]
 * xref:stream-component.adoc[Stream Component]
 * xref:string-template-component.adoc[String Template Component]
-* xref:swagger.adoc[Swagger Scala Component (deprecated)]
 * xref:swagger-java.adoc[Swagger Java Component]
+* xref:swagger.adoc[Swagger Scala Component (deprecated)]
 * xref:syslog-dataformat.adoc[Syslog DataFormat]
 * xref:tidyMarkup-dataformat.adoc[TidyMarkup DataFormat]
 * xref:tarfile-dataformat.adoc[Tar File DataFormat]
 * xref:telegram-component.adoc[Telegram Component]
-* xref:test.adoc[Test Component]
 * xref:test-blueprint.adoc[Blueprint Testing]
 * xref:test-cdi.adoc[CDI Testing]
 * xref:test-karaf.adoc[Test Karaf]
 * xref:test-spring.adoc[Test Spring]
-* xref:testcontainers.adoc[Testcontainers]
+* xref:test.adoc[Test Module]
 * xref:testcontainers-spring.adoc[Testcontainers Spring]
+* xref:testcontainers.adoc[Testcontainers]
 * xref:testng.adoc[TestNG (deprecated)]
 * xref:thrift-component.adoc[Thrift Component]
 * xref:thrift-dataformat.adoc[Thrift DataFormat]
@@ -368,8 +381,8 @@
 * xref:vertx-component.adoc[Vert.x Component]
 * xref:weather-component.adoc[Weather Component]
 * xref:web3j-component.adoc[Web3j Ethereum Blockchain Component]
-* xref:websocket-component.adoc[Jetty Websocket Component]
 * xref:websocket-jsr356-component.adoc[Javax Websocket Component]
+* xref:websocket-component.adoc[Jetty Websocket Component]
 * xref:wordpress-component.adoc[Wordpress Component]
 * xref:xchange-component.adoc[XChange Component]
 * xref:xmlBeans-dataformat.adoc[XML Beans DataFormat (deprecated)]
@@ -384,5 +397,5 @@
 * xref:zendesk-component.adoc[Zendesk Component]
 * xref:zipfile-dataformat.adoc[Zip File DataFormat]
 * xref:zipkin.adoc[Zipkin Component]
-* xref:zookeeper-component.adoc[ZooKeeper Component]
 * xref:zookeeper-master-component.adoc[ZooKeeper Master Component]
+* xref:zookeeper-component.adoc[ZooKeeper Component]
diff --git a/docs/components/modules/ROOT/pages/ahc-component.adoc b/docs/components/modules/ROOT/pages/ahc-component.adoc
deleted file mode 120000
index da4c38f..0000000
--- a/docs/components/modules/ROOT/pages/ahc-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-ahc/src/main/docs/ahc-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/ahc-component.adoc b/docs/components/modules/ROOT/pages/ahc-component.adoc
new file mode 100644
index 0000000..ad7f5a6
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/ahc-component.adoc
@@ -0,0 +1,452 @@
+= AHC Component
+
+*Available as of Camel version 2.8*
+
+
+The AHC component provides HTTP based endpoints
+for consuming external HTTP resources (as a client to call external
+servers using HTTP).
+The component uses the
+https://github.com/AsyncHttpClient/async-http-client[Async Http Client]
+library.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-ahc</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== URI format
+
+[source,java]
+---------------------------------------------------
+ahc:http://hostname[:port][/resourceUri][?options]
+ahc:https://hostname[:port][/resourceUri][?options]
+---------------------------------------------------
+
+Will by default use port 80 for HTTP and 443 for HTTPS.
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+== Ahc Endpoint Options
+
+
+
+
+
+
+
+// endpoint options: START
+The AHC endpoint is configured using URI syntax:
+
+----
+ahc:httpUri
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *httpUri* | *Required* The URI to use such as http://hostname:port/path |  | URI
+|===
+
+
+==== Query Parameters (13 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeEndpoint* (producer) | If the option is true, then the Exchange.HTTP_URI header is ignored, and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the AhcProducer send all the fault response back. | false | boolean
+| *bufferSize* (producer) | The initial in-memory buffer size used when transferring data between Camel and AHC Client. | 4096 | int
+| *connectionClose* (producer) | Define if the Connection Close header has to be added to HTTP Request. This parameter is false by default | false | boolean
+| *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
+| *headerFilterStrategy* (producer) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *throwExceptionOnFailure* (producer) | Option to disable throwing the AhcOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
+| *transferException* (producer) | If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type (for example using Jetty or Servlet Camel components). On the producer side the exception will be deserialized and thrown as is, instead of the AhcOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enab [...]
+| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
+| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
+| *clientConfigOptions* (advanced) | To configure the AsyncHttpClientConfig using the key/values from the Map. |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *clientConfigRealmOptions* (security) | To configure the AsyncHttpClientConfig Realm using the key/values from the Map. |  | Map
+| *sslContextParameters* (security) | Reference to a org.apache.camel.util.jsse.SSLContextParameters in the Registry. This reference overrides any configured SSLContextParameters at the component level. See Using the JSSE Configuration Utility. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.ahc.allow-java-serialized-object* | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | Boolean
+| *camel.component.ahc.binding* | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. The option is a org.apache.camel.component.ahc.AhcBinding type. |  | String
+| *camel.component.ahc.client* | To use a custom AsyncHttpClient. The option is a org.asynchttpclient.AsyncHttpClient type. |  | String
+| *camel.component.ahc.client-config* | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. The option is a org.asynchttpclient.AsyncHttpClientConfig type. |  | String
+| *camel.component.ahc.enabled* | Enable ahc component | true | Boolean
+| *camel.component.ahc.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
+| *camel.component.ahc.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.ahc.ssl-context-parameters* | Reference to a org.apache.camel.util.jsse.SSLContextParameters in the Registry. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. The option is a org.apache.camel.util.jsse.SSLContextParameters type. |  | String
+| *camel.component.ahc.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+
+
+
+
+== AhcComponent Options
+
+
+
+
+
+
+
+
+
+// component options: START
+The AHC component supports 8 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *client* (advanced) | To use a custom AsyncHttpClient |  | AsyncHttpClient
+| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
+| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
+| *sslContextParameters* (security) | Reference to a org.apache.camel.util.jsse.SSLContextParameters in the Registry. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
+| *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
+| *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
+| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+
+
+
+Notice that setting any of the options on the `AhcComponent` will
+propagate those options to
+`AhcEndpoints` being created. However the `AhcEndpoint` can also
+configure/override a custom option. Options set on endpoints will always
+take precedence over options from the `AhcComponent`.
+
+== Message Headers
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Name |Type |Description
+|`Exchange.HTTP_URI` |`String` |URI to call. Will override existing URI set directly on the endpoint.
+
+|`Exchange.HTTP_PATH` |`String` |Request URI's path, the header will be used to build the request URI
+with the HTTP_URI. If the path is start with "/", http producer will try
+to find the relative path based on the Exchange.HTTP_BASE_URI header or
+the `exchange.getFromEndpoint().getEndpointUri();`
+
+|`Exchange.HTTP_QUERY` |`String` |*Camel 2.11 onwards:* URI parameters. Will override existing URI
+parameters set directly on the endpoint.
+
+|`Exchange.HTTP_RESPONSE_CODE` |`int` |The HTTP response code from the external server. Is 200 for OK.
+
+|`Exchange.HTTP_CHARACTER_ENCODING` |`String` |Character encoding.
+
+|`Exchange.CONTENT_TYPE` |`String` |The HTTP content type. Is set on both the IN and OUT message to provide
+a content type, such as `text/html`.
+
+|`Exchange.CONTENT_ENCODING` |`String` |The HTTP content encoding. Is set on both the IN and OUT message to
+provide a content encoding, such as `gzip`.
+|=======================================================================
+
+== Message Body
+
+Camel will store the HTTP response from the external server on the OUT
+body. All headers from the IN message will be copied to the OUT message,
+so headers are preserved during routing. Additionally Camel will add the
+HTTP response headers as well to the OUT message headers.
+
+== Response code
+
+Camel will handle according to the HTTP response code:
+
+* Response code is in the range 100..299, Camel regards it as a success
+response.
+* Response code is in the range 300..399, Camel regards it as a
+redirection response and will throw a `AhcOperationFailedException` with
+the information.
+* Response code is 400+, Camel regards it as an external server failure
+and will throw a `AhcOperationFailedException` with the information.
++
+throwExceptionOnFailure
++
+The option, `throwExceptionOnFailure`, can be set to `false` to prevent
+the `AhcOperationFailedException` from being thrown for failed response
+codes. This allows you to get any response from the remote server.
+
+== AhcOperationFailedException
+
+This exception contains the following information:
+
+* The HTTP status code
+* The HTTP status line (text of the status code)
+* Redirect location, if server returned a redirect
+* Response body as a `java.lang.String`, if server provided a body as
+response
+
+== Calling using GET or POST
+
+The following algorithm is used to determine if either `GET` or `POST`
+HTTP method should be used: +
+ 1. Use method provided in header. +
+ 2. `GET` if query string is provided in header. +
+ 3. `GET` if endpoint is configured with a query string. +
+ 4. `POST` if there is data to send (body is not null). +
+ 5. `GET` otherwise.
+
+== Configuring URI to call
+
+You can set the HTTP producer's URI directly form the endpoint URI. In
+the route below, Camel will call out to the external server, `oldhost`,
+using HTTP.
+
+[source,java]
+----------------------------------
+from("direct:start")
+        .to("ahc:http://oldhost");
+----------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+---------------------------------------------------------------------
+<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <to uri="ahc:http://oldhost"/>
+  </route>
+</camelContext>
+---------------------------------------------------------------------
+
+You can override the HTTP endpoint URI by adding a header with the key,
+`Exchange.HTTP_URI`, on the message.
+
+[source,java]
+-------------------------------------------------------------
+from("direct:start")
+    .setHeader(Exchange.HTTP_URI, constant("http://newhost"))
+    .to("ahc:http://oldhost");
+-------------------------------------------------------------
+
+== Configuring URI Parameters
+
+The *ahc* producer supports URI parameters to be sent to the HTTP
+server. The URI parameters can either be set directly on the endpoint
+URI or as a header with the key `Exchange.HTTP_QUERY` on the message.
+
+[source,java]
+---------------------------------------------------------
+from("direct:start")
+        .to("ahc:http://oldhost?order=123&detail=short");
+---------------------------------------------------------
+
+Or options provided in a header:
+
+[source,java]
+-------------------------------------------------------------------------------
+from("direct:start")
+            .setHeader(Exchange.HTTP_QUERY, constant("order=123&detail=short"))
+        .to("ahc:http://oldhost");
+-------------------------------------------------------------------------------
+
+== How to set the http method to the HTTP producer
+
+The HTTP component provides a way to set the HTTP request method by
+setting the message header. Here is an example;
+
+[source,java]
+--------------------------------------------------------------
+from("direct:start")
+            .setHeader(Exchange.HTTP_METHOD, constant("POST"))
+        .to("ahc:http://www.google.com")
+            .to("mock:results");
+--------------------------------------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+---------------------------------------------------------------------
+<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <setHeader name="CamelHttpMethod">
+        <constant>POST</constant>
+    </setHeader>
+    <to uri="ahc:http://www.google.com"/>
+    <to uri="mock:results"/>
+  </route>
+</camelContext>
+---------------------------------------------------------------------
+
+== Configuring charset
+
+If you are using `POST` to send data you can configure the `charset`
+using the `Exchange` property:
+
+[source,java]
+----------------------------------------------------------
+exchange.setProperty(Exchange.CHARSET_NAME, "iso-8859-1");
+----------------------------------------------------------
+
+=== URI Parameters from the endpoint URI
+
+In this sample we have the complete URI endpoint that is just what you
+would have typed in a web browser. Multiple URI parameters can of course
+be set using the `&` character as separator, just as you would in the
+web browser. Camel does no tricks here.
+
+[source,java]
+--------------------------------------------------------------------
+// we query for Camel at the Google page
+template.sendBody("ahc:http://www.google.com/search?q=Camel", null);
+--------------------------------------------------------------------
+
+=== URI Parameters from the Message
+
+[source,java]
+---------------------------------------------------------------------
+Map headers = new HashMap();
+headers.put(Exchange.HTTP_QUERY, "q=Camel&lr=lang_en");
+// we query for Camel and English language at Google
+template.sendBody("ahc:http://www.google.com/search", null, headers);
+---------------------------------------------------------------------
+
+In the header value above notice that it should *not* be prefixed with
+`?` and you can separate parameters as usual with the `&` char.
+
+=== Getting the Response Code
+
+You can get the HTTP response code from the AHC component by getting the
+value from the Out message header with `Exchange.HTTP_RESPONSE_CODE`.
+
+[source,java]
+----------------------------------------------------------------------------------------------
+Exchange exchange = template.send("ahc:http://www.google.com/search", new Processor() {
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setHeader(Exchange.HTTP_QUERY, constant("hl=en&q=activemq"));
+            }
+   });
+   Message out = exchange.getOut();
+   int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
+----------------------------------------------------------------------------------------------
+
+== Configuring AsyncHttpClient
+
+The `AsyncHttpClient` client uses a `AsyncHttpClientConfig` to configure
+the client. See the documentation at +
+ http://github.com/sonatype/async-http-client[Async Http Client] for
+more details.
+
+The example below shows how to use a builder to create the
+`AsyncHttpClientConfig` which we configure on the `AhcComponent`.
+
+The `AsyncHttpClientConfigBean` class provides getters and setters for
+the configuration options available in `AsyncHttpClientConfig`. An
+instance of `AsyncHttpClientConfigBean` may be passed directly to the
+AHC component or referenced in an endpoint URI using the `clientConfig`
+URI parameter.
+
+There is the ability to set configuration
+options directly in the URI. URI parameters starting with
+"clientConfig." can be used to set the various configurable properties
+of `AsyncHttpClientConfig`. The properties specified in the endpoint URI
+are merged with those specified in the configuration referenced by the
+"clientConfig" URI parameter with those being set using the
+"clientConfig." parameter taking priority. The `AsyncHttpClientConfig`
+instance referenced is always copied for each endpoint such that
+settings on one endpoint will remain independent of settings on any
+previously created endpoints. The example below shows how to configure
+the AHC component using the "clientConfig." type URI parameters.
+
+[source,java]
+---------------------------------------------------------------------------------------------------------
+from("direct:start")
+    .to("ahc:http://localhost:8080/foo?clientConfig.maxRequestRetry=3&clientConfig.followRedirects=true")
+---------------------------------------------------------------------------------------------------------
+
+== SSL Support (HTTPS)
+
+[[AHC-UsingtheJSSEConfigurationUtility]]
+Using the JSSE Configuration Utility
+
+The AHC component supports SSL/TLS configuration
+through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
+component specific code you need to write and is configurable at the
+endpoint and component levels.  The following examples demonstrate how
+to use the utility with the AHC component.
+
+[[AHC-Programmaticconfigurationofthecomponent]]
+Programmatic configuration of the component
+
+[source,java]
+-------------------------------------------------------------------------
+KeyStoreParameters ksp = new KeyStoreParameters();
+ksp.setResource("/users/home/server/keystore.jks");
+ksp.setPassword("keystorePassword");
+
+KeyManagersParameters kmp = new KeyManagersParameters();
+kmp.setKeyStore(ksp);
+kmp.setKeyPassword("keyPassword");
+
+SSLContextParameters scp = new SSLContextParameters();
+scp.setKeyManagers(kmp);
+
+AhcComponent component = context.getComponent("ahc", AhcComponent.class);
+component.setSslContextParameters(scp));
+-------------------------------------------------------------------------
+
+[[AHC-SpringDSLbasedconfigurationofendpoint]]
+Spring DSL based configuration of endpoint
+
+[source,xml]
+----------------------------------------------------------------------------------
+...
+  <camel:sslContextParameters
+      id="sslContextParameters">
+    <camel:keyManagers
+        keyPassword="keyPassword">
+      <camel:keyStore
+          resource="/users/home/server/keystore.jks"
+          password="keystorePassword"/>
+    </camel:keyManagers>
+  </camel:sslContextParameters>...
+...
+  <to uri="ahc:https://localhost/foo?sslContextParameters=#sslContextParameters"/>
+...
+----------------------------------------------------------------------------------
diff --git a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
deleted file mode 120000
index 0874e84..0000000
--- a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
new file mode 100644
index 0000000..e017eca
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
@@ -0,0 +1,187 @@
+= AHC Websocket Component
+
+*Available as of Camel version 2.14*
+
+
+The AHC-WS component provides Websocket
+based endpoints for a client communicating with
+external servers over Websocket (as a client opening a websocket
+connection to an external server). +
+The component uses the xref:ahc-component.adoc[AHC] component that in turn uses
+the 
+https://github.com/AsyncHttpClient/async-http-client[Async Http Client] 
+library.
+
+Maven users will need to add the following dependency to
+their `pom.xml` for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-ahc-ws</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== URI Format
+
+[source,java]
+-------------------------------------------------
+ahc-ws://hostname[:port][/resourceUri][?options]
+ahc-wss://hostname[:port][/resourceUri][?options]
+-------------------------------------------------
+
+Will by default use port 80 for ahc-ws and 443 for ahc-wss.
+
+== AHC-WS Options
+
+As the AHC-WS component is based on the AHC component, you can use the
+various configuration options of the AHC component.
+
+
+
+// component options: START
+The AHC Websocket component supports 8 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *client* (advanced) | To use a custom AsyncHttpClient |  | AsyncHttpClient
+| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
+| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
+| *sslContextParameters* (security) | Reference to a org.apache.camel.util.jsse.SSLContextParameters in the Registry. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
+| *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
+| *useGlobalSslContext Parameters* (security) | Enable usage of global SSL context parameters. | false | boolean
+| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AHC Websocket endpoint is configured using URI syntax:
+
+----
+ahc-ws:httpUri
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *httpUri* | *Required* The URI to use such as http://hostname:port/path |  | URI
+|===
+
+
+==== Query Parameters (18 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeEndpoint* (common) | If the option is true, then the Exchange.HTTP_URI header is ignored, and use the endpoint's URI for request. You may also set the throwExceptionOnFailure to be false to let the AhcProducer send all the fault response back. | false | boolean
+| *bufferSize* (common) | The initial in-memory buffer size used when transferring data between Camel and AHC Client. | 4096 | int
+| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *throwExceptionOnFailure* (common) | Option to disable throwing the AhcOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
+| *transferException* (common) | If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type (for example using Jetty or Servlet Camel components). On the producer side the exception will be deserialized and thrown as is, instead of the AhcOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable [...]
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *sendMessageOnError* (consumer) | Whether to send an message if the web-socket listener received an error. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *connectionClose* (producer) | Define if the Connection Close header has to be added to HTTP Request. This parameter is false by default | false | boolean
+| *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
+| *useStreaming* (producer) | To enable streaming to send data as multiple text fragments. | false | boolean
+| *binding* (advanced) | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. |  | AhcBinding
+| *clientConfig* (advanced) | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. |  | AsyncHttpClientConfig
+| *clientConfigOptions* (advanced) | To configure the AsyncHttpClientConfig using the key/values from the Map. |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *clientConfigRealmOptions* (security) | To configure the AsyncHttpClientConfig Realm using the key/values from the Map. |  | Map
+| *sslContextParameters* (security) | Reference to a org.apache.camel.util.jsse.SSLContextParameters in the Registry. This reference overrides any configured SSLContextParameters at the component level. See Using the JSSE Configuration Utility. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. |  | SSLContextParameters
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.ahc-ws.allow-java-serialized-object* | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | Boolean
+| *camel.component.ahc-ws.binding* | To use a custom AhcBinding which allows to control how to bind between AHC and Camel. The option is a org.apache.camel.component.ahc.AhcBinding type. |  | String
+| *camel.component.ahc-ws.client* | To use a custom AsyncHttpClient. The option is a org.asynchttpclient.AsyncHttpClient type. |  | String
+| *camel.component.ahc-ws.client-config* | To configure the AsyncHttpClient to use a custom com.ning.http.client.AsyncHttpClientConfig instance. The option is a org.asynchttpclient.AsyncHttpClientConfig type. |  | String
+| *camel.component.ahc-ws.enabled* | Enable ahc-ws component | true | Boolean
+| *camel.component.ahc-ws.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
+| *camel.component.ahc-ws.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.ahc-ws.ssl-context-parameters* | Reference to a org.apache.camel.util.jsse.SSLContextParameters in the Registry. Note that configuring this option will override any SSL/TLS configuration options provided through the clientConfig option at the endpoint or component level. The option is a org.apache.camel.util.jsse.SSLContextParameters type. |  | String
+| *camel.component.ahc-ws.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+== Writing and Reading Data over Websocket
+
+An ahc-ws endpoint can either write data to the socket or read from the
+socket, depending on whether the endpoint is configured as the producer
+or the consumer, respectively.
+
+== Configuring URI to Write or Read Data
+
+In the route below, Camel will write to the specified websocket
+connection.
+
+[source,java]
+-----------------------------------
+from("direct:start")
+        .to("ahc-ws://targethost");
+-----------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+------------------------------------------------------------
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <to uri="ahc-ws://targethost"/>
+  </route>
+</camelContext>
+------------------------------------------------------------
+
+In the route below, Camel will read from the specified websocket
+connection.
+
+[source,java]
+---------------------------
+from("ahc-ws://targethost")
+        .to("direct:next");
+---------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+------------------------------------------------------------
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="ahc-ws://targethost"/>
+    <to uri="direct:next"/>
+  </route>
+</camelContext>
+------------------------------------------------------------
+
+ 
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc b/docs/components/modules/ROOT/pages/amqp-component.adoc
deleted file mode 120000
index 68e2a4f..0000000
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-amqp/src/main/docs/amqp-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc b/docs/components/modules/ROOT/pages/amqp-component.adoc
new file mode 100644
index 0000000..989e86b
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -0,0 +1,466 @@
+= AMQP Component
+
+*Available as of Camel version 1.2*
+
+
+The AMQP component supports the
+http://www.amqp.org/[AMQP 1.0 protocol]
+using the JMS Client API of the http://qpid.apache.org/[Qpid]
+project.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-amqp</artifactId>
+    <version>${camel.version}</version> <!-- use the same version as your Camel core version -->
+</dependency>
+----
+
+== URI format
+
+[source,java]
+----
+amqp:[queue:|topic:]destinationName[?options]
+----
+
+== AMQP Options
+
+You can specify all of the various configuration options of the
+xref:jms-component.adoc[JMS] component after the destination name.
+
+
+
+
+// component options: START
+The AMQP component supports 80 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | To use a shared JMS configuration |  | JmsConfiguration
+| *acceptMessagesWhile Stopping* (consumer) | Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on t [...]
+| *allowReplyManagerQuick Stop* (consumer) | Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag. | false  [...]
+| *acknowledgementMode* (consumer) | The JMS acknowledgement mode defined as an Integer. Allows you to set vendor-specific extensions to the acknowledgment mode.For the regular modes, it is preferable to use the acknowledgementModeName instead. |  | int
+| *eagerLoadingOf Properties* (consumer) | Enables eager loading of JMS properties as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties | false | boolean
+| *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ ACKNOWLEDGE | String
+| *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
+| *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
+| *cacheLevelName* (consumer) | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. | CACHE_AUTO | String
+| *replyToCacheLevelName* (producer) | Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE [...]
+| *clientId* (common) | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
+| *concurrentConsumers* (consumer) | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | int
+| *replyToConcurrent Consumers* (producer) | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | int
+| *connectionFactory* (common) | The connection factory to be use. A connection factory must be configured either on the component or endpoint. |  | ConnectionFactory
+| *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
+| *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
+| *deliveryPersistent* (producer) | Specifies whether persistent delivery is used by default. | true | boolean
+| *deliveryMode* (producer) | Specifies the delivery mode to be used. Possibles values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. |  | Integer
+| *durableSubscriptionName* (common) | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
+| *exceptionListener* (advanced) | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. |  | ExceptionListener
+| *errorHandler* (advanced) | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler. [...]
+| *errorHandlerLogging Level* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. | WARN | LoggingLevel
+| *errorHandlerLogStack Trace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
+| *explicitQosEnabled* (producer) | Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers. | false | boolean
+| *exposeListenerSession* (consumer) | Specifies whether the listener session should be exposed when consuming messages. | false | boolean
+| *idleTaskExecutionLimit* (advanced) | Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring. | 1 | int
+| *idleConsumerLimit* (advanced) | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | int
+| *maxConcurrentConsumers* (consumer) | Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. |  | int
+| *replyToMaxConcurrent Consumers* (producer) | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. |  | int
+| *replyOnTimeoutToMax ConcurrentConsumers* (producer) | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | int
+| *maxMessagesPerTask* (advanced) | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required. | -1 | int
+| *messageConverter* (advanced) | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. |  | MessageConverter
+| *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | boolean
+| *messageIdEnabled* (advanced) | When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker.If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value | true | boolean
+| *messageTimestampEnabled* (advanced) | Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker.If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value | true | boolean
+| *alwaysCopyMessage* (producer) | If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set) | false | boolean
+| *useMessageIDAs CorrelationID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
+| *priority* (producer) | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. | 4 | int
+| *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean
+| *receiveTimeout* (advanced) | The timeout for receiving messages (in milliseconds). | 1000 | long
+| *recoveryInterval* (advanced) | Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds. | 5000 | long
+| *taskExecutor* (consumer) | Allows you to specify a custom task executor for consuming messages. |  | TaskExecutor
+| *timeToLive* (producer) | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | long
+| *transacted* (transaction) | Specifies whether to use transacted mode | false | boolean
+| *lazyCreateTransaction Manager* (transaction) | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | boolean
+| *transactionManager* (transaction) | The Spring transaction manager to use. |  | PlatformTransaction Manager
+| *transactionName* (transaction) | The name of the transaction to use. |  | String
+| *transactionTimeout* (transaction) | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | int
+| *testConnectionOn Startup* (common) | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | boolean
+| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, the [...]
+| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | boolean
+| *forceSendOriginal Message* (producer) | When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received. | false | boolean
+| *requestTimeout* (producer) | The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option. | 20000 | long
+| *requestTimeoutChecker Interval* (advanced) | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000 | long
+| *transferExchange* (advanced) | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an E [...]
+| *transferException* (advanced) | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes preced [...]
+| *transferFault* (advanced) | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed with a SOAP fault (not exception) on the consumer side, then the fault flag on Message#isFault() will be send back in the response as a JMS header with the key org.apache.camel.component.jms.JmsConstants#JMS_TRANSFER_FAULT#JMS_TRANSFER_FAULT. If the client is Camel, the returned fault flag will be set on the org.apache.camel.Message#setFault(boolean). You may want to enable  [...]
+| *jmsOperations* (advanced) | Allows you to use your own implementation of the org.springframework.jms.core.JmsOperations interface. Camel uses JmsTemplate as default. Can be used for testing purpose, but not used much as stated in the spring API docs. |  | JmsOperations
+| *destinationResolver* (advanced) | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). |  | DestinationResolver
+| *replyToType* (producer) | Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running  [...]
+| *preserveMessageQos* (producer) | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnable [...]
+| *asyncConsumer* (consumer) | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transac [...]
+| *allowNullBody* (producer) | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | boolean
+| *includeSentJMS MessageID* (producer) | Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination. | false | boolean
+| *includeAllJMSX Properties* (advanced) | Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply. | false | boolean
+| *defaultTaskExecutor Type* (consumer) | Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAs [...]
+| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache [...]
+| *allowAdditionalHeaders* (producer) | This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching. |  | String
+| *queueBrowseStrategy* (advanced) | To use a custom QueueBrowseStrategy when browsing queues |  | QueueBrowseStrategy
+| *messageCreatedStrategy* (advanced) | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. |  | MessageCreatedStrategy
+| *waitForProvision CorrelationToBeUpdated Counter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
+| *waitForProvision CorrelationToBeUpdated ThreadSleepingTime* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
+| *correlationProperty* (producer) | Use this JMS property to correlate messages in InOut exchange pattern (request-reply) instead of JMSCorrelationID property. This allows you to exchange messages with systems that do not correlate messages using JMSCorrelationID JMS property. If used JMSCorrelationID will not be used or set by Camel. The value of here named property will be generated if not supplied in the header of the message under the same name. |  | String
+| *subscriptionDurable* (consumer) | Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomai [...]
+| *subscriptionShared* (consumer) | Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscrip [...]
+| *subscriptionName* (consumer) | Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0). |  | String
+| *streamMessageType Enabled* (producer) | Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until n [...]
+| *formatDateHeadersTo Iso8601* (producer) | Sets whether date headers should be formatted according to the ISO 8601 standard. | false | boolean
+| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+
+// endpoint options: START
+The AMQP endpoint is configured using URI syntax:
+
+----
+amqp:destinationType:destinationName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (2 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *destinationType* | The kind of destination to use | queue | String
+| *destinationName* | *Required* Name of the queue or topic to use as destination |  | String
+|===
+
+
+==== Query Parameters (91 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *clientId* (common) | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
+| *connectionFactory* (common) | The connection factory to be use. A connection factory must be configured either on the component or endpoint. |  | ConnectionFactory
+| *disableReplyTo* (common) | Specifies whether Camel ignores the JMSReplyTo header in messages. If true, Camel does not send a reply back to the destination specified in the JMSReplyTo header. You can use this option if you want Camel to consume from a route and you do not want Camel to automatically send back a reply message because another component in your code handles the reply message. You can also use this option if you want to use Camel as a proxy between different message broker [...]
+| *durableSubscriptionName* (common) | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
+| *jmsMessageType* (common) | Allows you to force the use of a specific javax.jms.Message implementation for sending JMS messages. Possible values are: Bytes, Map, Object, Stream, Text. By default, Camel would determine which JMS message type to use from the In body type. This option allows you to specify it. |  | JmsMessageType
+| *testConnectionOnStartup* (common) | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | boolean
+| *acknowledgementModeName* (consumer) | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ ACKNOWLEDGE | String
+| *asyncConsumer* (consumer) | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note if transac [...]
+| *autoStartup* (consumer) | Specifies whether the consumer container should auto-startup. | true | boolean
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *cacheLevel* (consumer) | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | int
+| *cacheLevelName* (consumer) | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. | CACHE_AUTO | String
+| *concurrentConsumers* (consumer) | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | int
+| *maxConcurrentConsumers* (consumer) | Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. |  | int
+| *replyTo* (consumer) | Provides an explicit ReplyTo destination, which overrides any incoming value of Message.getJMSReplyTo(). |  | String
+| *replyToDeliveryPersistent* (consumer) | Specifies whether to use persistent delivery by default for replies. | true | boolean
+| *selector* (consumer) | Sets the JMS selector to use |  | String
+| *subscriptionDurable* (consumer) | Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the pubSubDomai [...]
+| *subscriptionName* (consumer) | Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS 2.0). |  | String
+| *subscriptionShared* (consumer) | Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined with subscrip [...]
+| *acceptMessagesWhileStopping* (consumer) | Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead letter queue on th [...]
+| *allowReplyManagerQuickStop* (consumer) | Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this flag. | false | [...]
+| *consumerType* (consumer) | The consumer type to use, which can be one of: Simple, Default, or Custom. The consumer type determines which Spring JMS listener to use. Default will use org.springframework.jms.listener.DefaultMessageListenerContainer, Simple will use org.springframework.jms.listener.SimpleMessageListenerContainer. When Custom is specified, the MessageListenerContainerFactory defined by the messageListenerContainerFactory option will determine what org.springframework.jms. [...]
+| *defaultTaskExecutorType* (consumer) | Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints and SimpleAsy [...]
+| *eagerLoadingOfProperties* (consumer) | Enables eager loading of JMS properties and payload as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *exposeListenerSession* (consumer) | Specifies whether the listener session should be exposed when consuming messages. | false | boolean
+| *replyToSameDestination Allowed* (consumer) | Whether a JMS consumer is allowed to send a reply message to the same destination that the consumer is using to consume from. This prevents an endless loop by consuming and sending back the same message to itself. | false | boolean
+| *taskExecutor* (consumer) | Allows you to specify a custom task executor for consuming messages. |  | TaskExecutor
+| *deliveryMode* (producer) | Specifies the delivery mode to be used. Possibles values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. |  | Integer
+| *deliveryPersistent* (producer) | Specifies whether persistent delivery is used by default. | true | boolean
+| *explicitQosEnabled* (producer) | Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers. | false | Boolean
+| *formatDateHeadersToIso8601* (producer) | Sets whether JMS date properties should be formatted according to the ISO 8601 standard. | false | boolean
+| *preserveMessageQos* (producer) | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The explicitQosEnable [...]
+| *priority* (producer) | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. | 4 | int
+| *replyToConcurrentConsumers* (producer) | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | int
+| *replyToMaxConcurrent Consumers* (producer) | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. |  | int
+| *replyToOnTimeoutMax ConcurrentConsumers* (producer) | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | int
+| *replyToOverride* (producer) | Provides an explicit ReplyTo destination in the JMS message, which overrides the setting of replyTo. It is useful if you want to forward the message to a remote Queue and receive the reply message from the ReplyTo destination. |  | String
+| *replyToType* (producer) | Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications if running  [...]
+| *requestTimeout* (producer) | The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option. | 20000 | long
+| *timeToLive* (producer) | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | long
+| *allowAdditionalHeaders* (producer) | This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching. |  | String
+| *allowNullBody* (producer) | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | boolean
+| *alwaysCopyMessage* (producer) | If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set) | false | boolean
+| *correlationProperty* (producer) | When using InOut exchange pattern use this JMS property instead of JMSCorrelationID JMS property to correlate messages. If set messages will be correlated solely on the value of this property JMSCorrelationID property will be ignored and not set by Camel. |  | String
+| *disableTimeToLive* (producer) | Use this option to force disabling time to live. For example when you do request/reply over JMS, then Camel will by default use the requestTimeout value as time to live on the message being sent. The problem is that the sender and receiver systems have to have their clocks synchronized, so they are in sync. This is not always so easy to archive. So you can use disableTimeToLive=true to not set a time to live value on the sent message. Then the message w [...]
+| *forceSendOriginalMessage* (producer) | When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received. | false | boolean
+| *includeSentJMSMessageID* (producer) | Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination. | false | boolean
+| *replyToCacheLevelName* (producer) | Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary queues then CACHE [...]
+| *replyToDestinationSelector Name* (producer) | Sets the JMS Selector using the fixed name to be used so you can filter out your own replies from the others when using a shared queue (that is, if you are not using a temporary reply queue). |  | String
+| *streamMessageTypeEnabled* (producer) | Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMessage until no [...]
+| *allowSerializedHeaders* (advanced) | Controls whether or not to include serialized headers. Applies only when transferExchange is true. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. | false | boolean
+| *asyncStartListener* (advanced) | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option is used, the [...]
+| *asyncStopListener* (advanced) | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | boolean
+| *destinationResolver* (advanced) | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). |  | DestinationResolver
+| *errorHandler* (advanced) | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom errorHandler. [...]
+| *exceptionListener* (advanced) | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. |  | ExceptionListener
+| *headerFilterStrategy* (advanced) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *idleConsumerLimit* (advanced) | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | int
+| *idleTaskExecutionLimit* (advanced) | Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring. | 1 | int
+| *includeAllJMSXProperties* (advanced) | Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply. | false | boolean
+| *jmsKeyFormatStrategy* (advanced) | Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of the org.apache [...]
+| *mapJmsMessage* (advanced) | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | boolean
+| *maxMessagesPerTask* (advanced) | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required. | -1 | int
+| *messageConverter* (advanced) | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. |  | MessageConverter
+| *messageCreatedStrategy* (advanced) | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. |  | MessageCreatedStrategy
+| *messageIdEnabled* (advanced) | When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker.If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value | true | boolean
+| *messageListenerContainer Factory* (advanced) | Registry ID of the MessageListenerContainerFactory used to determine what org.springframework.jms.listener.AbstractMessageListenerContainer to use to consume messages. Setting this will automatically set consumerType to Custom. |  | MessageListener ContainerFactory
+| *messageTimestampEnabled* (advanced) | Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker.If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value | true | boolean
+| *pubSubNoLocal* (advanced) | Specifies whether to inhibit the delivery of messages published by its own connection. | false | boolean
+| *receiveTimeout* (advanced) | The timeout for receiving messages (in milliseconds). | 1000 | long
+| *recoveryInterval* (advanced) | Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds. | 5000 | long
+| *requestTimeoutChecker Interval* (advanced) | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000 | long
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *transferException* (advanced) | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option takes preced [...]
+| *transferExchange* (advanced) | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the payloads is an E [...]
+| *transferFault* (advanced) | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed with a SOAP fault (not exception) on the consumer side, then the fault flag on Message#isFault() will be send back in the response as a JMS header with the key org.apache.camel.component.jms.JmsConstants#JMS_TRANSFER_FAULT#JMS_TRANSFER_FAULT. If the client is Camel, the returned fault flag will be set on the org.apache.camel.Message#setFault(boolean). You may want to enable  [...]
+| *useMessageIDAsCorrelation ID* (advanced) | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | boolean
+| *waitForProvisionCorrelation ToBeUpdatedCounter* (advanced) | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | int
+| *waitForProvisionCorrelation ToBeUpdatedThreadSleeping Time* (advanced) | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | long
+| *errorHandlerLoggingLevel* (logging) | Allows to configure the default errorHandler logging level for logging uncaught exceptions. | WARN | LoggingLevel
+| *errorHandlerLogStackTrace* (logging) | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | boolean
+| *password* (security) | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
+| *username* (security) | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
+| *transacted* (transaction) | Specifies whether to use transacted mode | false | boolean
+| *lazyCreateTransaction Manager* (transaction) | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | boolean
+| *transactionManager* (transaction) | The Spring transaction manager to use. |  | PlatformTransaction Manager
+| *transactionName* (transaction) | The name of the transaction to use. |  | String
+| *transactionTimeout* (transaction) | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | int
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 81 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.amqp.accept-messages-while-stopping* | Specifies whether the consumer accept messages while it is stopping. You may consider enabling this option, if you start and stop JMS routes at runtime, while there are still messages enqueued on the queue. If this option is false, and you stop the JMS route, then messages may be rejected, and the JMS broker would have to attempt redeliveries, which yet again may be rejected, and eventually the message may be moved at a dead lette [...]
+| *camel.component.amqp.acknowledgement-mode* | The JMS acknowledgement mode defined as an Integer. Allows you to set vendor-specific extensions to the acknowledgment mode.For the regular modes, it is preferable to use the acknowledgementModeName instead. |  | Integer
+| *camel.component.amqp.acknowledgement-mode-name* | The JMS acknowledgement name, which is one of: SESSION_TRANSACTED, CLIENT_ACKNOWLEDGE, AUTO_ACKNOWLEDGE, DUPS_OK_ACKNOWLEDGE | AUTO_ ACKNOWLEDGE | String
+| *camel.component.amqp.allow-additional-headers* | This option is used to allow additional headers which may have values that are invalid according to JMS specification. For example some message systems such as WMQ do this with header names using prefix JMS_IBM_MQMD_ containing values with byte array or other invalid types. You can specify multiple header names separated by comma, and use as suffix for wildcard matching. |  | String
+| *camel.component.amqp.allow-null-body* | Whether to allow sending messages with no body. If this option is false and the message body is null, then an JMSException is thrown. | true | Boolean
+| *camel.component.amqp.allow-reply-manager-quick-stop* | Whether the DefaultMessageListenerContainer used in the reply managers for request-reply messaging allow the DefaultMessageListenerContainer.runningAllowed flag to quick stop in case JmsConfiguration#isAcceptMessagesWhileStopping is enabled, and org.apache.camel.CamelContext is currently being stopped. This quick stop ability is enabled by default in the regular JMS consumers but to enable for reply managers you must enable this f [...]
+| *camel.component.amqp.always-copy-message* | If true, Camel will always make a JMS message copy of the message when it is passed to the producer for sending. Copying the message is needed in some situations, such as when a replyToDestinationSelectorName is set (incidentally, Camel will set the alwaysCopyMessage option to true, if a replyToDestinationSelectorName is set) | false | Boolean
+| *camel.component.amqp.async-consumer* | Whether the JmsConsumer processes the Exchange asynchronously. If enabled then the JmsConsumer may pickup the next message from the JMS queue, while the previous message is being processed asynchronously (by the Asynchronous Routing Engine). This means that messages may be processed not 100% strictly in order. If disabled (as default) then the Exchange is fully processed before the JmsConsumer will pickup the next message from the JMS queue. Note [...]
+| *camel.component.amqp.async-start-listener* | Whether to startup the JmsConsumer message listener asynchronously, when starting a route. For example if a JmsConsumer cannot get a connection to a remote JMS broker, then it may block while retrying and/or failover. This will cause Camel to block while starting routes. By setting this option to true, you will let routes startup, while the JmsConsumer connects to the JMS broker using a dedicated thread in asynchronous mode. If this option  [...]
+| *camel.component.amqp.async-stop-listener* | Whether to stop the JmsConsumer message listener asynchronously, when stopping a route. | false | Boolean
+| *camel.component.amqp.auto-startup* | Specifies whether the consumer container should auto-startup. | true | Boolean
+| *camel.component.amqp.cache-level* | Sets the cache level by ID for the underlying JMS resources. See cacheLevelName option for more details. |  | Integer
+| *camel.component.amqp.cache-level-name* | Sets the cache level by name for the underlying JMS resources. Possible values are: CACHE_AUTO, CACHE_CONNECTION, CACHE_CONSUMER, CACHE_NONE, and CACHE_SESSION. The default setting is CACHE_AUTO. See the Spring documentation and Transactions Cache Levels for more information. | CACHE_AUTO | String
+| *camel.component.amqp.client-id* | Sets the JMS client ID to use. Note that this value, if specified, must be unique and can only be used by a single JMS connection instance. It is typically only required for durable topic subscriptions. If using Apache ActiveMQ you may prefer to use Virtual Topics instead. |  | String
+| *camel.component.amqp.concurrent-consumers* | Specifies the default number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. | 1 | Integer
+| *camel.component.amqp.configuration* | To use a shared JMS configuration. The option is a org.apache.camel.component.jms.JmsConfiguration type. |  | String
+| *camel.component.amqp.connection-factory* | The connection factory to be use. A connection factory must be configured either on the component or endpoint. The option is a javax.jms.ConnectionFactory type. |  | String
+| *camel.component.amqp.correlation-property* | Use this JMS property to correlate messages in InOut exchange pattern (request-reply) instead of JMSCorrelationID property. This allows you to exchange messages with systems that do not correlate messages using JMSCorrelationID JMS property. If used JMSCorrelationID will not be used or set by Camel. The value of here named property will be generated if not supplied in the header of the message under the same name. |  | String
+| *camel.component.amqp.default-task-executor-type* | Specifies what default TaskExecutor type to use in the DefaultMessageListenerContainer, for both consumer endpoints and the ReplyTo consumer of producer endpoints. Possible values: SimpleAsync (uses Spring's SimpleAsyncTaskExecutor) or ThreadPool (uses Spring's ThreadPoolTaskExecutor with optimal values - cached threadpool-like). If not set, it defaults to the previous behaviour, which uses a cached thread pool for consumer endpoints  [...]
+| *camel.component.amqp.delivery-mode* | Specifies the delivery mode to be used. Possibles values are those defined by javax.jms.DeliveryMode. NON_PERSISTENT = 1 and PERSISTENT = 2. |  | Integer
+| *camel.component.amqp.delivery-persistent* | Specifies whether persistent delivery is used by default. | true | Boolean
+| *camel.component.amqp.destination-resolver* | A pluggable org.springframework.jms.support.destination.DestinationResolver that allows you to use your own resolver (for example, to lookup the real destination in a JNDI registry). The option is a org.springframework.jms.support.destination.DestinationResolver type. |  | String
+| *camel.component.amqp.durable-subscription-name* | The durable subscriber name for specifying durable topic subscriptions. The clientId option must be configured as well. |  | String
+| *camel.component.amqp.eager-loading-of-properties* | Enables eager loading of JMS properties as soon as a message is loaded which generally is inefficient as the JMS properties may not be required but sometimes can catch early any issues with the underlying JMS provider and the use of JMS properties | false | Boolean
+| *camel.component.amqp.enabled* | Enable amqp component | true | Boolean
+| *camel.component.amqp.error-handler* | Specifies a org.springframework.util.ErrorHandler to be invoked in case of any uncaught exceptions thrown while processing a Message. By default these exceptions will be logged at the WARN level, if no errorHandler has been configured. You can configure logging level and whether stack traces should be logged using errorHandlerLoggingLevel and errorHandlerLogStackTrace options. This makes it much easier to configure, than having to code a custom er [...]
+| *camel.component.amqp.error-handler-log-stack-trace* | Allows to control whether stacktraces should be logged or not, by the default errorHandler. | true | Boolean
+| *camel.component.amqp.error-handler-logging-level* | Allows to configure the default errorHandler logging level for logging uncaught exceptions. |  | LoggingLevel
+| *camel.component.amqp.exception-listener* | Specifies the JMS Exception Listener that is to be notified of any underlying JMS exceptions. The option is a javax.jms.ExceptionListener type. |  | String
+| *camel.component.amqp.explicit-qos-enabled* | Set if the deliveryMode, priority or timeToLive qualities of service should be used when sending messages. This option is based on Spring's JmsTemplate. The deliveryMode, priority and timeToLive options are applied to the current endpoint. This contrasts with the preserveMessageQos option, which operates at message granularity, reading QoS properties exclusively from the Camel In message headers. | false | Boolean
+| *camel.component.amqp.expose-listener-session* | Specifies whether the listener session should be exposed when consuming messages. | false | Boolean
+| *camel.component.amqp.force-send-original-message* | When using mapJmsMessage=false Camel will create a new JMS message to send to a new JMS destination if you touch the headers (get or set) during the route. Set this option to true to force Camel to send the original JMS message that was received. | false | Boolean
+| *camel.component.amqp.format-date-headers-to-iso8601* | Sets whether date headers should be formatted according to the ISO 8601 standard. | false | Boolean
+| *camel.component.amqp.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
+| *camel.component.amqp.idle-consumer-limit* | Specify the limit for the number of consumers that are allowed to be idle at any given time. | 1 | Integer
+| *camel.component.amqp.idle-task-execution-limit* | Specifies the limit for idle executions of a receive task, not having received any message within its execution. If this limit is reached, the task will shut down and leave receiving to other executing tasks (in the case of dynamic scheduling; see the maxConcurrentConsumers setting). There is additional doc available from Spring. | 1 | Integer
+| *camel.component.amqp.include-all-j-m-s-x-properties* | Whether to include all JMSXxxx properties when mapping from JMS to Camel Message. Setting this to true will include properties such as JMSXAppID, and JMSXUserID etc. Note: If you are using a custom headerFilterStrategy then this option does not apply. | false | Boolean
+| *camel.component.amqp.include-sent-j-m-s-message-i-d* | Only applicable when sending to JMS destination using InOnly (eg fire and forget). Enabling this option will enrich the Camel Exchange with the actual JMSMessageID that was used by the JMS client when the message was sent to the JMS destination. | false | Boolean
+| *camel.component.amqp.jms-key-format-strategy* | Pluggable strategy for encoding and decoding JMS keys so they can be compliant with the JMS specification. Camel provides two implementations out of the box: default and passthrough. The default strategy will safely marshal dots and hyphens (. and -). The passthrough strategy leaves the key as is. Can be used for JMS brokers which do not care whether JMS header keys contain illegal characters. You can provide your own implementation of t [...]
+| *camel.component.amqp.jms-operations* | Allows you to use your own implementation of the org.springframework.jms.core.JmsOperations interface. Camel uses JmsTemplate as default. Can be used for testing purpose, but not used much as stated in the spring API docs. The option is a org.springframework.jms.core.JmsOperations type. |  | String
+| *camel.component.amqp.lazy-create-transaction-manager* | If true, Camel will create a JmsTransactionManager, if there is no transactionManager injected when option transacted=true. | true | Boolean
+| *camel.component.amqp.map-jms-message* | Specifies whether Camel should auto map the received JMS message to a suited payload type, such as javax.jms.TextMessage to a String etc. | true | Boolean
+| *camel.component.amqp.max-concurrent-consumers* | Specifies the maximum number of concurrent consumers when consuming from JMS (not for request/reply over JMS). See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. When doing request/reply over JMS then the option replyToMaxConcurrentConsumers is used to control number of concurrent consumers on the reply message listener. |  | Integer
+| *camel.component.amqp.max-messages-per-task* | The number of messages per task. -1 is unlimited. If you use a range for concurrent consumers (eg min max), then this option can be used to set a value to eg 100 to control how fast the consumers will shrink when less work is required. | -1 | Integer
+| *camel.component.amqp.message-converter* | To use a custom Spring org.springframework.jms.support.converter.MessageConverter so you can be in control how to map to/from a javax.jms.Message. The option is a org.springframework.jms.support.converter.MessageConverter type. |  | String
+| *camel.component.amqp.message-created-strategy* | To use the given MessageCreatedStrategy which are invoked when Camel creates new instances of javax.jms.Message objects when Camel is sending a JMS message. The option is a org.apache.camel.component.jms.MessageCreatedStrategy type. |  | String
+| *camel.component.amqp.message-id-enabled* | When sending, specifies whether message IDs should be added. This is just an hint to the JMS broker.If the JMS provider accepts this hint, these messages must have the message ID set to null; if the provider ignores the hint, the message ID must be set to its normal unique value | true | Boolean
+| *camel.component.amqp.message-timestamp-enabled* | Specifies whether timestamps should be enabled by default on sending messages. This is just an hint to the JMS broker.If the JMS provider accepts this hint, these messages must have the timestamp set to zero; if the provider ignores the hint the timestamp must be set to its normal value | true | Boolean
+| *camel.component.amqp.password* | Password to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
+| *camel.component.amqp.preserve-message-qos* | Set to true, if you want to send message using the QoS settings specified on the message, instead of the QoS settings on the JMS endpoint. The following three headers are considered JMSPriority, JMSDeliveryMode, and JMSExpiration. You can provide all or only some of them. If not provided, Camel will fall back to use the values from the endpoint instead. So, when using this option, the headers override the values from the endpoint. The expli [...]
+| *camel.component.amqp.priority* | Values greater than 1 specify the message priority when sending (where 0 is the lowest priority and 9 is the highest). The explicitQosEnabled option must also be enabled in order for this option to have any effect. | 4 | Integer
+| *camel.component.amqp.pub-sub-no-local* | Specifies whether to inhibit the delivery of messages published by its own connection. | false | Boolean
+| *camel.component.amqp.queue-browse-strategy* | To use a custom QueueBrowseStrategy when browsing queues. The option is a org.apache.camel.component.jms.QueueBrowseStrategy type. |  | String
+| *camel.component.amqp.receive-timeout* | The timeout for receiving messages (in milliseconds). | 1000 | Long
+| *camel.component.amqp.recovery-interval* | Specifies the interval between recovery attempts, i.e. when a connection is being refreshed, in milliseconds. The default is 5000 ms, that is, 5 seconds. | 5000 | Long
+| *camel.component.amqp.reply-on-timeout-to-max-concurrent-consumers* | Specifies the maximum number of concurrent consumers for continue routing when timeout occurred when using request/reply over JMS. | 1 | Integer
+| *camel.component.amqp.reply-to-cache-level-name* | Sets the cache level by name for the reply consumer when doing request/reply over JMS. This option only applies when using fixed reply queues (not temporary). Camel will by default use: CACHE_CONSUMER for exclusive or shared w/ replyToSelectorName. And CACHE_SESSION for shared without replyToSelectorName. Some JMS brokers such as IBM WebSphere may require to set the replyToCacheLevelName=CACHE_NONE to work. Note: If using temporary que [...]
+| *camel.component.amqp.reply-to-concurrent-consumers* | Specifies the default number of concurrent consumers when doing request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. | 1 | Integer
+| *camel.component.amqp.reply-to-max-concurrent-consumers* | Specifies the maximum number of concurrent consumers when using request/reply over JMS. See also the maxMessagesPerTask option to control dynamic scaling up/down of threads. |  | Integer
+| *camel.component.amqp.reply-to-type* | Allows for explicitly specifying which kind of strategy to use for replyTo queues when doing request/reply over JMS. Possible values are: Temporary, Shared, or Exclusive. By default Camel will use temporary queues. However if replyTo has been configured, then Shared is used by default. This option allows you to use exclusive queues instead of shared ones. See Camel JMS documentation for more details, and especially the notes about the implications [...]
+| *camel.component.amqp.request-timeout* | The timeout for waiting for a reply when using the InOut Exchange Pattern (in milliseconds). The default is 20 seconds. You can include the header CamelJmsRequestTimeout to override this endpoint configured timeout value, and thus have per message individual timeout values. See also the requestTimeoutCheckerInterval option. | 20000 | Long
+| *camel.component.amqp.request-timeout-checker-interval* | Configures how often Camel should check for timed out Exchanges when doing request/reply over JMS. By default Camel checks once per second. But if you must react faster when a timeout occurs, then you can lower this interval, to check more frequently. The timeout is determined by the option requestTimeout. | 1000 | Long
+| *camel.component.amqp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.amqp.stream-message-type-enabled* | Sets whether StreamMessage type is enabled or not. Message payloads of streaming kind such as files, InputStream, etc will either by sent as BytesMessage or StreamMessage. This option controls which kind will be used. By default BytesMessage is used which enforces the entire message payload to be read into memory. By enabling this option the message payload is read into memory in chunks and each chunk is then written to the StreamMes [...]
+| *camel.component.amqp.subscription-durable* | Set whether to make the subscription durable. The durable subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a durable subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Only makes sense when listening to a topic (pub-sub domain), therefore this method switches the  [...]
+| *camel.component.amqp.subscription-name* | Set the name of a subscription to create. To be applied in case of a topic (pub-sub domain) with a shared or durable subscription. The subscription name needs to be unique within this client's JMS client id. Default is the class name of the specified message listener. Note: Only 1 concurrent consumer (which is the default of this message listener container) is allowed for each subscription, except for a shared subscription (which requires JMS  [...]
+| *camel.component.amqp.subscription-shared* | Set whether to make the subscription shared. The shared subscription name to be used can be specified through the subscriptionName property. Default is false. Set this to true to register a shared subscription, typically in combination with a subscriptionName value (unless your message listener class name is good enough as subscription name). Note that shared subscriptions may also be durable, so this flag can (and often will) be combined wi [...]
+| *camel.component.amqp.task-executor* | Allows you to specify a custom task executor for consuming messages. The option is a org.springframework.core.task.TaskExecutor type. |  | String
+| *camel.component.amqp.test-connection-on-startup* | Specifies whether to test the connection on startup. This ensures that when Camel starts that all the JMS consumers have a valid connection to the JMS broker. If a connection cannot be granted then Camel throws an exception on startup. This ensures that Camel is not started with failed connections. The JMS producers is tested as well. | false | Boolean
+| *camel.component.amqp.time-to-live* | When sending messages, specifies the time-to-live of the message (in milliseconds). | -1 | Long
+| *camel.component.amqp.transacted* | Specifies whether to use transacted mode | false | Boolean
+| *camel.component.amqp.transaction-manager* | The Spring transaction manager to use. The option is a org.springframework.transaction.PlatformTransactionManager type. |  | String
+| *camel.component.amqp.transaction-name* | The name of the transaction to use. |  | String
+| *camel.component.amqp.transaction-timeout* | The timeout value of the transaction (in seconds), if using transacted mode. | -1 | Integer
+| *camel.component.amqp.transfer-exception* | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed on the consumer side, then the caused Exception will be send back in response as a javax.jms.ObjectMessage. If the client is Camel, the returned Exception is rethrown. This allows you to use Camel JMS as a bridge in your routing - for example, using persistent queues to enable robust routing. Notice that if you also have transferExchange enabled, this option t [...]
+| *camel.component.amqp.transfer-exchange* | You can transfer the exchange over the wire instead of just the body and headers. The following fields are transferred: In body, Out body, Fault body, In headers, Out headers, Fault headers, exchange properties, exchange exception. This requires that the objects are serializable. Camel will exclude any non-serializable objects and log it at WARN level. You must enable this option on both the producer and consumer side, so Camel knows the paylo [...]
+| *camel.component.amqp.transfer-fault* | If enabled and you are using Request Reply messaging (InOut) and an Exchange failed with a SOAP fault (not exception) on the consumer side, then the fault flag on Message#isFault() will be send back in the response as a JMS header with the key org.apache.camel.component.jms.JmsConstants #JMS_TRANSFER_FAULT#JMS_TRANSFER_FAULT. If the client is Camel, the returned fault flag will be set on the org.apache.camel.Message#setFault(boolean). You may wan [...]
+| *camel.component.amqp.use-message-i-d-as-correlation-i-d* | Specifies whether JMSMessageID should always be used as JMSCorrelationID for InOut messages. | false | Boolean
+| *camel.component.amqp.username* | Username to use with the ConnectionFactory. You can also configure username/password directly on the ConnectionFactory. |  | String
+| *camel.component.amqp.wait-for-provision-correlation-to-be-updated-counter* | Number of times to wait for provisional correlation id to be updated to the actual correlation id when doing request/reply over JMS and when the option useMessageIDAsCorrelationID is enabled. | 50 | Integer
+| *camel.component.amqp.wait-for-provision-correlation-to-be-updated-thread-sleeping-time* | Interval in millis to sleep each time while waiting for provisional correlation id to be updated. | 100 | Long
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+== Usage
+
+As AMQP component is inherited from JMS component, the usage of the
+former is almost identical to the latter:
+
+*Using AMQP component*
+
+[source,java]
+----
+// Consuming from AMQP queue
+from("amqp:queue:incoming").
+  to(...);
+ 
+// Sending message to the AMQP topic
+from(...).
+  to("amqp:topic:notify");
+----
+
+== Configuring AMQP component
+
+*Creating AMQP 1.0 component*
+
+[source,java]
+----
+AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
+ 
+AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");
+----
+
+You can also add an instance
+of `org.apache.camel.component.amqp.AMQPConnectionDetails` to the
+registry in order to automatically configure the AMQP component. For example for Spring Boot you just have to define bean:
+
+*AMQP connection details auto-configuration*
+
+[source,java]
+----
+@Bean
+AMQPConnectionDetails amqpConnection() {
+  return new AMQPConnectionDetails("amqp://localhost:5672"); 
+}
+ 
+@Bean
+AMQPConnectionDetails securedAmqpConnection() {
+  return new AMQPConnectionDetails("amqp://localhost:5672", "username", "password"); 
+}
+----
+
+Likewise, you can also use CDI producer methods when using Camel-CDI
+
+*AMQP connection details auto-configuration for CDI*
+
+[source,java]
+----
+@Produces
+AMQPConnectionDetails amqpConnection() {
+  return new AMQPConnectionDetails("amqp://localhost:5672");
+}
+----
+
+You can also rely on the xref:properties-component.adoc[Camel properties] to read
+the AMQP connection details. Factory
+method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
+properties in a Kubernetes-like convention, just as demonstrated on the
+snippet below:
+
+*AMQP connection details auto-configuration*
+
+[source,java]
+----
+export AMQP_SERVICE_HOST = "mybroker.com"
+export AMQP_SERVICE_PORT = "6666"
+export AMQP_SERVICE_USERNAME = "username"
+export AMQP_SERVICE_PASSWORD = "password"
+ 
+...
+ 
+@Bean
+AMQPConnectionDetails amqpConnection() {
+  return AMQPConnectionDetails.discoverAMQP(); 
+}
+----
+
+*Enabling AMQP specific options*
+
+If you, for example, need to enable `amqp.traceFrames` you can do that by appending the option to your URI, like the following example:
+
+[source,java]
+----
+AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672?amqp.traceFrames=true");
+----
+
+For reference take a look at the https://qpid.apache.org/releases/qpid-jms-0.29.0/docs/index.html[QPID JMS client configuration]
+
+== Using topics
+
+To have using topics working with `camel-amqp` you need to configure the
+component to use `topic://` as topic prefix, as shown below:
+
+[source,java]
+----
+ <bean id="amqp" class="org.apache.camel.component.amqp.AmqpComponent">
+   <property name="connectionFactory">
+     <bean class="org.apache.qpid.jms.JmsConnectionFactory" factory-method="createFromURL">
+       <property name="remoteURI" value="amqp://localhost:5672" />
+       <property name="topicPrefix" value="topic://" />  <!-- only necessary when connecting to ActiveMQ over AMQP 1.0 -->
+     </bean>
+   </property>
+ </bean>
+----
+
+Keep in mind that both  `AMQPComponent#amqpComponent()` methods and
+`AMQPConnectionDetails` pre-configure the component with the topic
+prefix, so you don't have to configure it explicitly.
diff --git a/docs/components/modules/ROOT/pages/apns-component.adoc b/docs/components/modules/ROOT/pages/apns-component.adoc
deleted file mode 120000
index 2b479f9..0000000
--- a/docs/components/modules/ROOT/pages/apns-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-apns/src/main/docs/apns-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/apns-component.adoc b/docs/components/modules/ROOT/pages/apns-component.adoc
new file mode 100644
index 0000000..41a5411
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/apns-component.adoc
@@ -0,0 +1,323 @@
+= APNS Component
+
+*Available as of Camel version 2.8*
+
+
+The APNS component is used for sending notifications to iOS devices.
+The APNS components use https://github.com/notnoop/java-apns[javapns]
+library. +
+ The component supports sending notifications to Apple Push Notification
+Servers (APNS) and consuming feedback from the servers.
+
+The consumer is configured with 3600 seconds for polling by default
+because it is a best practice to consume feedback stream from Apple Push
+Notification Servers only from time to time. For example: every 1 hour
+to avoid flooding the servers.
+
+The feedback stream gives informations about inactive devices. You only
+need to get this informations every some hours if your mobile
+application is not a heavily used one.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-apns</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== URI format
+
+To send notifications:
+
+[source,java]
+---------------------
+apns:notify[?options]
+---------------------
+
+To consume feedback:
+
+[source,java]
+-----------------------
+apns:consumer[?options]
+-----------------------
+
+== Options
+
+
+
+// component options: START
+The APNS component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *apnsService* (common) | *Required* The ApnsService to use. The org.apache.camel.component.apns.factory.ApnsServiceFactory can be used to build a ApnsService |  | ApnsService
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The APNS endpoint is configured using URI syntax:
+
+----
+apns:name
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *name* | Name of the endpoint |  | String
+|===
+
+
+==== Query Parameters (20 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *tokens* (common) | Configure this property in case you want to statically declare tokens related to devices you want to notify. Tokens are separated by comma. |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
+| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long
+| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
+| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
+| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
+| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
+| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
+| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
+| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 3 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.apns.apns-service* | The ApnsService to use. The org.apache.camel.component.apns.factory.ApnsServiceFactory can be used to build a ApnsService. The option is a com.notnoop.apns.ApnsService type. |  | String
+| *camel.component.apns.enabled* | Enable apns component | true | Boolean
+| *camel.component.apns.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+=== Component
+
+The `ApnsComponent` must be configured with a
+`com.notnoop.apns.ApnsService`. The service can be created and
+configured using the
+`org.apache.camel.component.apns.factory.ApnsServiceFactory`. See
+further below for an example. And as well in the
+https://github.com/apache/camel/tree/master/components/camel-apns[test
+source code].
+
+==== SSL Setting
+In order to use secure connection, an instance of `org.apache.camel.support.jsse.SSLContextParameters`
+ should be injected to `org.apache.camel.component.apns.factory.ApnsServiceFactory` which is
+ used to configure the component. See the test resources for an example.
+ https://github.com/apache/camel/blob/master/components/camel-apns/src/test/resources/org/apache/camel/component/apns/spring/SpringApnsConsumerTest-context.xml[ssl example]
+
+== Exchange data format
+
+When Camel will fetch feedback data corresponding to inactive devices,
+it will retrieve a List of InactiveDevice objects. Each InactiveDevice
+object of the retrieved list will be setted as the In body, and then
+processed by the consumer endpoint.
+
+== Message Headers
+
+Camel Apns uses these headers.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Property |Default |Description
+|`CamelApnsTokens` | |Empty by default.
+|`CamelApnsMessageType` |`STRING, PAYLOAD, APNS_NOTIFICATION`  |In case you choose PAYLOAD for the message type, then the message will
+be considered as a APNS payload and sent as is. In case you choose
+STRING, message will be converted as a APNS payload. From *Camel 2.16*
+onwards APNS_NOTIFICATION is used for sending message body as
+com.notnoop.apns.ApnsNotification types.
+|=======================================================================
+
+== ApnsServiceFactory builder callback
+
+`ApnsServiceFactory` comes with the empty callback method that could be
+used to configure (or even replace) the default `ApnsServiceBuilder`
+instance. The signature of the method could look as follows:
+
+[source,java]
+----------------------------------------------------------------------------------------
+protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder);
+----------------------------------------------------------------------------------------
+
+And could be used like as follows:
+
+[source,java]
+-------------------------------------------------------------------------------------------
+ApnsServiceFactory proxiedApnsServiceFactory = new ApnsServiceFactory(){
+  
+  @Override
+  protected ApnsServiceBuilder configureServiceBuilder(ApnsServiceBuilder serviceBuilder) {
+    return serviceBuilder.withSocksProxy("my.proxy.com", 6666);
+  }
+
+};
+-------------------------------------------------------------------------------------------
+
+== Samples
+
+=== Camel Xml route
+
+[source,xml]
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xmlns:camel="http://camel.apache.org/schema/spring"
+       xsi:schemaLocation="
+        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
+        http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
+
+    <!-- Replace by desired values -->
+    <bean id="apnsServiceFactory" class="org.apache.camel.component.apns.factory.ApnsServiceFactory">
+
+        <!-- Optional configuration of feedback host and port -->
+        <!-- <property name="feedbackHost" value="localhost" /> -->
+        <!-- <property name="feedbackPort" value="7843" /> -->
+
+        <!-- Optional configuration of gateway host and port -->
+        <!-- <property name="gatewayHost" value="localhost" /> -->
+        <!-- <property name="gatewayPort" value="7654" /> -->
+
+        <!-- Declaration of certificate used -->
+                <!-- from Camel 2.11 onwards you can use prefix: classpath:, file: to refer to load the certificate from classpath or file. Default it classpath -->
+        <property name="certificatePath" value="certificate.p12" />
+        <property name="certificatePassword" value="MyCertPassword" />
+
+        <!-- Optional connection strategy - By Default: No need to configure -->
+        <!-- Possible options: NON_BLOCKING, QUEUE, POOL or Nothing -->
+        <!-- <property name="connectionStrategy" value="POOL" /> -->
+        <!-- Optional pool size -->
+        <!-- <property name="poolSize" value="15" /> -->
+
+        <!-- Optional connection strategy - By Default: No need to configure -->
+        <!-- Possible options: EVERY_HALF_HOUR, EVERY_NOTIFICATION or Nothing (Corresponds to NEVER javapns option) -->
+        <!-- <property name="reconnectionPolicy" value="EVERY_HALF_HOUR" /> -->
+    </bean>
+
+    <bean id="apnsService" factory-bean="apnsServiceFactory" factory-method="getApnsService" />
+
+    <!-- Replace this declaration by wanted configuration -->
+    <bean id="apns" class="org.apache.camel.component.apns.ApnsComponent">
+        <property name="apnsService" ref="apnsService" />
+    </bean>
+
+    <camelContext id="camel-apns-test" xmlns="http://camel.apache.org/schema/spring">
+            <route id="apns-test">
+                    <from uri="apns:consumer?initialDelay=10&amp;delay=3600&amp;timeUnit=SECONDS" />
+                    <to uri="log:org.apache.camel.component.apns?showAll=true&amp;multiline=true" />
+                    <to uri="mock:result" />
+            </route>
+    </camelContext>
+
+</beans>
+--------------------------------------------------------------------------------------------------------------------------------------------------------------------
+
+=== Camel Java route
+
+[[APNS-Createcamelcontextanddeclareapnscomponentprogrammatically]]
+Create camel context and declare apns component programmatically
+
+[source,java]
+----------------------------------------------------------------------------------
+    protected CamelContext createCamelContext() throws Exception {
+        CamelContext camelContext = super.createCamelContext();
+
+        ApnsServiceFactory apnsServiceFactory = new ApnsServiceFactory();
+        apnsServiceFactory.setCertificatePath("classpath:/certificate.p12");
+        apnsServiceFactory.setCertificatePassword("MyCertPassword");
+
+        ApnsService apnsService = apnsServiceFactory.getApnsService(camelContext);
+
+        ApnsComponent apnsComponent = new ApnsComponent(apnsService);
+        camelContext.addComponent("apns", apnsComponent);
+
+        return camelContext;
+    }
+----------------------------------------------------------------------------------
+
+[[APNS-ApnsProducer-iOStargetdevicedynamicallyconfiguredviaheader:"CamelApnsTokens"]]
+ApnsProducer - iOS target device dynamically configured via header:
+`"CamelApnsTokens"`
+
+[source,java]
+---------------------------------------------------------------------------------------
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() throws Exception {
+                from("direct:test")
+                    .setHeader(ApnsConstants.HEADER_TOKENS, constant(IOS_DEVICE_TOKEN))
+                    .to("apns:notify");
+                }
+        }
+    }
+---------------------------------------------------------------------------------------
+
+[[APNS-ApnsProducer-iOStargetdevicestaticallyconfiguredviauri]]
+ApnsProducer - iOS target device statically configured via uri
+
+[source,java]
+------------------------------------------------------------------
+    protected RouteBuilder createRouteBuilder() throws Exception {
+        return new RouteBuilder() {
+            public void configure() throws Exception {
+                from("direct:test").
+                to("apns:notify?tokens=" + IOS_DEVICE_TOKEN);
+            }
+        };
+    }
+------------------------------------------------------------------
+
+[[APNS-ApnsConsumer]]
+ApnsConsumer
+
+[source,java]
+--------------------------------------------------------------------------
+from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
+    .to("log:com.apache.camel.component.apns?showAll=true&multiline=true")
+    .to("mock:result");
+--------------------------------------------------------------------------
diff --git a/docs/components/modules/ROOT/pages/as2-component.adoc b/docs/components/modules/ROOT/pages/as2-component.adoc
new file mode 100644
index 0000000..fa62211
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/as2-component.adoc
@@ -0,0 +1,273 @@
+= AS2 Component
+
+*Available as of Camel version 2.22*
+
+
+The AS2 component provides transport of EDI messages using the HTTP transfer protocol
+as specified in https://tools.ietf.org/html/rfc4130[RFC4130]. 
+
+NOTE: This component is currently a work in progress. Expect URI options and path and query parameters to change in future versions of this component.
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,xml]
+----
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-as2</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+----
+
+== URI format
+
+[source]
+----
+as2://apiName/methodName
+----
+
+apiName can be one of:
+
+* client
+* server
+
+
+== AS2 Options
+
+
+// component options: START
+The AS2 component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (common) | To use the shared configuration |  | AS2Configuration
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+// endpoint options: START
+The AS2 endpoint is configured using URI syntax:
+
+----
+as2:apiName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *apiName* | *Required* What kind of operation to perform |  | AS2ApiName
+|===
+
+
+==== Query Parameters (31 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *as2From* (common) | The value of the AS2From header of AS2 message. |  | String
+| *as2MessageStructure* (common) | The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature |  | AS2MessageStructure
+| *as2To* (common) | The value of the AS2To header of AS2 message. |  | String
+| *as2Version* (common) | The version of the AS2 protocol. | 1.1 | String
+| *clientFqdn* (common) | The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
+| *compressionAlgorithm* (common) | The algorithm used to compress EDI message. |  | AS2Compression Algorithm
+| *decryptingPrivateKey* (common) | The key used to encrypt the EDI message. |  | PrivateKey
+| *dispositionNotificationTo* (common) | The value of the Disposition-Notification-To header. Assigning a value to this parameter requests a message disposition notification (MDN) for the AS2 message. |  | String
+| *ediMessageTransferEncoding* (common) | The transfer encoding of EDI message. |  | String
+| *ediMessageType* (common) | The content type of EDI message. One of application/edifact, application/edi-x12, application/edi-consent |  | ContentType
+| *encryptingAlgorithm* (common) | The algorithm used to encrypt EDI message. |  | AS2EncryptionAlgorithm
+| *encryptingCertificateChain* (common) | The chain of certificates used to encrypt EDI message. |  | Certificate[]
+| *from* (common) | The value of the From header of AS2 message. |  | String
+| *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
+| *methodName* (common) | *Required* What sub operation to use for the selected operation |  | String
+| *requestUri* (common) | The request URI of EDI message. | / | String
+| *server* (common) | The value included in the Server message header identifying the AS2 Server. | Camel AS2 Server Endpoint | String
+| *serverFqdn* (common) | The Server Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
+| *serverPortNumber* (common) | The port number of server. |  | Integer
+| *signedReceiptMicAlgorithms* (common) | The list of algorithms, in order of preference, requested to generate a message integrity check (MIC) returned in message dispostion notification (MDN) |  | String[]
+| *signingAlgorithm* (common) | The algorithm used to sign EDI message. |  | AS2SignatureAlgorithm
+| *signingCertificateChain* (common) | The chain of certificates used to sign EDI message. |  | Certificate[]
+| *signingPrivateKey* (common) | The key used to sign the EDI message. |  | PrivateKey
+| *subject* (common) | The value of Subject header of AS2 message. |  | String
+| *targetHostname* (common) | The host name (IP or DNS name) of target host. |  | String
+| *targetPortNumber* (common) | The port number of target host. -1 indicates the scheme default port. |  | Integer
+| *userAgent* (common) | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 29 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.as2.configuration.api-name* | What kind of operation to perform |  | AS2ApiName
+| *camel.component.as2.configuration.as2-from* | The value of the AS2From header of AS2 message. |  | String
+| *camel.component.as2.configuration.as2-message-structure* | The structure of AS2 Message. One of: PLAIN - No encryption, no signature, SIGNED - No encryption, signature, ENCRYPTED - Encryption, no signature, ENCRYPTED_SIGNED - Encryption, signature |  | AS2MessageStructure
+| *camel.component.as2.configuration.as2-to* | The value of the AS2To header of AS2 message. |  | String
+| *camel.component.as2.configuration.as2-version* | The version of the AS2 protocol. | 1.1 | String
+| *camel.component.as2.configuration.client-fqdn* | The Client Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
+| *camel.component.as2.configuration.compression-algorithm* | The algorithm used to compress EDI message. |  | AS2Compression Algorithm
+| *camel.component.as2.configuration.decrypting-private-key* | The key used to encrypt the EDI message. |  | PrivateKey
+| *camel.component.as2.configuration.disposition-notification-to* | The value of the Disposition-Notification-To header. Assigning a value to this parameter requests a message disposition notification (MDN) for the AS2 message. |  | String
+| *camel.component.as2.configuration.edi-message-transfer-encoding* | The transfer encoding of EDI message. |  | String
+| *camel.component.as2.configuration.edi-message-type* | The content type of EDI message. One of application/edifact, application/edi-x12, application/edi-consent |  | ContentType
+| *camel.component.as2.configuration.encrypting-algorithm* | The algorithm used to encrypt EDI message. |  | AS2EncryptionAlgorithm
+| *camel.component.as2.configuration.encrypting-certificate-chain* | The chain of certificates used to encrypt EDI message. |  | Certificate[]
+| *camel.component.as2.configuration.from* | The value of the From header of AS2 message. |  | String
+| *camel.component.as2.configuration.method-name* | What sub operation to use for the selected operation |  | String
+| *camel.component.as2.configuration.request-uri* | The request URI of EDI message. | / | String
+| *camel.component.as2.configuration.server* | The value included in the Server message header identifying the AS2 Server. | Camel AS2 Server Endpoint | String
+| *camel.component.as2.configuration.server-fqdn* | The Server Fully Qualified Domain Name (FQDN). Used in message ids sent by endpoint. | camel.apache.org | String
+| *camel.component.as2.configuration.server-port-number* | The port number of server. |  | Integer
+| *camel.component.as2.configuration.signed-receipt-mic-algorithms* | The list of algorithms, in order of preference, requested to generate a message integrity check (MIC) returned in message dispostion notification (MDN) |  | String[]
+| *camel.component.as2.configuration.signing-algorithm* | The algorithm used to sign EDI message. |  | AS2SignatureAlgorithm
+| *camel.component.as2.configuration.signing-certificate-chain* | The chain of certificates used to sign EDI message. |  | Certificate[]
+| *camel.component.as2.configuration.signing-private-key* | The key used to sign the EDI message. |  | PrivateKey
+| *camel.component.as2.configuration.subject* | The value of Subject header of AS2 message. |  | String
+| *camel.component.as2.configuration.target-hostname* | The host name (IP or DNS name) of target host. |  | String
+| *camel.component.as2.configuration.target-port-number* | The port number of target host. -1 indicates the scheme default port. |  | Integer
+| *camel.component.as2.configuration.user-agent* | The value included in the User-Agent message header identifying the AS2 user agent. | Camel AS2 Client Endpoint | String
+| *camel.component.as2.enabled* | Whether to enable auto configuration of the as2 component. This is enabled by default. |  | Boolean
+| *camel.component.as2.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+== Client Endpoints:
+
+Client endpoints use the endpoint prefix *`client`* followed by the name of a method
+and associated options described next. The endpoint URI MUST contain the prefix *`client`*.
+
+[source]
+----
+as2://client/method?[options]
+----
+
+Endpoint options that are not mandatory are denoted by *[]*. When there
+are no mandatory options for an endpoint, one of the set of *[]* options
+MUST be provided. Producer endpoints can also use a special
+option *`inBody`* that in turn should contain the name of the endpoint
+option whose value will be contained in the Camel Exchange In message.
+
+Any of the endpoint options can be provided in either the endpoint URI,
+or dynamically in a message header. The message header name must be of
+the format *`CamelAS2.<option>`*. Note that the *`inBody`* option
+overrides message header, i.e. the endpoint
+option *`inBody=option`* would override a *`CamelAS2.option`* header.
+
+If a value is not provided for the option *defaultRequest* either in the
+endpoint URI or in a message header, it will be assumed to be `null`.
+Note that the `null` value will only be used if other options do not
+satisfy matching endpoints.
+
+In case of AS2 API errors the endpoint will throw a
+RuntimeCamelException with a
+*org.apache.http.HttpException* derived exception
+cause.
+
+[width="100%",cols="10%,10%,70%",options="header"]
+|===
+|Method |Options |Result Body Type
+
+|send |ediMessage, requestUri, subject, from, as2From, as2To, as2MessageStructure, ediMessageContentType, ediMessageTransferEncoding, dispositionNotificationTo, signedReceiptMicAlgorithms |org.apache.http.protocol.HttpCoreContext
+|===
+
+URI Options for _client_
+
+
+[width="100%",cols="10%,90%",options="header"]
+|===
+|Name |Type
+
+|ediMessage |String
+
+|requestUri |String
+
+|subject |String
+
+|from |String
+
+|as2From |String
+
+|as2To |String
+
+|as2MessageStructure |org.apache.camel.component.as2.api.AS2MessageStructure
+
+|ediMessageContentType |String
+
+|ediMessageTransferEncoding |String
+
+|dispositionNotificationTo |String
+
+|signedReceiptMicAlgorithms |String[]
+|===
+
+
+== Server Endpoints:
+
+Server endpoints use the endpoint prefix *`server`* followed by the name of a method
+and associated options described next. The endpoint URI MUST contain the prefix *`server`*.
+
+[source]
+----
+as2://server/method?[options]
+----
+
+Endpoint options that are not mandatory are denoted by *[]*. When there
+are no mandatory options for an endpoint, one of the set of *[]* options
+MUST be provided. Producer endpoints can also use a special
+option *`inBody`* that in turn should contain the name of the endpoint
+option whose value will be contained in the Camel Exchange In message.
+
+Any of the endpoint options can be provided in either the endpoint URI,
+or dynamically in a message header. The message header name must be of
+the format *`CamelAS2.<option>`*. Note that the *`inBody`* option
+overrides message header, i.e. the endpoint
+option *`inBody=option`* would override a *`CamelAS2.option`* header.
+
+If a value is not provided for the option *defaultRequest* either in the
+endpoint URI or in a message header, it will be assumed to be `null`.
+Note that the `null` value will only be used if other options do not
+satisfy matching endpoints.
+
+In case of AS2 API errors the endpoint will throw a
+RuntimeCamelException with a
+*org.apache.http.HttpException* derived exception
+cause.
+
+[width="100%",cols="10%,10%,70%",options="header"]
+|===
+|Method |Options |Result Body Type
+
+|listen |requestUriPattern |org.apache.http.protocol.HttpCoreContext
+|===
+
+URI Options for _server_
+
+
+[width="100%",cols="10%,90%",options="header"]
+|===
+|Name |Type
+
+|requestUriPattern |String
+|===
diff --git a/docs/components/modules/ROOT/pages/asn1-dataformat.adoc b/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
deleted file mode 120000
index f5e5bcd..0000000
--- a/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-asn1/src/main/docs/asn1-dataformat.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/asn1-dataformat.adoc b/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
new file mode 100644
index 0000000..af1bf4e
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
@@ -0,0 +1,93 @@
+= ASN.1 File DataFormat
+
+*Available as of Camel version 2.20*
+
+
+The ASN.1 Data Format Data Format [Intoduction to ASN.1](https://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx) is a Camel Frameworks's data format implementation based on Bouncy Castle's bcprov-jdk15on library and jASN.1's java compiler for the formal notation used for describing data transmitted by telecommunications protocols, regardless of language implementation and physical representation of these data, whatever the application, whether complex or very simple. Messages can be u [...]
+
+== ASN.1 Data Format Options
+
+// dataformat options: START
+The ASN.1 File dataformat supports 3 options, which are listed below.
+
+
+
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|===
+| Name | Default | Java Type | Description
+| usingIterator | false | Boolean | If the asn1 file has more then one entry, the setting this option to true, allows to work with the splitter EIP, to split the data using an iterator in a streaming mode.
+| clazzName |  | String | Name of class to use when unmarshalling
+| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc.
+|===
+// dataformat options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 4 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.dataformat.asn1.clazz-name* | Name of class to use when unmarshalling |  | String
+| *camel.dataformat.asn1.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
+| *camel.dataformat.asn1.enabled* | Whether to enable auto configuration of the asn1 data format. This is enabled by default. |  | Boolean
+| *camel.dataformat.asn1.using-iterator* | If the asn1 file has more then one entry, the setting this option to true, allows to work with the splitter EIP, to split the data using an iterator in a streaming mode. | false | Boolean
+|===
+// spring-boot-auto-configure options: END
+ND
+
+== Unmarshal
+
+There are 3 different ways to unmarshal ASN.1 structured messages. (Usually binary files)
+
+In this first example we unmarshal BER file payload to OutputStream and send it to mock endpoint.
+
+[source,java]
+-----------------------------------------------------------------------
+from("direct:unmarshal").unmarshal(asn1).to("mock:unmarshal");
+-----------------------------------------------------------------------
+
+In the second example we unmarshal BER file payload to byte array using Split EIP. The reason for applying Split EIP is that usually each BER file or (ASN.1 structured file) contains multiple records to process and Split EIP helps us to get each record in a file as byte arrays which is actually ASN1Primitive's instance (by the use of Bouncy Castle's ASN.1 support in bcprov-jdk15on library)
+Byte arrays then may be converted to ASN1Primitive by the help of public static method in (ASN1Primitive.fromByteArray)
+In such example, note that you need to set `usingIterator=true`
+
+[source,java]
+-----------------------------------------------------------------------
+from("direct:unmarshal").unmarshal(asn1).split(body(Iterator.class)).streaming().to("mock:unmarshal");
+-----------------------------------------------------------------------
+
+In the last example we unmarshal BER file payload to plain old Java Objects using Split EIP. The reason for applying Split EIP is already mentioned in the previous example. Please note and keep in mind that reason. In such example we also need to set the fully qualified name of the class or <YourObject>.class reference through data format.
+The important thing to note here is that your object should have been generated by jasn1 compiler which is a nice tool to generate java object representations of your ASN.1 structure. For the reference usage of jasn1 compiler see [JASN.1 Project Page](https://www.beanit.com/asn1/) and please also see how the compiler is invoked with the help of maven's exec plugin.
+For example, in this data format's unit tests an example ASN.1 structure(TestSMSBerCdr.asn1) is added in `src/test/resources/asn1_structure`. jasn1 compiler is invoked and java object's representations are generated in `$\{basedir\}/target/generated/src/test/java`
+The nice thing about this example, you will get POJO instance at the mock endpoint or at whatever your endpoint is.    
+
+[source,java]
+-----------------------------------------------------------------------
+from("direct:unmarshaldsl")
+         .unmarshal()
+         .asn1("org.apache.camel.dataformat.asn1.model.testsmscbercdr.SmsCdr")
+         .split(body(Iterator.class)).streaming()
+.to("mock:unmarshaldsl");
+-----------------------------------------------------------------------
+
+== Dependencies
+
+To use ASN.1 data format in your camel routes you need to add a dependency on
+*camel-asn1* which implements this data format.
+
+If you use Maven you can just add the following to your `pom.xml`,
+substituting the version number for the latest & greatest release (see
+the download page for the latest versions).
+
+[source,xml]
+----------------------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-asn1</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------
diff --git a/docs/components/modules/ROOT/pages/asterisk-component.adoc b/docs/components/modules/ROOT/pages/asterisk-component.adoc
deleted file mode 120000
index d995dcb..0000000
--- a/docs/components/modules/ROOT/pages/asterisk-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-asterisk/src/main/docs/asterisk-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/asterisk-component.adoc b/docs/components/modules/ROOT/pages/asterisk-component.adoc
new file mode 100644
index 0000000..780f86e
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/asterisk-component.adoc
@@ -0,0 +1,93 @@
+= Asterisk Component
+
+*Available as of Camel version 2.18*
+
+
+The Asterisk component allows you to work easily with an Asterisk PBX Server http://www.asterisk.org/ using https://asterisk-java.org/[asterisk-java]
+
+This component help to interface with http://www.voip-info.org/wiki-Asterisk+manager+API[Asterisk Manager Interface]
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-asterisk</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== URI format
+
+[source,java]
+-------------------------------------------------------------------------------------------------------------------------
+asterisk:name[?options]
+-------------------------------------------------------------------------------------------------------------------------
+
+== Options
+
+// component options: START
+The Asterisk component has no options.
+// component options: END
+
+// endpoint options: START
+The Asterisk endpoint is configured using URI syntax:
+
+----
+asterisk:name
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *name* | *Required* Logical name |  | String
+|===
+
+
+==== Query Parameters (8 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *hostname* (common) | *Required* The hostname of the asterisk server |  | String
+| *password* (common) | *Required* Login password |  | String
+| *username* (common) | *Required* Login username |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *action* (producer) | What action to perform such as getting queue status, sip peers or extension state. |  | AsteriskAction
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.asterisk.enabled* | Enable asterisk component | true | Boolean
+| *camel.component.asterisk.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+== Action
+Supported actions are:
+
+* QUEUE_STATUS, Queue Status
+* SIP_PEERS, List SIP Peers
+* EXTENSION_STATE, Check Extension Status
diff --git a/docs/components/modules/ROOT/pages/atmos-component.adoc b/docs/components/modules/ROOT/pages/atmos-component.adoc
deleted file mode 120000
index 305fe95..0000000
--- a/docs/components/modules/ROOT/pages/atmos-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atmos/src/main/docs/atmos-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atmos-component.adoc b/docs/components/modules/ROOT/pages/atmos-component.adoc
new file mode 100644
index 0000000..b23d18d
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atmos-component.adoc
@@ -0,0 +1,167 @@
+= Atmos Component
+
+*Available as of Camel version 2.15*
+
+
+Camel-Atmos is an http://camel.apache.org/[Apache Camel] component that
+allows you to work with ViPR object data services using the
+https://github.com/emcvipr/dataservices-sdk-java[Atmos Client].
+
+[source,java]
+-------------------------------
+from("atmos:foo/get?remotePath=/path").to("mock:test");
+-------------------------------
+
+== Options
+
+
+// component options: START
+The Atmos component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *fullTokenId* (security) | The token id to pass to the Atmos client |  | String
+| *secretKey* (security) | The secret key to pass to the Atmos client |  | String
+| *uri* (advanced) | The URI of the server for the Atmos client to connect to |  | String
+| *sslValidation* (security) | Whether the Atmos client should perform SSL validation | false | boolean
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+// endpoint options: START
+The Atmos endpoint is configured using URI syntax:
+
+----
+atmos:name/operation
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (2 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *name* | Atmos name |  | String
+| *operation* | *Required* Operation to perform |  | AtmosOperation
+|===
+
+
+==== Query Parameters (12 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *enableSslValidation* (common) | Atmos SSL validation | false | boolean
+| *fullTokenId* (common) | Atmos client fullTokenId |  | String
+| *localPath* (common) | Local path to put files |  | String
+| *newRemotePath* (common) | New path on Atmos when moving files |  | String
+| *query* (common) | Search query on Atmos |  | String
+| *remotePath* (common) | Where to put files on Atmos |  | String
+| *secretKey* (common) | Atmos shared secret |  | String
+| *uri* (common) | Atomos server uri |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 6 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atmos.enabled* | Enable atmos component | true | Boolean
+| *camel.component.atmos.full-token-id* | The token id to pass to the Atmos client |  | String
+| *camel.component.atmos.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.atmos.secret-key* | The secret key to pass to the Atmos client |  | String
+| *camel.component.atmos.ssl-validation* | Whether the Atmos client should perform SSL validation | false | Boolean
+| *camel.component.atmos.uri* | The URI of the server for the Atmos client to connect to |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+== Dependencies
+
+To use Atmos in your camel routes you need to add the dependency
+on *camel-atmos* which implements this data format.
+
+If you use maven you could just add the following to your pom.xml,
+substituting the version number for the latest & greatest release (see
+the download page for the latest versions).
+
+[source,xml]
+----------------------------------------------------------
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atmos</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----------------------------------------------------------
+
+[[Atmos-Integrations]]
+
+== Integrations
+
+When you look at atmos integrations, there is one type of consumer, 
+GetConsumer, which is a type of ScheduledPollConsumer. 
+
+* `Get`
+
+Whereas there are 4 types of producers which are 
+
+* `Get` 
+* `Del` 
+* `Move`
+* `Put`
+
+== Examples
+
+These example are taken from tests:
+
+[source,java]
+-------------------------------
+from("atmos:foo/get?remotePath=/path").to("mock:test");
+-------------------------------
+
+Here, this is a consumer example.
+`remotePath` represents the path from where the data will
+be read and passes the camel exchange to regarding producer
+Underneath, this component uses atmos client API for this and
+every other operations.
+
+[source,java]
+-------------------------------
+from("direct:start")
+.to("atmos://get?remotePath=/dummy/dummy.txt")
+.to("mock:result");
+-------------------------------
+
+Here, this a producer sample.
+`remotePath` represents the path where the operations occur
+on ViPR object data service. In producers, operations(`Get`,`Del`,
+`Move`,`Put`) run on ViPR object data services and results are set 
+on headers of camel exchange.
+
+Regarding the operations, the following headers are set on camel
+exhange
+
+[source,java]
+-------------------------------
+DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, DELETED_PATH, MOVED_PATH;
+-------------------------------
diff --git a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
deleted file mode 120000
index 5a375b8..0000000
--- a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
new file mode 100644
index 0000000..fb46053
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
@@ -0,0 +1,208 @@
+= Atmosphere Websocket Component
+
+*Available as of Camel version 2.14*
+
+
+The Atmosphere-Websocket component provides Websocket
+based endpoints for a servlet communicating with
+external clients over Websocket (as a servlet accepting websocket
+connections from external clients). +
+The component uses the xref:servlet-component.adoc[SERVLET] component and uses
+the https://github.com/Atmosphere/atmosphere[Atmosphere] library to
+support the Websocket transport in various Servlet containers (e..g.,
+Jetty, Tomcat, ...).
+
+Unlike the
+xref:websocket-component.adoc[Websocket]
+component that starts the embedded Jetty server, this component uses the
+servlet provider of the container.
+
+Maven users will need to add the following dependency to
+their `pom.xml` for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-atmosphere-websocket</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== Atmosphere-Websocket Options
+
+
+
+// component options: START
+The Atmosphere Websocket component supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *servletName* (consumer) | Default name of servlet to use. The default name is CamelServlet. | CamelServlet | String
+| *httpRegistry* (consumer) | To use a custom org.apache.camel.component.servlet.HttpRegistry. |  | HttpRegistry
+| *attachmentMultipart Binding* (consumer) | Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's. | false | boolean
+| *fileNameExtWhitelist* (consumer) | Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml. |  | String
+| *httpBinding* (advanced) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
+| *httpConfiguration* (advanced) | To use the shared HttpConfiguration as base configuration. |  | HttpConfiguration
+| *allowJavaSerialized Object* (advanced) | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | boolean
+| *headerFilterStrategy* (filter) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The Atmosphere Websocket endpoint is configured using URI syntax:
+
+----
+atmosphere-websocket:servicePath
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *servicePath* | *Required* Name of websocket endpoint |  | String
+|===
+
+
+==== Query Parameters (38 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *chunked* (common) | If this option is false the Servlet will disable the HTTP streaming and set the content-length header on the response | true | boolean
+| *disableStreamCache* (common) | Determines whether or not the raw input stream from Servlet is cached or not (Camel will read the stream into a in memory/overflow to file, Stream caching) cache. By default Camel will cache the Servlet input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, such as streaming it directly to a file or other persis [...]
+| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to filter header to and from Camel message. |  | HeaderFilterStrategy
+| *sendToAll* (common) | Whether to send to all (broadcast) or send to a single receiver. | false | boolean
+| *transferException* (common) | If enabled and an Exchange failed processing on the consumer side, and if the caused Exception was send back serialized in the response as a application/x-java-serialized-object content type. On the producer side the exception will be deserialized and thrown as is, instead of the HttpOperationFailedException. The caused exception is required to be serialized. This is by default turned off. If you enable this then be aware that Java will deserialize the in [...]
+| *useStreaming* (common) | To enable streaming to send data as multiple text fragments. | false | boolean
+| *httpBinding* (common) | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. |  | HttpBinding
+| *async* (consumer) | Configure the consumer to work in async mode | false | boolean
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *httpMethodRestrict* (consumer) | Used to only allow consuming if the HttpMethod matches, such as GET/POST/PUT etc. Multiple methods can be specified separated by comma. |  | String
+| *matchOnUriPrefix* (consumer) | Whether or not the consumer should try to find a target consumer by matching the URI prefix if no exact match is found. | false | boolean
+| *responseBufferSize* (consumer) | To use a custom buffer size on the javax.servlet.ServletResponse. |  | Integer
+| *servletName* (consumer) | Name of the servlet to use | CamelServlet | String
+| *attachmentMultipartBinding* (consumer) | Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's. | false | boolean
+| *eagerCheckContentAvailable* (consumer) | Whether to eager check whether the HTTP requests has content if the content-length header is 0 or not present. This can be turned on in case HTTP clients do not send streamed data. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *fileNameExtWhitelist* (consumer) | Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml. |  | String
+| *optionsEnabled* (consumer) | Specifies whether to enable HTTP OPTIONS for this Servlet consumer. By default OPTIONS is turned off. | false | boolean
+| *traceEnabled* (consumer) | Specifies whether to enable HTTP TRACE for this Servlet consumer. By default TRACE is turned off. | false | boolean
+| *bridgeEndpoint* (producer) | If the option is true, HttpProducer will ignore the Exchange.HTTP_URI header, and use the endpoint's URI for request. You may also set the option throwExceptionOnFailure to be false to let the HttpProducer send all the fault response back. | false | boolean
+| *connectionClose* (producer) | Specifies whether a Connection Close header must be added to HTTP Request. By default connectionClose is false. | false | boolean
+| *copyHeaders* (producer) | If this option is true then IN exchange headers will be copied to OUT exchange headers according to copy strategy. Setting this to false, allows to only include the headers from the HTTP response (not propagating IN headers). | true | boolean
+| *httpMethod* (producer) | Configure the HTTP method to use. The HttpMethod header cannot override this option if set. |  | HttpMethods
+| *ignoreResponseBody* (producer) | If this option is true, The http producer won't read response body and cache the input stream | false | boolean
+| *preserveHostHeader* (producer) | If the option is true, HttpProducer will set the Host header to the value contained in the current exchange Host header, useful in reverse proxy applications where you want the Host header received by the downstream server to reflect the URL called by the upstream client, this allows applications which use the Host header to generate accurate URL's for a proxied service | false | boolean
+| *throwExceptionOnFailure* (producer) | Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
+| *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
+| *okStatusCodeRange* (producer) | The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. | 200-299 | String
+| *urlRewrite* (producer) | *Deprecated* Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints. See more details at http://camel.apache.org/urlrewrite.html |  | UrlRewrite
+| *mapHttpMessageBody* (advanced) | If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping. | true | boolean
+| *mapHttpMessageFormUrl EncodedBody* (advanced) | If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping. | true | boolean
+| *mapHttpMessageHeaders* (advanced) | If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping. | true | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *proxyAuthScheme* (proxy) | Proxy authentication scheme to use |  | String
+| *proxyHost* (proxy) | Proxy hostname to use |  | String
+| *proxyPort* (proxy) | Proxy port to use |  | int
+| *authHost* (security) | Authentication host to use with NTML |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 10 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atmosphere-websocket.allow-java-serialized-object* | Whether to allow java serialization when a request uses context-type=application/x-java-serialized-object. This is by default turned off. If you enable this then be aware that Java will deserialize the incoming data from the request to Java and that can be a potential security risk. | false | Boolean
+| *camel.component.atmosphere-websocket.attachment-multipart-binding* | Whether to automatic bind multipart/form-data as attachments on the Camel Exchange. The options attachmentMultipartBinding=true and disableStreamCache=false cannot work together. Remove disableStreamCache to use AttachmentMultipartBinding. This is turn off by default as this may require servlet specific configuration to enable this when using Servlet's. | false | Boolean
+| *camel.component.atmosphere-websocket.enabled* | Enable atmosphere-websocket component | true | Boolean
+| *camel.component.atmosphere-websocket.file-name-ext-whitelist* | Whitelist of accepted filename extensions for accepting uploaded files. Multiple extensions can be separated by comma, such as txt,xml. |  | String
+| *camel.component.atmosphere-websocket.header-filter-strategy* | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter header to and from Camel message. The option is a org.apache.camel.spi.HeaderFilterStrategy type. |  | String
+| *camel.component.atmosphere-websocket.http-binding* | To use a custom HttpBinding to control the mapping between Camel message and HttpClient. The option is a org.apache.camel.http.common.HttpBinding type. |  | String
+| *camel.component.atmosphere-websocket.http-configuration* | To use the shared HttpConfiguration as base configuration. The option is a org.apache.camel.http.common.HttpConfiguration type. |  | String
+| *camel.component.atmosphere-websocket.http-registry* | To use a custom org.apache.camel.component.servlet.HttpRegistry. The option is a org.apache.camel.component.servlet.HttpRegistry type. |  | String
+| *camel.component.atmosphere-websocket.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.atmosphere-websocket.servlet-name* | Default name of servlet to use. The default name is CamelServlet. | CamelServlet | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+== URI Format
+
+[source,java]
+-----------------------------------------------
+atmosphere-websocket:///relative path[?options]
+-----------------------------------------------
+
+== Reading and Writing Data over Websocket
+
+An atmopshere-websocket endpoint can either write data to the socket or
+read from the socket, depending on whether the endpoint is configured as
+the producer or the consumer, respectively.
+
+== Configuring URI to Read or Write Data
+
+In the route below, Camel will read from the specified websocket
+connection.
+
+[source,java]
+-------------------------------------------
+from("atmosphere-websocket:///servicepath")
+        .to("direct:next");
+-------------------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+------------------------------------------------------------
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="atmosphere-websocket:///servicepath"/>
+    <to uri="direct:next"/>
+  </route>
+</camelContext>
+------------------------------------------------------------
+
+In the route below, Camel will read from the specified websocket
+connection.
+
+[source,java]
+---------------------------------------------------
+from("direct:next")
+        .to("atmosphere-websocket:///servicepath");
+---------------------------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+------------------------------------------------------------
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+  <route>
+    <from uri="direct:next"/>
+    <to uri="atmosphere-websocket:///servicepath"/>
+  </route>
+</camelContext>
+------------------------------------------------------------
+
+ 
diff --git a/docs/components/modules/ROOT/pages/atom-component.adoc b/docs/components/modules/ROOT/pages/atom-component.adoc
deleted file mode 120000
index 6cede47..0000000
--- a/docs/components/modules/ROOT/pages/atom-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atom/src/main/docs/atom-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atom-component.adoc b/docs/components/modules/ROOT/pages/atom-component.adoc
new file mode 100644
index 0000000..837fa48
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atom-component.adoc
@@ -0,0 +1,159 @@
+= Atom Component
+
+*Available as of Camel version 1.2*
+
+
+The Atom component is used for polling Atom feeds.
+
+Camel will poll the feed every 60 seconds by default. +
+ *Note:* The component currently only supports polling (consuming)
+feeds.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-atom</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== URI format
+
+[source,java]
+------------------------
+atom://atomUri[?options]
+------------------------
+
+Where *atomUri* is the URI to the Atom feed to poll.
+
+== Options
+
+
+// component options: START
+The Atom component has no options.
+// component options: END
+
+
+
+// endpoint options: START
+The Atom endpoint is configured using URI syntax:
+
+----
+atom:feedUri
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *feedUri* | *Required* The URI to the feed to poll. |  | String
+|===
+
+
+==== Query Parameters (27 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *feedHeader* (consumer) | Sets whether to add the feed object as a header | true | boolean
+| *filter* (consumer) | Sets whether to use filtering or not of the entries. | true | boolean
+| *lastUpdate* (consumer) | Sets the timestamp to be used for filtering entries from the atom feeds. This options is only in conjunction with the splitEntries. |  | Date
+| *password* (consumer) | Sets the password to be used for basic authentication when polling from a HTTP feed |  | String
+| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *sortEntries* (consumer) | Sets whether to sort entries by published date. Only works when splitEntries = true. | false | boolean
+| *splitEntries* (consumer) | Sets whether or not entries should be sent individually or whether the entire feed should be sent as a single message | true | boolean
+| *throttleEntries* (consumer) | Sets whether all entries identified in a single feed poll should be delivered immediately. If true, only one entry is processed per consumer.delay. Only applicable when splitEntries = true. | true | boolean
+| *username* (consumer) | Sets the username to be used for basic authentication when polling from a HTTP feed |  | String
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
+| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long
+| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
+| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
+| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
+| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
+| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
+| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
+| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atom.enabled* | Enable atom component | true | Boolean
+| *camel.component.atom.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
+== Exchange data format
+
+Camel will set the In body on the returned `Exchange` with the entries.
+Depending on the `splitEntries` flag Camel will either return one
+`Entry` or a `List<Entry>`.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Option |Value |Behavior
+|`splitEntries` |`true` |Only a single entry from the currently being processed feed is set:
+`exchange.in.body(Entry)`
+
+|`splitEntries` |`false` |The entire list of entries from the feed is set:
+`exchange.in.body(List<Entry>)`
+|=======================================================================
+
+Camel can set the `Feed` object on the In header (see `feedHeader`
+option to disable this):
+
+== Message Headers
+
+Camel atom uses these headers.
+
+[width="100%",cols="10%,90%",options="header",]
+|=======================================================================
+|Header |Description
+|`CamelAtomFeed` |When consuming the `org.apache.abdera.model.Feed` object is set to this
+header.
+|=======================================================================
+
+== Samples
+
+In this sample we poll James Strachan's blog.
+
+[source,java]
+---------------------------------------------------------------------------------
+from("atom://http://macstrac.blogspot.com/feeds/posts/default").to("seda:feeds");
+---------------------------------------------------------------------------------
+
+In this sample we want to filter only good blogs we like to a SEDA
+queue. The sample also shows how to setup Camel standalone, not running
+in any Container or using Spring.
diff --git a/docs/components/modules/ROOT/pages/atomix-map-component.adoc b/docs/components/modules/ROOT/pages/atomix-map-component.adoc
deleted file mode 120000
index 1ace284..0000000
--- a/docs/components/modules/ROOT/pages/atomix-map-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atomix/src/main/docs/atomix-map-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atomix-map-component.adoc b/docs/components/modules/ROOT/pages/atomix-map-component.adoc
new file mode 100644
index 0000000..13ce856
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atomix-map-component.adoc
@@ -0,0 +1,215 @@
+= Atomix Map Component
+
+*Available as of Camel version 2.20*
+
+
+The camel Atomix-Map component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedMap/[Distributed Map] collection.
+
+Maven users will need to add the following dependency to their pom.xml for this component:
+
+[source,java]
+----
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-atomix</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+----
+
+== URI format
+
+[source,java]
+----
+    atomix-map:mapName
+----
+
+== Options
+
+// component options: START
+The Atomix Map component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (common) | The shared component configuration |  | AtomixMapConfiguration
+| *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
+| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
+| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The Atomix Map endpoint is configured using URI syntax:
+
+----
+atomix-map:resourceName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *resourceName* | *Required* The distributed resource name |  | String
+|===
+
+
+==== Query Parameters (18 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *atomix* (common) | The Atomix instance to use |  | Atomix
+| *configurationUri* (common) | The Atomix configuration uri. |  | String
+| *defaultAction* (common) | The default action. | PUT | Action
+| *key* (common) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
+| *nodes* (common) | The address of the nodes composing the cluster. |  | String
+| *resultHeader* (common) | The header that wil carry the result. |  | String
+| *transport* (common) | Sets the Atomix transport. | io.atomix.catalyst.transport.netty.NettyTransport | Transport
+| *ttl* (common) | The resource ttl. |  | long
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
+| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
+| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
+| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
+| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
+| *resourceOptions* (advanced) | Local resources configurations |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atomix-map.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
+| *camel.component.atomix-map.configuration-uri* | The path to the AtomixClient configuration |  | String
+| *camel.component.atomix-map.configuration.default-action* | The default action. |  | AtomixMap$Action
+| *camel.component.atomix-map.configuration.key* | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
+| *camel.component.atomix-map.configuration.result-header* | The header that wil carry the result. |  | String
+| *camel.component.atomix-map.configuration.ttl* | The resource ttl. |  | Long
+| *camel.component.atomix-map.enabled* | Whether to enable auto configuration of the atomix-map component. This is enabled by default. |  | Boolean
+| *camel.component.atomix-map.nodes* | The nodes the AtomixClient should connect to |  | List
+| *camel.component.atomix-map.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+== Headers
+
+[width="100%",cols="10%,10%,20%a,60%",options="header",]
+|===
+| Name
+| Type
+| Values
+| Description
+
+| CamelAtomixResourceAction
+| AtomixMap.Action
+| * PUT
+  * PUT_IF_ABSENT
+  * GET
+  * CLEAR
+  * SIZE
+  * CONTAINS_KEY
+  * CONTAINS_VALUE
+  * IS_EMPTY
+  * ENTRY_SET
+  * REMOVE
+  * REPLACE
+  * VALUES
+| The action to perform
+
+| CamelAtomixResourceKey
+| Object
+| -
+| The key to operate on
+
+| CamelAtomixResourceValue
+| Object
+| -
+| The value, if missing In Body is used
+
+| CamelAtomixResourceOldValue
+| Object
+| -
+| The old value
+
+| CamelAtomixResourceTTL
+| String / long
+| -
+| The entry TTL
+
+| CamelAtomixResourceReadConsistency
+| ReadConsistency
+| * ATOMIC
+  * ATOMIC_LEASE
+  * SEQUENTIAL
+  * LOCAL
+| The read consistency level
+
+|===
+
+== Configuring the component to connect to an Atomix cluster
+
+The nodes of the Atomix cluster you want to join can be se at Endpoint or component level (recommended), below some examples:
+
+* *Endpoint:*
++
+[source,xml]
+----
+<beans xmlns="...">
+    <camelContext xmlns="http://camel.apache.org/schema/spring">
+        <from uri="direct:start"/>
+            <to uri="atomix-map:myMap?nodes=node-1.atomix.cluster:8700,node-2.atomix.cluster:8700"/>
+        </route>
+    </camelContext>
+</beans>
+----
+
+* *Component:*
++
+[source,xml]
+----
+<beans xmlns="...">
+    <bean id="atomix-map" class="org.apache.camel.component.atomix.client.map.AtomixMapComponent">
+        <property name="nodes" value="nodes=node-1.atomix.cluster:8700,node-2.atomix.cluster:8700"/>
+    </bean>
+
+    <camelContext xmlns="http://camel.apache.org/schema/spring">
+        <from uri="direct:start"/>
+            <to uri="atomix-map:myMap"/>
+        </route>
+    </camelContext>
+</beans>
+----
+
+== Usage examples:
+
+* *PUT an element with TTL of 1 second:*
++
+[source,java]
+----
+FluentProducerTemplate.on(context)
+    .withHeader(AtomixClientConstants.RESOURCE_ACTION, AtomixMap.Action.PUT)
+    .withHeader(AtomixClientConstants.RESOURCE_KEY, key)
+    .withHeader(AtomixClientConstants.RESOURCE_TTL, "1s")
+    .withBody(val)
+    .to("direct:start")
+    .send();
+----
diff --git a/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc b/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
deleted file mode 120000
index 98d6798..0000000
--- a/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc b/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
new file mode 100644
index 0000000..082f66f
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
@@ -0,0 +1,111 @@
+= Atomix Messaging Component
+
+*Available as of Camel version 2.20*
+
+
+The camel Atomix-Messaging component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/cluster-communication/direct-messaging[Group Messaging].
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,java]
+----
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-atomix</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+----
+
+== URI format
+
+[source,java]
+----
+    atomix-messaging:group
+----
+
+// component options: START
+The Atomix Messaging component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (common) | The shared component configuration |  | AtomixMessaging Configuration
+| *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
+| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
+| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The Atomix Messaging endpoint is configured using URI syntax:
+
+----
+atomix-messaging:resourceName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *resourceName* | *Required* The distributed resource name |  | String
+|===
+
+
+==== Query Parameters (19 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *atomix* (common) | The Atomix instance to use |  | Atomix
+| *broadcastType* (common) | The broadcast type. | ALL | BroadcastType
+| *channelName* (common) | The messaging channel name |  | String
+| *configurationUri* (common) | The Atomix configuration uri. |  | String
+| *defaultAction* (common) | The default action. | DIRECT | Action
+| *memberName* (common) | The Atomix Group member name |  | String
+| *nodes* (common) | The address of the nodes composing the cluster. |  | String
+| *resultHeader* (common) | The header that wil carry the result. |  | String
+| *transport* (common) | Sets the Atomix transport. | io.atomix.catalyst.transport.netty.NettyTransport | Transport
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
+| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
+| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
+| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
+| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
+| *resourceOptions* (advanced) | Local resources configurations |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 10 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atomix-messaging.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
+| *camel.component.atomix-messaging.configuration-uri* | The path to the AtomixClient configuration |  | String
+| *camel.component.atomix-messaging.configuration.broadcast-type* | The broadcast type. |  | AtomixMessaging$ BroadcastType
+| *camel.component.atomix-messaging.configuration.channel-name* | The messaging channel name |  | String
+| *camel.component.atomix-messaging.configuration.default-action* | The default action. |  | AtomixMessaging$Action
+| *camel.component.atomix-messaging.configuration.member-name* | The Atomix Group member name |  | String
+| *camel.component.atomix-messaging.configuration.result-header* | The header that wil carry the result. |  | String
+| *camel.component.atomix-messaging.enabled* | Whether to enable auto configuration of the atomix-messaging component. This is enabled by default. |  | Boolean
+| *camel.component.atomix-messaging.nodes* | The nodes the AtomixClient should connect to |  | List
+| *camel.component.atomix-messaging.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc b/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
deleted file mode 120000
index c46bd6a..0000000
--- a/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc b/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
new file mode 100644
index 0000000..a7a97af
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
@@ -0,0 +1,109 @@
+= Atomix MultiMap Component
+
+*Available as of Camel version 2.20*
+
+
+The camel Atomix-Multimap component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedMultimap/[Distributed MultiMap] collection.
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,java]
+----
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-atomix</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+----
+
+== URI format
+
+[source,java]
+----
+    atomix-multimap:multiMapName
+----
+
+// component options: START
+The Atomix MultiMap component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (consumer) | The shared component configuration |  | AtomixMultiMap Configuration
+| *atomix* (consumer) | The shared AtomixClient instance |  | AtomixClient
+| *nodes* (consumer) | The nodes the AtomixClient should connect to |  | List
+| *configurationUri* (consumer) | The path to the AtomixClient configuration |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The Atomix MultiMap endpoint is configured using URI syntax:
+
+----
+atomix-multimap:resourceName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *resourceName* | *Required* The distributed resource name |  | String
+|===
+
+
+==== Query Parameters (18 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *atomix* (consumer) | The Atomix instance to use |  | Atomix
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *configurationUri* (consumer) | The Atomix configuration uri. |  | String
+| *defaultAction* (consumer) | The default action. | PUT | Action
+| *key* (consumer) | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
+| *nodes* (consumer) | The address of the nodes composing the cluster. |  | String
+| *resultHeader* (consumer) | The header that wil carry the result. |  | String
+| *transport* (consumer) | Sets the Atomix transport. | io.atomix.catalyst.transport.netty.NettyTransport | Transport
+| *ttl* (consumer) | The resource ttl. |  | long
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
+| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
+| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
+| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
+| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
+| *resourceOptions* (advanced) | Local resources configurations |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 9 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atomix-multimap.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
+| *camel.component.atomix-multimap.configuration-uri* | The path to the AtomixClient configuration |  | String
+| *camel.component.atomix-multimap.configuration.default-action* | The default action. |  | AtomixMultiMap$Action
+| *camel.component.atomix-multimap.configuration.key* | The key to use if none is set in the header or to listen for events for a specific key. |  | Object
+| *camel.component.atomix-multimap.configuration.result-header* | The header that wil carry the result. |  | String
+| *camel.component.atomix-multimap.configuration.ttl* | The resource ttl. |  | Long
+| *camel.component.atomix-multimap.enabled* | Whether to enable auto configuration of the atomix-multimap component. This is enabled by default. |  | Boolean
+| *camel.component.atomix-multimap.nodes* | The nodes the AtomixClient should connect to |  | List
+| *camel.component.atomix-multimap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/atomix-queue-component.adoc b/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
deleted file mode 120000
index 8c57aac..0000000
--- a/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atomix/src/main/docs/atomix-queue-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atomix-queue-component.adoc b/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
new file mode 100644
index 0000000..84b2b1e
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
@@ -0,0 +1,105 @@
+= Atomix Queue Component
+
+*Available as of Camel version 2.20*
+
+
+The camel Atomix-Queue component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedQueue/[Distributed Queue] collection.
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,java]
+----
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-atomix</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+----
+
+== URI format
+
+[source,java]
+----
+    atomix-queue:queueName
+----
+
+// component options: START
+The Atomix Queue component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (common) | The shared component configuration |  | AtomixQueue Configuration
+| *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
+| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
+| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The Atomix Queue endpoint is configured using URI syntax:
+
+----
+atomix-queue:resourceName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *resourceName* | *Required* The distributed resource name |  | String
+|===
+
+
+==== Query Parameters (16 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *atomix* (common) | The Atomix instance to use |  | Atomix
+| *configurationUri* (common) | The Atomix configuration uri. |  | String
+| *defaultAction* (common) | The default action. | ADD | Action
+| *nodes* (common) | The address of the nodes composing the cluster. |  | String
+| *resultHeader* (common) | The header that wil carry the result. |  | String
+| *transport* (common) | Sets the Atomix transport. | io.atomix.catalyst.transport.netty.NettyTransport | Transport
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
+| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
+| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
+| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
+| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
+| *resourceOptions* (advanced) | Local resources configurations |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 7 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atomix-queue.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
+| *camel.component.atomix-queue.configuration-uri* | The path to the AtomixClient configuration |  | String
+| *camel.component.atomix-queue.configuration.default-action* | The default action. |  | AtomixQueue$Action
+| *camel.component.atomix-queue.configuration.result-header* | The header that wil carry the result. |  | String
+| *camel.component.atomix-queue.enabled* | Whether to enable auto configuration of the atomix-queue component. This is enabled by default. |  | Boolean
+| *camel.component.atomix-queue.nodes* | The nodes the AtomixClient should connect to |  | List
+| *camel.component.atomix-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/atomix-set-component.adoc b/docs/components/modules/ROOT/pages/atomix-set-component.adoc
deleted file mode 120000
index d91ed83..0000000
--- a/docs/components/modules/ROOT/pages/atomix-set-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atomix/src/main/docs/atomix-set-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atomix-set-component.adoc b/docs/components/modules/ROOT/pages/atomix-set-component.adoc
new file mode 100644
index 0000000..7f3e030
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atomix-set-component.adoc
@@ -0,0 +1,107 @@
+= Atomix Set Component
+
+*Available as of Camel version 2.20*
+
+
+The camel Atomix-Set component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedSet/[Distributed Set] collection.
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,java]
+----
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-atomix</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+----
+
+== URI format
+
+[source,java]
+----
+    atomix-set:setName
+----
+
+// component options: START
+The Atomix Set component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (common) | The shared component configuration |  | AtomixSetConfiguration
+| *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
+| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
+| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The Atomix Set endpoint is configured using URI syntax:
+
+----
+atomix-set:resourceName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *resourceName* | *Required* The distributed resource name |  | String
+|===
+
+
+==== Query Parameters (17 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *atomix* (common) | The Atomix instance to use |  | Atomix
+| *configurationUri* (common) | The Atomix configuration uri. |  | String
+| *defaultAction* (common) | The default action. | ADD | Action
+| *nodes* (common) | The address of the nodes composing the cluster. |  | String
+| *resultHeader* (common) | The header that wil carry the result. |  | String
+| *transport* (common) | Sets the Atomix transport. | io.atomix.catalyst.transport.netty.NettyTransport | Transport
+| *ttl* (common) | The resource ttl. |  | long
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
+| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
+| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
+| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
+| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
+| *resourceOptions* (advanced) | Local resources configurations |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 8 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atomix-set.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
+| *camel.component.atomix-set.configuration-uri* | The path to the AtomixClient configuration |  | String
+| *camel.component.atomix-set.configuration.default-action* | The default action. |  | AtomixSet$Action
+| *camel.component.atomix-set.configuration.result-header* | The header that wil carry the result. |  | String
+| *camel.component.atomix-set.configuration.ttl* | The resource ttl. |  | Long
+| *camel.component.atomix-set.enabled* | Whether to enable auto configuration of the atomix-set component. This is enabled by default. |  | Boolean
+| *camel.component.atomix-set.nodes* | The nodes the AtomixClient should connect to |  | List
+| *camel.component.atomix-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/atomix-value-component.adoc b/docs/components/modules/ROOT/pages/atomix-value-component.adoc
deleted file mode 120000
index 7c292a8..0000000
--- a/docs/components/modules/ROOT/pages/atomix-value-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-atomix/src/main/docs/atomix-value-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/atomix-value-component.adoc b/docs/components/modules/ROOT/pages/atomix-value-component.adoc
new file mode 100644
index 0000000..7a52b90
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/atomix-value-component.adoc
@@ -0,0 +1,107 @@
+= Atomix Value Component
+
+*Available as of Camel version 2.20*
+
+
+The camel Atomix-Value component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedValue/[Distributed Value].
+
+Maven users will need to add the following dependency to their pom.xml
+for this component:
+
+[source,java]
+----
+    <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-atomix</artifactId>
+        <version>${camel-version}</version>
+    </dependency>
+----
+
+== URI format
+
+[source,java]
+----
+    atomix-value:valueName
+----
+
+// component options: START
+The Atomix Value component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (common) | The shared component configuration |  | AtomixValue Configuration
+| *atomix* (common) | The shared AtomixClient instance |  | AtomixClient
+| *nodes* (common) | The nodes the AtomixClient should connect to |  | List
+| *configurationUri* (common) | The path to the AtomixClient configuration |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+// endpoint options: START
+The Atomix Value endpoint is configured using URI syntax:
+
+----
+atomix-value:resourceName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *resourceName* | *Required* The distributed resource name |  | String
+|===
+
+
+==== Query Parameters (17 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *atomix* (common) | The Atomix instance to use |  | Atomix
+| *configurationUri* (common) | The Atomix configuration uri. |  | String
+| *defaultAction* (common) | The default action. | SET | Action
+| *nodes* (common) | The address of the nodes composing the cluster. |  | String
+| *resultHeader* (common) | The header that wil carry the result. |  | String
+| *transport* (common) | Sets the Atomix transport. | io.atomix.catalyst.transport.netty.NettyTransport | Transport
+| *ttl* (common) | The resource ttl. |  | long
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *defaultResourceConfig* (advanced) | The cluster wide default resource configuration. |  | Properties
+| *defaultResourceOptions* (advanced) | The local default resource options. |  | Properties
+| *ephemeral* (advanced) | Sets if the local member should join groups as PersistentMember or not. If set to ephemeral the local member will receive an auto generated ID thus the local one is ignored. | false | boolean
+| *readConsistency* (advanced) | The read consistency level. |  | ReadConsistency
+| *resourceConfigs* (advanced) | Cluster wide resources configuration. |  | Map
+| *resourceOptions* (advanced) | Local resources configurations |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 8 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.atomix-value.atomix* | The shared AtomixClient instance. The option is a io.atomix.AtomixClient type. |  | String
+| *camel.component.atomix-value.configuration-uri* | The path to the AtomixClient configuration |  | String
+| *camel.component.atomix-value.configuration.default-action* | The default action. |  | AtomixValue$Action
+| *camel.component.atomix-value.configuration.result-header* | The header that wil carry the result. |  | String
+| *camel.component.atomix-value.configuration.ttl* | The resource ttl. |  | Long
+| *camel.component.atomix-value.enabled* | Whether to enable auto configuration of the atomix-value component. This is enabled by default. |  | Boolean
+| *camel.component.atomix-value.nodes* | The nodes the AtomixClient should connect to |  | List
+| *camel.component.atomix-value.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
diff --git a/docs/components/modules/ROOT/pages/avro-component.adoc b/docs/components/modules/ROOT/pages/avro-component.adoc
deleted file mode 120000
index 198033f..0000000
--- a/docs/components/modules/ROOT/pages/avro-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-avro/src/main/docs/avro-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/avro-component.adoc b/docs/components/modules/ROOT/pages/avro-component.adoc
new file mode 100644
index 0000000..cebd838
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/avro-component.adoc
@@ -0,0 +1,335 @@
+= Avro Component
+
+*Available as of Camel version 2.10*
+
+
+This component provides a dataformat for avro, which allows
+serialization and deserialization of messages using Apache Avro's binary
+dataformat. Moreover, it provides support for Apache Avro's rpc, by
+providing producers and consumers endpoint for using avro over netty or
+http.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-avro</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== Apache Avro Overview
+
+Avro allows you to define message types and a protocol using a json like
+format and then generate java code for the specified types and messages.
+An example of how a schema looks like is below.
+
+[source,xml]
+------------------------------------------------------------------------------------------
+{"namespace": "org.apache.camel.avro.generated",
+ "protocol": "KeyValueProtocol",
+
+ "types": [
+     {"name": "Key", "type": "record",
+      "fields": [
+          {"name": "key",   "type": "string"}
+      ]
+     },
+     {"name": "Value", "type": "record",
+      "fields": [
+          {"name": "value",   "type": "string"}
+      ]
+     }
+ ],
+
+ "messages": {
+     "put": {
+         "request": [{"name": "key", "type": "Key"}, {"name": "value", "type": "Value"} ],
+         "response": "null"
+     },
+     "get": {
+         "request": [{"name": "key", "type": "Key"}],
+         "response": "Value"
+     }
+ }
+}
+------------------------------------------------------------------------------------------
+
+You can easily generate classes from a schema, using maven, ant etc.
+More details can be found at the
+http://avro.apache.org/docs/current/[Apache Avro documentation].
+
+However, it doesn't enforce a schema first approach and you can create
+schema for your existing classes. *Since 2.12* you can use existing
+protocol interfaces to make RCP calls. You should use interface for the
+protocol itself and POJO beans or primitive/String classes for parameter
+and result types. Here is an example of the class that corresponds to
+schema above:
+
+[source,java]
+--------------------------------------------------------------
+package org.apache.camel.avro.reflection;
+
+public interface KeyValueProtocol {
+    void put(String key, Value value);
+    Value get(String key);
+}
+
+class Value {
+    private String value;
+    public String getValue() { return value; }
+    public void setValue(String value) { this.value = value; }
+}
+--------------------------------------------------------------
+
+_Note: Existing classes can be used only for RPC (see below), not in
+data format._
+
+== Using the Avro data format
+
+Using the avro data format is as easy as specifying that the class that
+you want to marshal or unmarshal in your route.
+
+[source,xml]
+--------------------------------------------------------------------------------
+    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+        <route>
+            <from uri="direct:in"/>
+            <marshal>
+                <avro instanceClass="org.apache.camel.dataformat.avro.Message"/>
+            </marshal>
+            <to uri="log:out"/>
+        </route>
+    </camelContext>
+--------------------------------------------------------------------------------
+
+An alternative can be to specify the dataformat inside the context and
+reference it from your route.
+
+[source,xml]
+--------------------------------------------------------------------------------------
+    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+         <dataFormats>
+            <avro id="avro" instanceClass="org.apache.camel.dataformat.avro.Message"/>
+        </dataFormats>
+        <route>
+            <from uri="direct:in"/>
+            <marshal><custom ref="avro"/></marshal>
+            <to uri="log:out"/>
+        </route>
+    </camelContext>
+--------------------------------------------------------------------------------------
+
+In the same manner you can umarshal using the avro data format.
+
+== Using Avro RPC in Camel
+
+As mentioned above Avro also provides RPC support over multiple
+transports such as http and netty. Camel provides consumers and
+producers for these two transports.
+
+[source,java]
+----------------------------------------
+avro:[transport]:[host]:[port][?options]
+----------------------------------------
+
+The supported transport values are currently http or netty.
+
+*Since 2.12* you can specify message name right in the URI:
+
+[source,java]
+------------------------------------------------------
+avro:[transport]:[host]:[port][/messageName][?options]
+------------------------------------------------------
+
+For consumers this allows you to have multiple routes attached to the
+same socket. Dispatching to correct route will be done by the avro
+component automatically. Route with no messageName specified (if any)
+will be used as default.
+
+When using camel producers for avro ipc, the "in" message body needs to
+contain the parameters of the operation specified in the avro protocol.
+The response will be added in the body of the "out" message.
+
+In a similar manner when using camel avro consumers for avro ipc, the
+requests parameters will be placed inside the "in" message body of the
+created exchange and once the exchange is processed the body of the
+"out" message will be send as a response.
+
+*Note:* By default consumer parameters are wrapped into array. If you've
+got only one parameter, *since 2.12* you can use `singleParameter` URI
+option to receive it direcly in the "in" message body without array
+wrapping.
+
+== Avro RPC URI Options
+
+
+
+
+
+// component options: START
+The Avro component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | To use a shared AvroConfiguration to configure options once |  | AvroConfiguration
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+// endpoint options: START
+The Avro endpoint is configured using URI syntax:
+
+----
+avro:transport:host:port/messageName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (4 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *transport* | *Required* Transport to use, can be either http or netty |  | AvroTransport
+| *port* | *Required* Port number to use |  | int
+| *host* | *Required* Hostname to use |  | String
+| *messageName* | The name of the message to send. |  | String
+|===
+
+
+==== Query Parameters (10 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *protocol* (common) | Avro protocol to use |  | Protocol
+| *protocolClassName* (common) | Avro protocol to use defined by the FQN class name |  | String
+| *protocolLocation* (common) | Avro protocol location |  | String
+| *reflectionProtocol* (common) | If protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto detected | false | boolean
+| *singleParameter* (common) | If true, consumer parameter won't be wrapped into array. Will fail if protocol specifies more then 1 parameter for the message | false | boolean
+| *uriAuthority* (common) | Authority to use (username and password) |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 15 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.avro.configuration.host* | Hostname to use |  | String
+| *camel.component.avro.configuration.message-name* | The name of the message to send. |  | String
+| *camel.component.avro.configuration.port* | Port number to use |  | Integer
+| *camel.component.avro.configuration.protocol* | Avro protocol to use |  | Protocol
+| *camel.component.avro.configuration.protocol-class-name* | Avro protocol to use defined by the FQN class name |  | String
+| *camel.component.avro.configuration.protocol-location* | Avro protocol location |  | String
+| *camel.component.avro.configuration.reflection-protocol* | If protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto detected | false | Boolean
+| *camel.component.avro.configuration.single-parameter* | If true, consumer parameter won't be wrapped into array. Will fail if protocol specifies more then 1 parameter for the message | false | Boolean
+| *camel.component.avro.configuration.transport* | Transport to use, can be either http or netty |  | AvroTransport
+| *camel.component.avro.configuration.uri-authority* | Authority to use (username and password) |  | String
+| *camel.component.avro.enabled* | Enable avro component | true | Boolean
+| *camel.component.avro.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.dataformat.avro.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
+| *camel.dataformat.avro.enabled* | Enable avro dataformat | true | Boolean
+| *camel.dataformat.avro.instance-class-name* | Class name to use for marshal and unmarshalling |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+== Avro RPC Headers
+
+[width="100%",cols="20%,80%",options="header",]
+|=======================================================================
+|Name |Description
+
+|`CamelAvroMessageName` |The name of the message to send. In consumer overrides message name from
+URI (if any)
+|=======================================================================
+
+== Examples
+
+An example of using camel avro producers via http:
+
+[source,xml]
+---------------------------------------------------------------------------------------------------------------------------
+        <route>
+            <from uri="direct:start"/>
+            <to uri="avro:http:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+            <to uri="log:avro"/>
+        </route>
+---------------------------------------------------------------------------------------------------------------------------
+
+In the example above you need to fill `CamelAvroMessageName` header.
+*Since 2.12* you can use following syntax to call constant messages:
+
+[source,xml]
+-------------------------------------------------------------------------------------------------------------------------------
+        <route>
+            <from uri="direct:start"/>
+            <to uri="avro:http:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+            <to uri="log:avro"/>
+        </route>
+-------------------------------------------------------------------------------------------------------------------------------
+
+An example of consuming messages using camel avro consumers via netty:
+
+[source,xml]
+------------------------------------------------------------------------------------------------------------------------------
+        <route>
+            <from uri="avro:netty:localhost:{{avroport}}?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol"/>
+            <choice>
+                <when>
+                    <el>${in.headers.CamelAvroMessageName == 'put'}</el>
+                    <process ref="putProcessor"/>
+                </when>
+                <when>
+                    <el>${in.headers.CamelAvroMessageName == 'get'}</el>
+                    <process ref="getProcessor"/>
+                </when>
+            </choice>
+        </route>
+------------------------------------------------------------------------------------------------------------------------------
+
+*Since 2.12* you can set up two distinct routes to perform the same
+task:
+
+[source,xml]
+-------------------------------------------------------------------------------------------------------------------------------------------------------
+        <route>
+            <from uri="avro:netty:localhost:{{avroport}}/put?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol">
+            <process ref="putProcessor"/>
+        </route>
+        <route>
+            <from uri="avro:netty:localhost:{{avroport}}/get?protocolClassName=org.apache.camel.avro.generated.KeyValueProtocol&singleParameter=true"/>
+            <process ref="getProcessor"/>
+        </route>
+-------------------------------------------------------------------------------------------------------------------------------------------------------
+
+In the example above, get takes only one parameter, so `singleParameter`
+is used and `getProcessor` will receive Value class directly in body,
+while `putProcessor` will receive an array of size 2 with String key and
+Value value filled as array contents.
diff --git a/docs/components/modules/ROOT/pages/avro-dataformat.adoc b/docs/components/modules/ROOT/pages/avro-dataformat.adoc
deleted file mode 120000
index 6ff6f5a..0000000
--- a/docs/components/modules/ROOT/pages/avro-dataformat.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-avro/src/main/docs/avro-dataformat.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/avro-dataformat.adoc b/docs/components/modules/ROOT/pages/avro-dataformat.adoc
new file mode 100644
index 0000000..602c49b
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/avro-dataformat.adoc
@@ -0,0 +1,172 @@
+= Avro DataFormat
+
+*Available as of Camel version 2.14*
+
+
+This component provides a dataformat for avro, which allows
+serialization and deserialization of messages using Apache Avro's binary
+dataformat. Moreover, it provides support for Apache Avro's rpc, by
+providing producers and consumers endpoint for using avro over netty or
+http.
+
+Maven users will need to add the following dependency to their `pom.xml`
+for this component:
+
+[source,xml]
+------------------------------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-avro</artifactId>
+    <version>x.x.x</version>
+    <!-- use the same version as your Camel core version -->
+</dependency>
+------------------------------------------------------------
+
+== Apache Avro Overview
+
+Avro allows you to define message types and a protocol using a json like
+format and then generate java code for the specified types and messages.
+An example of how a schema looks like is below.
+
+[source,xml]
+------------------------------------------------------------------------------------------
+{"namespace": "org.apache.camel.avro.generated",
+ "protocol": "KeyValueProtocol",
+
+ "types": [
+     {"name": "Key", "type": "record",
+      "fields": [
+          {"name": "key",   "type": "string"}
+      ]
+     },
+     {"name": "Value", "type": "record",
+      "fields": [
+          {"name": "value",   "type": "string"}
+      ]
+     }
+ ],
+
+ "messages": {
+     "put": {
+         "request": [{"name": "key", "type": "Key"}, {"name": "value", "type": "Value"} ],
+         "response": "null"
+     },
+     "get": {
+         "request": [{"name": "key", "type": "Key"}],
+         "response": "Value"
+     }
+ }
+}
+------------------------------------------------------------------------------------------
+
+You can easily generate classes from a schema, using maven, ant etc.
+More details can be found at the
+http://avro.apache.org/docs/current/[Apache Avro documentation].
+
+However, it doesn't enforce a schema first approach and you can create
+schema for your existing classes. *Since 2.12* you can use existing
+protocol interfaces to make RCP calls. You should use interface for the
+protocol itself and POJO beans or primitive/String classes for parameter
+and result types. Here is an example of the class that corresponds to
+schema above:
+
+[source,java]
+--------------------------------------------------------------
+package org.apache.camel.avro.reflection;
+
+public interface KeyValueProtocol {
+    void put(String key, Value value);
+    Value get(String key);
+}
+
+class Value {
+    private String value;
+    public String getValue() { return value; }
+    public void setValue(String value) { this.value = value; }
+}
+--------------------------------------------------------------
+
+_Note: Existing classes can be used only for RPC (see below), not in
+data format._
+
+== Using the Avro data format
+
+Using the avro data format is as easy as specifying that the class that
+you want to marshal or unmarshal in your route.
+
+[source,xml]
+--------------------------------------------------------------------------------
+    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+        <route>
+            <from uri="direct:in"/>
+            <marshal>
+                <avro instanceClass="org.apache.camel.dataformat.avro.Message"/>
+            </marshal>
+            <to uri="log:out"/>
+        </route>
+    </camelContext>
+--------------------------------------------------------------------------------
+
+An alternative can be to specify the dataformat inside the context and
+reference it from your route.
+
+[source,xml]
+--------------------------------------------------------------------------------------
+    <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+         <dataFormats>
+            <avro id="avro" instanceClass="org.apache.camel.dataformat.avro.Message"/>
+        </dataFormats>
+        <route>
+            <from uri="direct:in"/>
+            <marshal><custom ref="avro"/></marshal>
+            <to uri="log:out"/>
+        </route>
+    </camelContext>
+--------------------------------------------------------------------------------------
+
+In the same manner you can umarshal using the avro data format.
+
+
+== Avro Dataformat Options
+
+// dataformat options: START
+The Avro dataformat supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2s,1m,1m,6",options="header"]
+|===
+| Name | Default | Java Type | Description
+| instanceClassName |  | String | Class name to use for marshal and unmarshalling
+| contentTypeHeader | false | Boolean | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc.
+|===
+// dataformat options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 15 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.avro.configuration.host* | Hostname to use |  | String
+| *camel.component.avro.configuration.message-name* | The name of the message to send. |  | String
+| *camel.component.avro.configuration.port* | Port number to use |  | Integer
+| *camel.component.avro.configuration.protocol* | Avro protocol to use |  | Protocol
+| *camel.component.avro.configuration.protocol-class-name* | Avro protocol to use defined by the FQN class name |  | String
+| *camel.component.avro.configuration.protocol-location* | Avro protocol location |  | String
+| *camel.component.avro.configuration.reflection-protocol* | If protocol object provided is reflection protocol. Should be used only with protocol parameter because for protocolClassName protocol type will be auto detected | false | Boolean
+| *camel.component.avro.configuration.single-parameter* | If true, consumer parameter won't be wrapped into array. Will fail if protocol specifies more then 1 parameter for the message | false | Boolean
+| *camel.component.avro.configuration.transport* | Transport to use, can be either http or netty |  | AvroTransport
+| *camel.component.avro.configuration.uri-authority* | Authority to use (username and password) |  | String
+| *camel.component.avro.enabled* | Enable avro component | true | Boolean
+| *camel.component.avro.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.dataformat.avro.content-type-header* | Whether the data format should set the Content-Type header with the type from the data format if the data format is capable of doing so. For example application/xml for data formats marshalling to XML, or application/json for data formats marshalling to JSon etc. | false | Boolean
+| *camel.dataformat.avro.enabled* | Enable avro dataformat | true | Boolean
+| *camel.dataformat.avro.instance-class-name* | Class name to use for marshal and unmarshalling |  | String
+|===
+// spring-boot-auto-configure options: END
+ND
diff --git a/docs/components/modules/ROOT/pages/aws-cw-component.adoc b/docs/components/modules/ROOT/pages/aws-cw-component.adoc
deleted file mode 120000
index b601601..0000000
--- a/docs/components/modules/ROOT/pages/aws-cw-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-cw-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-cw-component.adoc b/docs/components/modules/ROOT/pages/aws-cw-component.adoc
new file mode 100644
index 0000000..b9c89d0
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-cw-component.adoc
@@ -0,0 +1,206 @@
+[[aws-cw-component]]
+= AWS CloudWatch Component
+
+*Available as of Camel version 2.11*
+
+The CW component allows messages to be sent to an
+http://aws.amazon.com/cloudwatch/[Amazon CloudWatch] metrics. The
+implementation of the Amazon API is provided by
+the http://aws.amazon.com/sdkforjava/[AWS SDK].
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon CloudWatch. More information are available at
+http://aws.amazon.com/cloudwatch/[Amazon CloudWatch].
+
+### URI Format
+
+[source,java]
+----------------------------
+aws-cw://namespace[?options]
+----------------------------
+
+The metrics will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+### URI Options
+
+
+// component options: START
+The AWS CloudWatch component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS CW default configuration |  | CwConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which CW client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS CloudWatch endpoint is configured using URI syntax:
+
+----
+aws-cw:namespace
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *namespace* | *Required* The metric namespace |  | String
+|===
+
+
+==== Query Parameters (11 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonCwClient* (producer) | To use the AmazonCloudWatch as the client |  | AmazonCloudWatch
+| *name* (producer) | The metric name |  | String
+| *proxyHost* (producer) | To define a proxy host when instantiating the CW client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the CW client |  | Integer
+| *region* (producer) | The region in which CW client needs to work |  | String
+| *timestamp* (producer) | The metric timestamp |  | Date
+| *unit* (producer) | The metric unit |  | String
+| *value* (producer) | The metric value |  | Double
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 16 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-cw.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-cw.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-cw.configuration.amazon-cw-client* | To use the AmazonCloudWatch as the client |  | AmazonCloudWatch
+| *camel.component.aws-cw.configuration.name* | The metric name |  | String
+| *camel.component.aws-cw.configuration.namespace* | The metric namespace |  | String
+| *camel.component.aws-cw.configuration.proxy-host* | To define a proxy host when instantiating the CW client |  | String
+| *camel.component.aws-cw.configuration.proxy-port* | To define a proxy port when instantiating the CW client |  | Integer
+| *camel.component.aws-cw.configuration.region* | The region in which CW client needs to work |  | String
+| *camel.component.aws-cw.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-cw.configuration.timestamp* | The metric timestamp |  | Date
+| *camel.component.aws-cw.configuration.unit* | The metric unit |  | String
+| *camel.component.aws-cw.configuration.value* | The metric value |  | Double
+| *camel.component.aws-cw.enabled* | Enable aws-cw component | true | Boolean
+| *camel.component.aws-cw.region* | The region in which CW client needs to work |  | String
+| *camel.component.aws-cw.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-cw.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required CW component options
+
+You have to provide the amazonCwClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/cloudwatch/[Amazon's CloudWatch].
+
+### Usage
+
+#### Message headers evaluated by the CW producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsCwMetricName` |`String` |The Amazon CW metric name.
+
+|`CamelAwsCwMetricValue` |`Double` |The Amazon CW metric value.
+
+|`CamelAwsCwMetricUnit` |`String` |The Amazon CW metric unit.
+
+|`CamelAwsCwMetricNamespace` |`String` |The Amazon CW metric namespace.
+
+|`CamelAwsCwMetricTimestamp` |`Date` |The Amazon CW metric timestamp.
+
+|`CamelAwsCwMetricDimensionName` |`String` |*Camel 2.12:* The Amazon CW metric dimension name.
+
+|`CamelAwsCwMetricDimensionValue` |`String` |*Camel 2.12:* The Amazon CW metric dimension value.
+
+|`CamelAwsCwMetricDimensions` |`Map<String, String>` |*Camel 2.12:* A map of dimension names and dimension values.
+|=======================================================================
+
+#### Advanced AmazonCloudWatch configuration
+
+If you need more control over the `AmazonCloudWatch` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+-------------------------------------------------
+from("direct:start")
+.to("aws-cw://namepsace?amazonCwClient=#client");
+-------------------------------------------------
+
+The `#client` refers to a `AmazonCloudWatch` in the
+Registry.
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonCloudWatch client = new AmazonCloudWatchClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+------------------------------------------------------------------------------------------
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.10 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-ddb-component.adoc b/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
deleted file mode 120000
index eb9ca1e..0000000
--- a/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-ddb-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-ddb-component.adoc b/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
new file mode 100644
index 0000000..bd507be
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
@@ -0,0 +1,377 @@
+[[aws-ddb-component]]
+= AWS DynamoDB Component
+
+*Available as of Camel version 2.10*
+
+The DynamoDB component supports storing and retrieving data from/to
+http://aws.amazon.com/dynamodb[Amazon's DynamoDB] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon DynamoDB. More information are available at
+http://aws.amazon.com/dynamodb[Amazon DynamoDB].
+
+### URI Format
+
+[source,java]
+------------------------------
+aws-ddb://domainName[?options]
+------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS DynamoDB component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS DDB default configuration |  | DdbConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which DDB client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS DynamoDB endpoint is configured using URI syntax:
+
+----
+aws-ddb:tableName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *tableName* | *Required* The name of the table currently worked with. |  | String
+|===
+
+
+==== Query Parameters (13 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonDDBClient* (producer) | To use the AmazonDynamoDB as the client |  | AmazonDynamoDB
+| *consistentRead* (producer) | Determines whether or not strong consistency should be enforced when data is read. | false | boolean
+| *keyAttributeName* (producer) | Attribute name when creating table |  | String
+| *keyAttributeType* (producer) | Attribute type when creating table |  | String
+| *operation* (producer) | What operation to perform | PutItem | DdbOperations
+| *proxyHost* (producer) | To define a proxy host when instantiating the DDB client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the DDB client |  | Integer
+| *readCapacity* (producer) | The provisioned throughput to reserve for reading resources from your table |  | Long
+| *region* (producer) | The region in which DDB client needs to work |  | String
+| *writeCapacity* (producer) | The provisioned throughput to reserved for writing resources to your table |  | Long
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 18 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-ddb.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ddb.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ddb.configuration.amazon-d-d-b-client* | To use the AmazonDynamoDB as the client |  | AmazonDynamoDB
+| *camel.component.aws-ddb.configuration.consistent-read* | Determines whether or not strong consistency should be enforced when data is read. | false | Boolean
+| *camel.component.aws-ddb.configuration.key-attribute-name* | Attribute name when creating table |  | String
+| *camel.component.aws-ddb.configuration.key-attribute-type* | Attribute type when creating table |  | String
+| *camel.component.aws-ddb.configuration.operation* | What operation to perform |  | DdbOperations
+| *camel.component.aws-ddb.configuration.proxy-host* | To define a proxy host when instantiating the DDB client |  | String
+| *camel.component.aws-ddb.configuration.proxy-port* | To define a proxy port when instantiating the DDB client |  | Integer
+| *camel.component.aws-ddb.configuration.read-capacity* | The provisioned throughput to reserve for reading resources from your table |  | Long
+| *camel.component.aws-ddb.configuration.region* | The region in which DDB client needs to work |  | String
+| *camel.component.aws-ddb.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-ddb.configuration.table-name* | The name of the table currently worked with. |  | String
+| *camel.component.aws-ddb.configuration.write-capacity* | The provisioned throughput to reserved for writing resources to your table |  | Long
+| *camel.component.aws-ddb.enabled* | Enable aws-ddb component | true | Boolean
+| *camel.component.aws-ddb.region* | The region in which DDB client needs to work |  | String
+| *camel.component.aws-ddb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-ddb.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required DDB component options
+
+You have to provide the amazonDDBClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/dynamodb[Amazon's DynamoDB].
+
+### Usage
+
+#### Message headers evaluated by the DDB producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbBatchItems` |`Map<String, KeysAndAttributes>` |A map of the table name and corresponding items to get by primary key.
+
+|`CamelAwsDdbTableName` |`String` |Table Name for this operation.
+
+|`CamelAwsDdbKey` |`Key` |The primary key that uniquely identifies each item in a table. *From Camel 2.16.0 the type of this header is Map<String,
+AttributeValue> and not Key*
+
+|`CamelAwsDdbReturnValues` |`String` |Use this parameter if you want to get the attribute name-value pairs
+before or after they are modified(NONE, ALL_OLD, UPDATED_OLD, ALL_NEW,
+UPDATED_NEW).
+
+|`CamelAwsDdbUpdateCondition` |`Map<String, ExpectedAttributeValue>` |Designates an attribute for a conditional modification.
+
+|`CamelAwsDdbAttributeNames` |`Collection<String>` |If attribute names are not specified then all attributes will be
+returned.
+
+|`CamelAwsDdbConsistentRead` |`Boolean` |If set to true, then a consistent read is issued, otherwise eventually
+consistent is used.
+
+|`CamelAwsDdbIndexName` |`String` |If set will be used as Secondary Index for Query operation.
+
+|`CamelAwsDdbItem` |`Map<String, AttributeValue>` |A map of the attributes for the item, and must include the primary key
+values that define the item.
+
+|`CamelAwsDdbExactCount` |`Boolean` |If set to true, Amazon DynamoDB returns a total number of items that
+match the query parameters, instead of a list of the matching items and
+their attributes. *From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbKeyConditions` |`Map<String, Condition>` |*From Camel 2.16.0*. This header specify the selection criteria for the
+query, and merge together the two old headers *CamelAwsDdbHashKeyValue*
+and *CamelAwsDdbScanRangeKeyCondition*
+
+|`CamelAwsDdbStartKey` |`Key` |Primary key of the item from which to continue an earlier query.
+
+|`CamelAwsDdbHashKeyValue` |`AttributeValue` |Value of the hash component of the composite primary key.
+*From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbLimit` |`Integer` |The maximum number of items to return.
+
+|`CamelAwsDdbScanRangeKeyCondition` |`Condition` |A container for the attribute values and comparison operators to use for
+the query.*From Camel 2.16.0 this header doesn't exist anymore.*
+
+|`CamelAwsDdbScanIndexForward` |`Boolean` |Specifies forward or backward traversal of the index.
+
+|`CamelAwsDdbScanFilter` |`Map<String, Condition>` |Evaluates the scan results and returns only the desired values.
+
+|`CamelAwsDdbUpdateValues` |`Map<String, AttributeValueUpdate>` |Map of attribute name to the new value and action for the update.
+|=======================================================================
+
+#### Message headers set during BatchGetItems operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbBatchResponse` |`Map<String,BatchResponse>` |Table names and the respective item attributes from the tables.
+
+|`CamelAwsDdbUnprocessedKeys` |`Map<String,KeysAndAttributes>` |Contains a map of tables and their respective keys that were not
+processed with the current response.
+|=======================================================================
+
+#### Message headers set during DeleteItem operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+|=======================================================================
+
+#### Message headers set during DeleteTable operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbProvisionedThroughput`| | 
+
+|`ProvisionedThroughputDescription` | |The value of the ProvisionedThroughput property for this table
+
+|`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
+
+|`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
+
+|`CamelAwsDdbKeySchema` |`KeySchema` |The KeySchema that identifies the primary key for this table. 
+*From Camel 2.16.0 the type of this header is List<KeySchemaElement> and not KeySchema*
+
+|`CamelAwsDdbTableName` |`String` |The table name. 
+
+|`CamelAwsDdbTableSize` |`Long` |The table size in bytes. 
+
+|`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
+|=======================================================================
+
+#### Message headers set during DescribeTable operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbProvisionedThroughput` |{{ProvisionedThroughputDescription}} |The value of the ProvisionedThroughput property for this table
+
+|`CamelAwsDdbCreationDate` |`Date` |Creation DateTime of this table.
+
+|`CamelAwsDdbTableItemCount` |`Long` |Item count for this table.
+
+|`CamelAwsDdbKeySchema` |{{KeySchema}} |The KeySchema that identifies the primary key for this table.
+*From Camel 2.16.0 the type of this header is List<KeySchemaElement> and
+not KeySchema*
+
+|`CamelAwsDdbTableName` |`String` |The table name.
+
+|`CamelAwsDdbTableSize` |`Long` |The table size in bytes.
+
+|`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
+
+|`CamelAwsDdbReadCapacity` |`Long` |ReadCapacityUnits property of this table.
+
+|`CamelAwsDdbWriteCapacity` |`Long` |WriteCapacityUnits property of this table.
+|=======================================================================
+
+#### Message headers set during GetItem operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+#### Message headers set during PutItem operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+#### Message headers set during Query operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>` |The list of attributes returned by the operation.
+
+|`CamelAwsDdbLastEvaluatedKey` |`Key` |Primary key of the item where the query operation stopped, inclusive of
+the previous result set.
+
+|`CamelAwsDdbConsumedCapacity` |`Double` |The number of Capacity Units of the provisioned throughput of the table
+consumed during the operation.
+
+|`CamelAwsDdbCount` |`Integer` |Number of items in the response.
+|=======================================================================
+
+#### Message headers set during Scan operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbItems` |`List<java.util.Map<String,AttributeValue>>` |The list of attributes returned by the operation.
+
+|`CamelAwsDdbLastEvaluatedKey` |`Key` |Primary key of the item where the query operation stopped, inclusive of
+the previous result set.
+
+|`CamelAwsDdbConsumedCapacity` |`Double` |The number of Capacity Units of the provisioned throughput of the table
+consumed during the operation.
+
+|`CamelAwsDdbCount` |`Integer` |Number of items in the response.
+
+|`CamelAwsDdbScannedCount` |`Integer` |Number of items in the complete scan before any filters are applied.
+|=======================================================================
+
+#### Message headers set during UpdateItem operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
+
+|=======================================================================
+
+#### Advanced AmazonDynamoDB configuration
+
+If you need more control over the `AmazonDynamoDB` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+----------------------------------------------------
+from("direct:start")
+.to("aws-ddb://domainName?amazonDDBClient=#client");
+----------------------------------------------------
+
+The `#client` refers to a `AmazonDynamoDB` in the
+Registry.
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.10 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc b/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
deleted file mode 120000
index 9fe75b6..0000000
--- a/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc b/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
new file mode 100644
index 0000000..83ece5a
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
@@ -0,0 +1,233 @@
+[[aws-ddbstream-component]]
+= AWS DynamoDB Streams Component
+
+*Available as of Camel version 2.17*
+
+The DynamoDB Stream component supports receiving messages from
+Amazon DynamoDB Stream service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon DynamoDB Streams. More information are available
+at http://aws.amazon.com/dynamodb/[AWS DynamoDB]
+
+### URI Format
+
+[source,java]
+------------------------------------
+aws-ddbstream://table-name[?options]
+------------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS DynamoDB Streams component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS DDB stream default configuration |  | DdbStreamConfiguration
+| *accessKey* (consumer) | Amazon AWS Access Key |  | String
+| *secretKey* (consumer) | Amazon AWS Secret Key |  | String
+| *region* (consumer) | Amazon AWS Region |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+// endpoint options: START
+The AWS DynamoDB Streams endpoint is configured using URI syntax:
+
+----
+aws-ddbstream:tableName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *tableName* | *Required* Name of the dynamodb table |  | String
+|===
+
+
+==== Query Parameters (28 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonDynamoDbStreams Client* (consumer) | Amazon DynamoDB client to use for all requests for this endpoint |  | AmazonDynamoDBStreams
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *iteratorType* (consumer) | Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if AT,AFTER_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. | LATEST | ShardIteratorType
+| *maxResultsPerRequest* (consumer) | Maximum number of records that will be fetched in each poll |  | int
+| *proxyHost* (consumer) | To define a proxy host when instantiating the DDBStreams client |  | String
+| *proxyPort* (consumer) | To define a proxy port when instantiating the DDBStreams client |  | Integer
+| *region* (consumer) | The region in which DDBStreams client needs to work |  | String
+| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *sequenceNumberProvider* (consumer) | Provider for the sequence number when using one of the two ShardIteratorType.AT,AFTER_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number. |  | SequenceNumberProvider
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
+| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long
+| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
+| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
+| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
+| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
+| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
+| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
+| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 15 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-ddbstream.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ddbstream.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ddbstream.configuration.amazon-dynamo-db-streams-client* | Amazon DynamoDB client to use for all requests for this endpoint |  | AmazonDynamoDBStreams
+| *camel.component.aws-ddbstream.configuration.iterator-type* | Defines where in the DynaboDB stream to start getting records. Note that using TRIM_HORIZON can cause a significant delay before the stream has caught up to real-time. if AT,AFTER_SEQUENCE_NUMBER are used, then a sequenceNumberProvider MUST be supplied. |  | ShardIteratorType
+| *camel.component.aws-ddbstream.configuration.max-results-per-request* | Maximum number of records that will be fetched in each poll |  | Integer
+| *camel.component.aws-ddbstream.configuration.proxy-host* | To define a proxy host when instantiating the DDBStreams client |  | String
+| *camel.component.aws-ddbstream.configuration.proxy-port* | To define a proxy port when instantiating the DDBStreams client |  | Integer
+| *camel.component.aws-ddbstream.configuration.region* | The region in which DDBStreams client needs to work |  | String
+| *camel.component.aws-ddbstream.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-ddbstream.configuration.sequence-number-provider* | Provider for the sequence number when using one of the two ShardIteratorType.AT,AFTER_SEQUENCE_NUMBER iterator types. Can be a registry reference or a literal sequence number. |  | SequenceNumberProvider
+| *camel.component.aws-ddbstream.configuration.table-name* | Name of the dynamodb table |  | String
+| *camel.component.aws-ddbstream.enabled* | Enable aws-ddbstream component | true | Boolean
+| *camel.component.aws-ddbstream.region* | Amazon AWS Region |  | String
+| *camel.component.aws-ddbstream.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-ddbstream.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+
+Required DynampDBStream component options
+
+You have to provide the amazonDynamoDbStreamsClient in the
+Registry with proxies and relevant credentials
+configured.
+
+### Sequence Numbers
+
+You can provide a literal string as the sequence number or provide a
+bean in the registry. An example of using the bean would be to save your
+current position in the change feed and restore it on Camel startup.
+
+It is an error to provide a sequence number that is greater than the
+largest sequence number in the describe-streams result, as this will
+lead to the AWS call returning an HTTP 400.
+
+### Batch Consumer
+
+This component implements the Batch Consumer.
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the Aggregator
+aggregate this number of messages.
+
+### Usage
+
+#### AmazonDynamoDBStreamsClient configuration
+
+You will need to create an instance of AmazonDynamoDBStreamsClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+#### Providing AWS Credentials
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+### Coping with Downtime
+
+#### AWS DynamoDB Streams outage of less than 24 hours
+
+The consumer will resume from the last seen sequence number (as
+implemented
+for https://issues.apache.org/jira/browse/CAMEL-9515[CAMEL-9515]), so
+you should receive a flood of events in quick succession, as long as the
+outage did not also include DynamoDB itself.
+
+#### AWS DynamoDB Streams outage of more than 24 hours
+
+Given that AWS only retain 24 hours worth of changes, you will have
+missed change events no matter what mitigations are in place.
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.7 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component +
+ +
diff --git a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc b/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
deleted file mode 120000
index 1891f3c..0000000
--- a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-ec2-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc b/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
new file mode 100644
index 0000000..69e2566
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
@@ -0,0 +1,172 @@
+[[aws-ec2-component]]
+= AWS EC2 Component
+
+*Available as of Camel version 2.16*
+
+The EC2 component supports create, run, start, stop and terminate
+https://aws.amazon.com/it/ec2/[AWS EC2] instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon EC2. More information are available at
+https://aws.amazon.com/it/ec2/[Amazon EC2].
+
+### URI Format
+
+[source,java]
+-------------------------
+aws-ec2://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS EC2 component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS EC2 default configuration |  | EC2Configuration
+| *region* (producer) | The region in which EC2 client needs to work |  | String
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS EC2 endpoint is configured using URI syntax:
+
+----
+aws-ec2:label
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *label* | *Required* Logical name |  | String
+|===
+
+
+==== Query Parameters (8 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *amazonEc2Client* (producer) | To use a existing configured AmazonEC2Client as client |  | AmazonEC2Client
+| *operation* (producer) | *Required* The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags |  | EC2Operations
+| *proxyHost* (producer) | To define a proxy host when instantiating the EC2 client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the EC2 client |  | Integer
+| *region* (producer) | The region in which EC2 client needs to work |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-ec2.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ec2.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ec2.configuration.amazon-ec2-client* | To use a existing configured AmazonEC2Client as client |  | AmazonEC2Client
+| *camel.component.aws-ec2.configuration.operation* | The operation to perform. It can be createAndRunInstances, startInstances, stopInstances, terminateInstances, describeInstances, describeInstancesStatus, rebootInstances, monitorInstances, unmonitorInstances, createTags or deleteTags |  | EC2Operations
+| *camel.component.aws-ec2.configuration.proxy-host* | To define a proxy host when instantiating the EC2 client |  | String
+| *camel.component.aws-ec2.configuration.proxy-port* | To define a proxy port when instantiating the EC2 client |  | Integer
+| *camel.component.aws-ec2.configuration.region* | The region in which EC2 client needs to work |  | String
+| *camel.component.aws-ec2.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-ec2.enabled* | Enable aws-ec2 component | true | Boolean
+| *camel.component.aws-ec2.region* | The region in which EC2 client needs to work |  | String
+| *camel.component.aws-ec2.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-ec2.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required EC2 component options
+
+You have to provide the amazonEc2Client in the
+Registry or your accessKey and secretKey to access
+the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
+
+### Usage
+
+#### Message headers evaluated by the EC2 producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsEC2ImageId` |`String` |An image ID of the AWS marketplace
+
+|`CamelAwsEC2InstanceType` |com.amazonaws.services.ec2.model.InstanceType |The instance type we want to create and run
+
+|`CamelAwsEC2Operation` |`String` |The operation we want to perform
+
+|`CamelAwsEC2InstanceMinCount` |`Int` |The mininum number of instances we want to run.
+
+|`CamelAwsEC2InstanceMaxCount` |`Int` |The maximum number of instances we want to run.
+
+|`CamelAwsEC2InstanceMonitoring` |Boolean |Define if we want the running instances to be monitored
+
+|`CamelAwsEC2InstanceEbsOptimized` |`Boolean` |Define if the creating instance is optimized for EBS I/O.
+
+|`CamelAwsEC2InstanceSecurityGroups` |Collection |The security groups to associate to the instances
+
+|`CamelAwsEC2InstancesIds` |`Collection` |A collection of instances IDS to execute start, stop, describe and
+terminate operations on.
+
+|`CamelAwsEC2InstancesTags` |`Collection` |A collection of tags to add or remove from EC2 resources
+|=======================================================================
+
+Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.16 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-iam-component.adoc b/docs/components/modules/ROOT/pages/aws-iam-component.adoc
deleted file mode 120000
index 5139798..0000000
--- a/docs/components/modules/ROOT/pages/aws-iam-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-iam-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-iam-component.adoc b/docs/components/modules/ROOT/pages/aws-iam-component.adoc
new file mode 100644
index 0000000..e6e75e5
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-iam-component.adoc
@@ -0,0 +1,172 @@
+[[aws-iam-component]]
+= AWS IAM Component
+
+*Available as of Camel version 2.23*
+
+The KMS component supports create, run, start, stop and terminate
+https://aws.amazon.com/it/iam/[AWS IAM] instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon IAM. More information are available at
+https://aws.amazon.com/it/iam/[Amazon IAM].
+
+### URI Format
+
+[source,java]
+-------------------------
+aws-kms://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS IAM component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS IAM default configuration |  | IAMConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which IAM client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS IAM endpoint is configured using URI syntax:
+
+----
+aws-iam:label
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *label* | *Required* Logical name |  | String
+|===
+
+
+==== Query Parameters (8 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *iamClient* (producer) | To use a existing configured AWS IAM as client |  | AmazonIdentity ManagementClient
+| *operation* (producer) | *Required* The operation to perform |  | IAMOperations
+| *proxyHost* (producer) | To define a proxy host when instantiating the KMS client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the KMS client |  | Integer
+| *region* (producer) | The region in which KMS client needs to work |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-iam.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-iam.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-iam.configuration.iam-client* | To use a existing configured AWS IAM as client |  | AmazonIdentity ManagementClient
+| *camel.component.aws-iam.configuration.operation* | The operation to perform |  | IAMOperations
+| *camel.component.aws-iam.configuration.proxy-host* | To define a proxy host when instantiating the KMS client |  | String
+| *camel.component.aws-iam.configuration.proxy-port* | To define a proxy port when instantiating the KMS client |  | Integer
+| *camel.component.aws-iam.configuration.region* | The region in which KMS client needs to work |  | String
+| *camel.component.aws-iam.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-iam.enabled* | Whether to enable auto configuration of the aws-iam component. This is enabled by default. |  | Boolean
+| *camel.component.aws-iam.region* | The region in which IAM client needs to work |  | String
+| *camel.component.aws-iam.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-iam.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required IAM component options
+
+You have to provide the amazonKmsClient in the
+Registry or your accessKey and secretKey to access
+the https://aws.amazon.com/it/iam/[Amazon IAM] service.
+
+### Usage
+
+#### Message headers evaluated by the IAM producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsIAMOperation` |`String` |The operation we want to perform
+
+|`CamelAwsIAMUsername` |`String` |The username for the user you want to manage
+
+|`CamelAwsIAMAccessKeyID` |`String` |The accessKey you want to manage
+
+|`CamelAwsIAMAccessKeyStatus` |`String` |The Status of the AccessKey you want to set, possible value are active and inactive
+|=======================================================================
+
+#### IAM Producer operations
+
+Camel-AWS IAM component provides the following operation on the producer side:
+
+- listAccessKeys
+- createUser
+- deleteUser
+- listUsers
+- getUser
+- createAccessKey
+- deleteAccessKey
+- updateAccessKey
+
+Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.16 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc b/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
deleted file mode 120000
index 061a7f9..0000000
--- a/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-kinesis-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc b/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
new file mode 100644
index 0000000..be0b591
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
@@ -0,0 +1,261 @@
+[[aws-kinesis-component]]
+= AWS Kinesis Component
+
+*Available as of Camel version 2.17*
+
+The Kinesis component supports receiving messages from and sending messages to Amazon Kinesis
+service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Kinesis. More information are available
+at http://aws.amazon.com/kinesis/[AWS Kinesis]
+
+### URI Format
+
+[source,java]
+-----------------------------------
+aws-kinesis://stream-name[?options]
+-----------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS Kinesis component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS S3 default configuration |  | KinesisConfiguration
+| *accessKey* (common) | Amazon AWS Access Key |  | String
+| *secretKey* (common) | Amazon AWS Secret Key |  | String
+| *region* (common) | Amazon AWS Region |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+
+// endpoint options: START
+The AWS Kinesis endpoint is configured using URI syntax:
+
+----
+aws-kinesis:streamName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *streamName* | *Required* Name of the stream |  | String
+|===
+
+
+==== Query Parameters (30 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonKinesisClient* (common) | Amazon Kinesis client to use for all requests for this endpoint |  | AmazonKinesis
+| *proxyHost* (common) | To define a proxy host when instantiating the DDBStreams client |  | String
+| *proxyPort* (common) | To define a proxy port when instantiating the DDBStreams client |  | Integer
+| *region* (common) | The region in which Kinesis client needs to work |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *iteratorType* (consumer) | Defines where in the Kinesis stream to start getting records | TRIM_HORIZON | ShardIteratorType
+| *maxResultsPerRequest* (consumer) | Maximum number of records that will be fetched in each poll | 1 | int
+| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *sequenceNumber* (consumer) | The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER |  | String
+| *shardClosed* (consumer) | Define what will be the behavior in case of shard closed. Possible value are ignore, silent and fail.In case of ignore a message will be logged and the consumer will restart from the beginning,in case of silent there will be no logging and the consumer will start from the beginning,in case of fail a ReachedClosedStateException will be raised | ignore | KinesisShardClosed StrategyEnum
+| *shardId* (consumer) | Defines which shardId in the Kinesis stream to get records from |  | String
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
+| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long
+| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
+| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
+| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
+| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
+| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
+| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
+| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 17 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-kinesis.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-kinesis.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-kinesis.configuration.amazon-kinesis-client* | Amazon Kinesis client to use for all requests for this endpoint |  | AmazonKinesis
+| *camel.component.aws-kinesis.configuration.iterator-type* | Defines where in the Kinesis stream to start getting records |  | ShardIteratorType
+| *camel.component.aws-kinesis.configuration.max-results-per-request* | Maximum number of records that will be fetched in each poll | 1 | Integer
+| *camel.component.aws-kinesis.configuration.proxy-host* | To define a proxy host when instantiating the DDBStreams client |  | String
+| *camel.component.aws-kinesis.configuration.proxy-port* | To define a proxy port when instantiating the DDBStreams client |  | Integer
+| *camel.component.aws-kinesis.configuration.region* | The region in which Kinesis client needs to work |  | String
+| *camel.component.aws-kinesis.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-kinesis.configuration.sequence-number* | The sequence number to start polling from. Required if iteratorType is set to AFTER_SEQUENCE_NUMBER or AT_SEQUENCE_NUMBER |  | String
+| *camel.component.aws-kinesis.configuration.shard-closed* | Define what will be the behavior in case of shard closed. Possible value are ignore, silent and fail.In case of ignore a message will be logged and the consumer will restart from the beginning,in case of silent there will be no logging and the consumer will start from the beginning,in case of fail a ReachedClosedStateException will be raised |  | KinesisShardClosed StrategyEnum
+| *camel.component.aws-kinesis.configuration.shard-id* | Defines which shardId in the Kinesis stream to get records from |  | String
+| *camel.component.aws-kinesis.configuration.stream-name* | Name of the stream |  | String
+| *camel.component.aws-kinesis.enabled* | Enable aws-kinesis component | true | Boolean
+| *camel.component.aws-kinesis.region* | Amazon AWS Region |  | String
+| *camel.component.aws-kinesis.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-kinesis.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+
+
+Required Kinesis component options
+
+You have to provide the amazonKinesisClient in the
+Registry with proxies and relevant credentials
+configured.
+
+### Batch Consumer
+
+This component implements the Batch Consumer.
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the Aggregator
+aggregate this number of messages.
+
+### Usage
+
+#### Message headers set by the Kinesis consumer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKinesisSequenceNumber` |`String` |The sequence number of the record. This is represented as a String as it
+size is not defined by the API. If it is to be used as a numerical type then use
+
+|`CamelAwsKinesisApproximateArrivalTimestamp` |`String` |The time AWS assigned as the arrival time of the record.
+
+|`CamelAwsKinesisPartitionKey` |`String` |Identifies which shard in the stream the data record is assigned to.
+|=======================================================================
+
+#### AmazonKinesis configuration
+
+You will need to create an instance of AmazonKinesisClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonKinesisClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+You then have to reference the AmazonKinesisClient in the `amazonKinesisClient` URI option.
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+from("aws-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
+  .to("log:out?showAll=true");
+--------------------------------------------------------------------------------------------------------------------
+
+#### Providing AWS Credentials
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+#### Message headers used by the Kinesis producer to write to Kinesis.  The producer expects that the message body is a `byte[]`.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKinesisPartitionKey` |`String` |The PartitionKey to pass to Kinesis to store this record.
+
+|`CamelAwsKinesisSequenceNumber` |`String` |Optional paramter to indicate the sequence number of this record.
+
+|=======================================================================
+
+#### Message headers set by the Kinesis producer on successful storage of a Record
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKinesisSequenceNumber` |`String` |The sequence number of the record, as defined in
+http://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html#API_PutRecord_ResponseSyntax[Response Syntax]
+
+|`CamelAwsKinesisShardId` |`String` |The shard ID of where the Record was stored
+
+
+|=======================================================================
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.17 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc b/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
deleted file mode 120000
index a2fadf7..0000000
--- a/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc b/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
new file mode 100644
index 0000000..8a56681
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
@@ -0,0 +1,197 @@
+[[aws-kinesis-firehose-component]]
+= AWS Kinesis Firehose Component
+
+*Available as of Camel version 2.19*
+
+The Kinesis Firehose component supports sending messages to Amazon Kinesis Firehose service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Kinesis Firehose. More information are available
+at https://aws.amazon.com/kinesis/firehose/[AWS Kinesis Firehose]
+
+### URI Format
+
+[source,java]
+-----------------------------------
+aws-kinesis-firehose://delivery-stream-name[?options]
+-----------------------------------
+
+The stream needs to be created prior to it being used. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS Kinesis Firehose component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS Kinesis Firehose default configuration |  | KinesisFirehose Configuration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | Amazon AWS Region |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+
+// endpoint options: START
+The AWS Kinesis Firehose endpoint is configured using URI syntax:
+
+----
+aws-kinesis-firehose:streamName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *streamName* | *Required* Name of the stream |  | String
+|===
+
+
+==== Query Parameters (7 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonKinesisFirehoseClient* (producer) | Amazon Kinesis Firehose client to use for all requests for this endpoint |  | AmazonKinesisFirehose
+| *proxyHost* (producer) | To define a proxy host when instantiating the DDBStreams client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the DDBStreams client |  | Integer
+| *region* (producer) | The region in which Kinesis client needs to work |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-kinesis-firehose.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-kinesis-firehose.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-kinesis-firehose.configuration.amazon-kinesis-firehose-client* | Amazon Kinesis Firehose client to use for all requests for this endpoint |  | AmazonKinesisFirehose
+| *camel.component.aws-kinesis-firehose.configuration.proxy-host* | To define a proxy host when instantiating the DDBStreams client |  | String
+| *camel.component.aws-kinesis-firehose.configuration.proxy-port* | To define a proxy port when instantiating the DDBStreams client |  | Integer
+| *camel.component.aws-kinesis-firehose.configuration.region* | The region in which Kinesis client needs to work |  | String
+| *camel.component.aws-kinesis-firehose.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-kinesis-firehose.configuration.stream-name* | Name of the stream |  | String
+| *camel.component.aws-kinesis-firehose.enabled* | Enable aws-kinesis-firehose component | true | Boolean
+| *camel.component.aws-kinesis-firehose.region* | Amazon AWS Region |  | String
+| *camel.component.aws-kinesis-firehose.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-kinesis-firehose.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+
+
+Required Kinesis Firehose component options
+
+You have to provide the amazonKinesisClient in the
+Registry with proxies and relevant credentials
+configured.
+
+
+### Usage
+
+#### Amazon Kinesis Firehose configuration
+
+You will need to create an instance of AmazonKinesisClient and
+bind it to the registry
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+Region region = Region.getRegion(Regions.fromName(region));
+region.createClient(AmazonKinesisClient.class, null, clientConfiguration);
+// the 'null' here is the AWSCredentialsProvider which defaults to an instance of DefaultAWSCredentialsProviderChain
+
+registry.bind("kinesisFirehoseClient", client);
+--------------------------------------------------------------------------------------------------------------------
+
+You then have to reference the AmazonKinesisFirehoseClient in the `amazonKinesisFirehoseClient` URI option.
+
+[source,java]
+--------------------------------------------------------------------------------------------------------------------
+from("aws-kinesis-firehose://mykinesisdeliverystream?amazonKinesisFirehoseClient=#kinesisClient")
+  .to("log:out?showAll=true");
+--------------------------------------------------------------------------------------------------------------------
+
+#### Providing AWS Credentials
+
+It is recommended that the credentials are obtained by using the
+http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
+that is the default when creating a new ClientConfiguration instance,
+however, a
+different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
+can be specified when calling createClient(...).
+
+#### Message headers set by the Kinesis producer on successful storage of a Record
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKinesisFirehoseRecordId` |`String` |The record ID, as defined in
+http://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html#API_PutRecord_ResponseSyntax[Response Syntax]
+
+
+|=======================================================================
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.19 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-kms-component.adoc b/docs/components/modules/ROOT/pages/aws-kms-component.adoc
deleted file mode 120000
index 18102be..0000000
--- a/docs/components/modules/ROOT/pages/aws-kms-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-kms-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-kms-component.adoc b/docs/components/modules/ROOT/pages/aws-kms-component.adoc
new file mode 100644
index 0000000..51d9d86
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-kms-component.adoc
@@ -0,0 +1,170 @@
+[[aws-kms-component]]
+= AWS KMS Component
+
+*Available as of Camel version 2.21*
+
+The KMS component supports create, run, start, stop and terminate
+https://aws.amazon.com/it/kms/[AWS KMS] instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon KMS. More information are available at
+https://aws.amazon.com/it/mq/[Amazon KMS].
+
+### URI Format
+
+[source,java]
+-------------------------
+aws-kms://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS KMS component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS KMS default configuration |  | KMSConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which KMS client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS KMS endpoint is configured using URI syntax:
+
+----
+aws-kms:label
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *label* | *Required* Logical name |  | String
+|===
+
+
+==== Query Parameters (8 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *kmsClient* (producer) | To use a existing configured AWS KMS as client |  | AWSKMS
+| *operation* (producer) | *Required* The operation to perform |  | KMSOperations
+| *proxyHost* (producer) | To define a proxy host when instantiating the KMS client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the KMS client |  | Integer
+| *region* (producer) | The region in which KMS client needs to work |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-kms.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-kms.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-kms.configuration.kms-client* | To use a existing configured AWS KMS as client |  | AWSKMS
+| *camel.component.aws-kms.configuration.operation* | The operation to perform |  | KMSOperations
+| *camel.component.aws-kms.configuration.proxy-host* | To define a proxy host when instantiating the KMS client |  | String
+| *camel.component.aws-kms.configuration.proxy-port* | To define a proxy port when instantiating the KMS client |  | Integer
+| *camel.component.aws-kms.configuration.region* | The region in which KMS client needs to work |  | String
+| *camel.component.aws-kms.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-kms.enabled* | Whether to enable auto configuration of the aws-kms component. This is enabled by default. |  | Boolean
+| *camel.component.aws-kms.region* | The region in which KMS client needs to work |  | String
+| *camel.component.aws-kms.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-kms.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required KMS component options
+
+You have to provide the amazonKmsClient in the
+Registry or your accessKey and secretKey to access
+the https://aws.amazon.com/it/kms/[Amazon KMS] service.
+
+### Usage
+
+#### Message headers evaluated by the MQ producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsKMSLimit` |`Integer` |The limit number of keys to return while performing a listKeys operation
+
+|`CamelAwsKMSOperation` |`String` |The operation we want to perform
+
+|`CamelAwsKMSDescription` |`String` |A key description to use while performing a createKey operation
+
+|`CamelAwsKMSKeyId` |`String` |The key Id 
+|=======================================================================
+
+#### KMS Producer operations
+
+Camel-AWS KMS component provides the following operation on the producer side:
+
+- listKeys
+- createKey
+- disableKey
+- scheduleKeyDeletion
+- describeKey
+- enableKey
+
+Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.16 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-lambda-component.adoc b/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
deleted file mode 120000
index 8bbd29d..0000000
--- a/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-lambda-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-lambda-component.adoc b/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
new file mode 100644
index 0000000..e043781
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
@@ -0,0 +1,227 @@
+[[aws-lambda-component]]
+= AWS Lambda Component
+
+*Available as of Camel version 2.20*
+
+The Lambda component supports create, get, list, delete and invoke
+https://aws.amazon.com/lambda/[AWS Lambda] functions.
+
+*Prerequisites*
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Lambda. More information are available at
+https://aws.amazon.com/lambda/[Amazon Lambda].
+
+When creating a Lambda function, you need to specify a IAM role which has at least the AWSLambdaBasicExecuteRole policy attached.
+
+*Warning*
+
+Lambda is regional service. Unlike S3 bucket, Lambda function created in a given region is not available on other regions.
+
+### URI Format
+
+[source,java]
+-------------------------
+aws-lambda://functionName[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS Lambda component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS Lambda default configuration |  | LambdaConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | Amazon AWS Region |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS Lambda endpoint is configured using URI syntax:
+
+----
+aws-lambda:function
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *function* | *Required* Name of the Lambda function. |  | String
+|===
+
+
+==== Query Parameters (8 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *operation* (producer) | *Required* The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction |  | LambdaOperations
+| *region* (producer) | Amazon AWS Region |  | String
+| *awsLambdaClient* (advanced) | To use a existing configured AwsLambdaClient as client |  | AWSLambda
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *proxyHost* (proxy) | To define a proxy host when instantiating the Lambda client |  | String
+| *proxyPort* (proxy) | To define a proxy port when instantiating the Lambda client |  | Integer
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 13 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-lambda.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-lambda.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-lambda.configuration.aws-lambda-client* | To use a existing configured AwsLambdaClient as client |  | AWSLambda
+| *camel.component.aws-lambda.configuration.function* | Name of the Lambda function. |  | String
+| *camel.component.aws-lambda.configuration.operation* | The operation to perform. It can be listFunctions, getFunction, createFunction, deleteFunction or invokeFunction |  | LambdaOperations
+| *camel.component.aws-lambda.configuration.proxy-host* | To define a proxy host when instantiating the Lambda client |  | String
+| *camel.component.aws-lambda.configuration.proxy-port* | To define a proxy port when instantiating the Lambda client |  | Integer
+| *camel.component.aws-lambda.configuration.region* | Amazon AWS Region |  | String
+| *camel.component.aws-lambda.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-lambda.enabled* | Whether to enable auto configuration of the aws-lambda component. This is enabled by default. |  | Boolean
+| *camel.component.aws-lambda.region* | Amazon AWS Region |  | String
+| *camel.component.aws-lambda.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-lambda.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required Lambda component options
+
+You have to provide the awsLambdaClient in the
+Registry or your accessKey and secretKey to access
+the https://aws.amazon.com/lambda/[Amazon Lambda] service.
+
+### Usage
+
+#### Message headers evaluated by the Lambda producer
+
+[width="100%",cols="5%,5%,10%,75%,5%",options="header",]
+|=======================================================================
+|Operation |Header |Type |Description |Required
+
+|All |`CamelAwsLambdaOperation` |`String` |The operation we want to perform. Override operation passed as query parameter| Yes
+
+|createFunction |`CamelAwsLambdaS3Bucket` |`String` |Amazon S3 bucket name where the .zip file containing
+your deployment package is stored. This bucket must reside in the same AWS region where you are creating the Lambda function.| No
+
+|createFunction |`CamelAwsLambdaS3Key` |`String` |The Amazon S3 object (the deployment package) key name
+you want to upload.| No
+
+|createFunction |`CamelAwsLambdaS3ObjectVersion` |String |The Amazon S3 object (the deployment package) version
+you want to upload.| No
+
+|createFunction |`CamelAwsLambdaZipFile` |`String` |The local path of the zip file (the deployment package).
+ Content of zip file can also be put in Message body.| No
+
+|createFunction |`CamelAwsLambdaRole` |`String` |The Amazon Resource Name (ARN) of the IAM role that Lambda assumes
+ when it executes your function to access any other Amazon Web Services (AWS) resources. |Yes
+
+|createFunction |`CamelAwsLambdaRuntime` |String |The runtime environment for the Lambda function you are uploading.
+ (nodejs, nodejs4.3, nodejs6.10, java8, python2.7, python3.6, dotnetcore1.0, odejs4.3-edge) |Yes
+
+|createFunction |`CamelAwsLambdaHandler` |`String` |The function within your code that Lambda calls to begin execution.
+ For Node.js, it is the module-name.export value in your function.
+ For Java, it can be package.class-name::handler or package.class-name.|Yes
+
+|createFunction |`CamelAwsLambdaDescription` |`String` |The user-provided description.|No
+
+|createFunction |`CamelAwsLambdaTargetArn` |`String` |The parent object that contains the target ARN (Amazon Resource Name)
+of an Amazon SQS queue or Amazon SNS topic.|No
+
+|createFunction |`CamelAwsLambdaMemorySize` |`Integer` |The memory size, in MB, you configured for the function.
+Must be a multiple of 64 MB.|No
+
+|createFunction |`CamelAwsLambdaKMSKeyArn` |`String` |The Amazon Resource Name (ARN) of the KMS key used to encrypt your function's environment variables.
+If not provided, AWS Lambda will use a default service key.|No
+
+|createFunction |`CamelAwsLambdaPublish` |`Boolean` |This boolean parameter can be used to request AWS Lambda
+to create the Lambda function and publish a version as an atomic operation.|No
+
+|createFunction |`CamelAwsLambdaTimeout` |`Integer` |The function execution time at which Lambda should terminate the function.
+The default is 3 seconds.|No
+
+|createFunction |`CamelAwsLambdaTracingConfig` |`String` |Your function's tracing settings (Active or PassThrough).|No
+
+|createFunction |`CamelAwsLambdaEnvironmentVariables` |`Map<String, String>` |The key-value pairs that represent your environment's configuration settings.|No
+
+|createFunction |`CamelAwsLambdaEnvironmentTags` |`Map<String, String>` |The list of tags (key-value pairs) assigned to the new function.|No
+
+|createFunction |`CamelAwsLambdaSecurityGroupIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more security groups IDs in your VPC.|No
+
+|createFunction |`CamelAwsLambdaSubnetIds` |`List<String>` |If your Lambda function accesses resources in a VPC, a list of one or more subnet IDs in your VPC.|No
+
+|=======================================================================
+
+### List of Avalaible Operations
+
+- listFunctions
+- getFunction,
+- createFunction
+- deleteFunction
+- invokeFunction
+- updateFunction
+- createEventSourceMapping
+- deleteEventSourceMapping
+- listEventSourceMapping
+
+### Example
+
+To have a full understanding of how the component works, you may have a look at this https://github.com/apache/camel/blob/master/components/camel-aws/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java[integration test]
+
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.16 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-mq-component.adoc b/docs/components/modules/ROOT/pages/aws-mq-component.adoc
deleted file mode 120000
index 54d2872..0000000
--- a/docs/components/modules/ROOT/pages/aws-mq-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-mq-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-mq-component.adoc b/docs/components/modules/ROOT/pages/aws-mq-component.adoc
new file mode 100644
index 0000000..2496759
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-mq-component.adoc
@@ -0,0 +1,171 @@
+[[aws-mq-component]]
+= AWS MQ Component
+
+*Available as of Camel version 2.21*
+
+The EC2 component supports create, run, start, stop and terminate
+https://aws.amazon.com/it/mq/[AWS MQ] instances.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon MQ. More information are available at
+https://aws.amazon.com/it/mq/[Amazon MQ].
+
+### URI Format
+
+[source,java]
+-------------------------
+aws-mq://label[?options]
+-------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS MQ component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS MQ default configuration |  | MQConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which MQ client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS MQ endpoint is configured using URI syntax:
+
+----
+aws-mq:label
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *label* | *Required* Logical name |  | String
+|===
+
+
+==== Query Parameters (8 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *amazonMqClient* (producer) | To use a existing configured AmazonMQClient as client |  | AmazonMQ
+| *operation* (producer) | *Required* The operation to perform. It can be listBrokers,createBroker,deleteBroker |  | MQOperations
+| *proxyHost* (producer) | To define a proxy host when instantiating the MQ client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the MQ client |  | Integer
+| *region* (producer) | The region in which MQ client needs to work |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-mq.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-mq.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-mq.configuration.amazon-mq-client* | To use a existing configured AmazonMQClient as client |  | AmazonMQ
+| *camel.component.aws-mq.configuration.operation* | The operation to perform. It can be listBrokers,createBroker,deleteBroker |  | MQOperations
+| *camel.component.aws-mq.configuration.proxy-host* | To define a proxy host when instantiating the MQ client |  | String
+| *camel.component.aws-mq.configuration.proxy-port* | To define a proxy port when instantiating the MQ client |  | Integer
+| *camel.component.aws-mq.configuration.region* | The region in which MQ client needs to work |  | String
+| *camel.component.aws-mq.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-mq.enabled* | Whether to enable auto configuration of the aws-mq component. This is enabled by default. |  | Boolean
+| *camel.component.aws-mq.region* | The region in which MQ client needs to work |  | String
+| *camel.component.aws-mq.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-mq.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required EC2 component options
+
+You have to provide the amazonEc2Client in the
+Registry or your accessKey and secretKey to access
+the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
+
+### Usage
+
+#### Message headers evaluated by the MQ producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsMQMaxResults` |`String` |The number of results that must be retrieved from listBrokers operation
+
+|`CamelAwsMQBrokerName` |`String` |The broker name
+
+|`CamelAwsMQOperation` |`String` |The operation we want to perform
+
+|`CamelAwsMQBrokerId` |`String` |The broker id
+
+|`CamelAwsMQBrokerDeploymentMode` |`String` |The deployment mode for the broker in the createBroker operation
+
+|`CamelAwsMQBrokerInstanceType` |`String` |The instance type for the EC2 machine in the createBroker operation
+
+|`CamelAwsMQBrokerEngine` |`String` |The Broker Engine for MQ. Default is ACTIVEMQ
+
+|`CamelAwsMQBrokerEngineVersion` |`String` |The Broker Engine Version for MQ. Currently you can choose between 5.15.6 and 5.15.0 of ACTIVEMQ
+
+|`CamelAwsMQBrokerUsers` |`List<User>` |The list of users for MQ
+
+|`CamelAwsMQBrokerPubliclyAccessible` |`Boolean` |If the MQ instance must be publicly available or not. Default is false.
+|=======================================================================
+
+Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.16 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-s3-component.adoc b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
deleted file mode 120000
index c842d08..0000000
--- a/docs/components/modules/ROOT/pages/aws-s3-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-s3-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-s3-component.adoc b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
new file mode 100644
index 0000000..dd11cc4
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
@@ -0,0 +1,409 @@
+[[aws-s3-component]]
+= AWS S3 Storage Service Component
+
+*Available as of Camel version 2.8*
+
+The S3 component supports storing and retrieving objetcs from/to
+http://aws.amazon.com/s3[Amazon's S3] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon S3. More information are available at
+http://aws.amazon.com/s3[Amazon S3].
+
+### URI Format
+
+[source,java]
+------------------------------
+aws-s3://bucketNameOrArn[?options]
+------------------------------
+
+The bucket will be created if it don't already exists. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+For example in order to read file `hello.txt` from bucket `helloBucket`, use the following snippet:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("aws-s3:helloBucket?accessKey=yourAccessKey&secretKey=yourSecretKey&prefix=hello.txt")
+  .to("file:/var/downloaded");
+--------------------------------------------------------------------------------
+
+
+### URI Options
+
+
+// component options: START
+The AWS S3 Storage Service component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS S3 default configuration |  | S3Configuration
+| *accessKey* (common) | Amazon AWS Access Key |  | String
+| *secretKey* (common) | Amazon AWS Secret Key |  | String
+| *region* (common) | The region where the bucket is located. This option is used in the com.amazonaws.services.s3.model.CreateBucketRequest. |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+
+
+
+
+
+// endpoint options: START
+The AWS S3 Storage Service endpoint is configured using URI syntax:
+
+----
+aws-s3:bucketNameOrArn
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *bucketNameOrArn* | *Required* Bucket name or ARN |  | String
+|===
+
+
+==== Query Parameters (50 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonS3Client* (common) | Reference to a com.amazonaws.services.sqs.AmazonS3 in the link:registry.htmlRegistry. |  | AmazonS3
+| *pathStyleAccess* (common) | Whether or not the S3 client should use path style access | false | boolean
+| *policy* (common) | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. |  | String
+| *proxyHost* (common) | To define a proxy host when instantiating the SQS client |  | String
+| *proxyPort* (common) | Specify a proxy port to be used inside the client definition. |  | Integer
+| *region* (common) | The region in which S3 client needs to work |  | String
+| *useIAMCredentials* (common) | Set whether the S3 client should expect to load credentials on an EC2 instance or to expect static credentials to be passed in. | false | boolean
+| *encryptionMaterials* (common) | The encryption materials to use in case of Symmetric/Asymmetric client usage |  | EncryptionMaterials
+| *useEncryption* (common) | Define if encryption must be used or not | false | boolean
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *deleteAfterRead* (consumer) | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the S3Constants#BUCKET_NAME and S3Constants#KEY headers, or only the S3Constants#KEY [...]
+| *fileName* (consumer) | To get the object from the bucket with the given file name |  | String
+| *includeBody* (consumer) | If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | boolean
+| *maxConnections* (consumer) | Set the maxConnections parameter in the S3 client configuration | 60 | int
+| *maxMessagesPerPoll* (consumer) | Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited. | 10 | int
+| *prefix* (consumer) | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. |  | String
+| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *autocloseBody* (consumer) | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
+| *deleteAfterWrite* (producer) | Delete file object after the S3 file has been uploaded | false | boolean
+| *multiPartUpload* (producer) | If it is true, camel will upload the file with multi part format, the part size is decided by the option of partSize | false | boolean
+| *operation* (producer) | The operation to do in case the user don't want to do only an upload |  | S3Operations
+| *partSize* (producer) | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400 | long
+| *serverSideEncryption* (producer) | Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256. |  | String
+| *storageClass* (producer) | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. |  | String
+| *awsKMSKeyId* (producer) | Define the id of KMS key to use in case KMS is enabled |  | String
+| *useAwsKMS* (producer) | Define if KMS must be used or not | false | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *accelerateModeEnabled* ( advanced) | Define if Accelerate Mode enabled is true or false | false | boolean
+| *chunkedEncodingDisabled* ( advanced) | Define if disabled Chunked Encoding is true or false | false | boolean
+| *dualstackEnabled* ( advanced) | Define if Dualstack enabled is true or false | false | boolean
+| *forceGlobalBucketAccess Enabled* ( advanced) | Define if Force Global Bucket Access enabled is true or false | false | boolean
+| *payloadSigningEnabled* ( advanced) | Define if Payload Signing enabled is true or false | false | boolean
+| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
+| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long
+| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
+| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
+| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
+| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
+| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
+| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
+| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 34 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-s3.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-s3.configuration.accelerate-mode-enabled* | Define if Accelerate Mode enabled is true or false | false | Boolean
+| *camel.component.aws-s3.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-s3.configuration.amazon-s3-client* | Reference to a com.amazonaws.services.sqs.AmazonS3 in the link:registry.htmlRegistry. |  | AmazonS3
+| *camel.component.aws-s3.configuration.autoclose-body* | If this option is true and includeBody is true, then the S3Object.close() method will be called on exchange completion. This option is strongly related to includeBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | true | Boolean
+| *camel.component.aws-s3.configuration.aws-k-m-s-key-id* | Define the id of KMS key to use in case KMS is enabled |  | String
+| *camel.component.aws-s3.configuration.bucket-name* | Name of the bucket. The bucket will be created if it doesn't already exists. |  | String
+| *camel.component.aws-s3.configuration.chunked-encoding-disabled* | Define if disabled Chunked Encoding is true or false | false | Boolean
+| *camel.component.aws-s3.configuration.delete-after-read* | Delete objects from S3 after they have been retrieved. The delete is only performed if the Exchange is committed. If a rollback occurs, the object is not deleted. If this option is false, then the same objects will be retrieve over and over again on the polls. Therefore you need to use the Idempotent Consumer EIP in the route to filter out duplicates. You can filter using the S3Constants#BUCKET_NAME and S3Constants#KEY headers, [...]
+| *camel.component.aws-s3.configuration.delete-after-write* | Delete file object after the S3 file has been uploaded | false | Boolean
+| *camel.component.aws-s3.configuration.dualstack-enabled* | Define if Dualstack enabled is true or false | false | Boolean
+| *camel.component.aws-s3.configuration.encryption-materials* | The encryption materials to use in case of Symmetric/Asymmetric client usage |  | EncryptionMaterials
+| *camel.component.aws-s3.configuration.file-name* | To get the object from the bucket with the given file name |  | String
+| *camel.component.aws-s3.configuration.force-global-bucket-access-enabled* | Define if Force Global Bucket Access enabled is true or false | false | Boolean
+| *camel.component.aws-s3.configuration.include-body* | If it is true, the exchange body will be set to a stream to the contents of the file. If false, the headers will be set with the S3 object metadata, but the body will be null. This option is strongly related to autocloseBody option. In case of setting includeBody to true and autocloseBody to false, it will be up to the caller to close the S3Object stream. Setting autocloseBody to true, will close the S3Object stream automatically. | [...]
+| *camel.component.aws-s3.configuration.multi-part-upload* | If it is true, camel will upload the file with multi part format, the part size is decided by the option of partSize | false | Boolean
+| *camel.component.aws-s3.configuration.operation* | The operation to do in case the user don't want to do only an upload |  | S3Operations
+| *camel.component.aws-s3.configuration.part-size* | Setup the partSize which is used in multi part upload, the default size is 25M. | 26214400 | Long
+| *camel.component.aws-s3.configuration.path-style-access* | Whether or not the S3 client should use path style access | false | Boolean
+| *camel.component.aws-s3.configuration.payload-signing-enabled* | Define if Payload Signing enabled is true or false | false | Boolean
+| *camel.component.aws-s3.configuration.policy* | The policy for this queue to set in the com.amazonaws.services.s3.AmazonS3#setBucketPolicy() method. |  | String
+| *camel.component.aws-s3.configuration.prefix* | The prefix which is used in the com.amazonaws.services.s3.model.ListObjectsRequest to only consume objects we are interested in. |  | String
+| *camel.component.aws-s3.configuration.proxy-host* | To define a proxy host when instantiating the SQS client |  | String
+| *camel.component.aws-s3.configuration.proxy-port* | Specify a proxy port to be used inside the client definition. |  | Integer
+| *camel.component.aws-s3.configuration.region* | The region in which S3 client needs to work |  | String
+| *camel.component.aws-s3.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-s3.configuration.server-side-encryption* | Sets the server-side encryption algorithm when encrypting the object using AWS-managed keys. For example use AES256. |  | String
+| *camel.component.aws-s3.configuration.storage-class* | The storage class to set in the com.amazonaws.services.s3.model.PutObjectRequest request. |  | String
+| *camel.component.aws-s3.configuration.use-aws-k-m-s* | Define if KMS must be used or not | false | Boolean
+| *camel.component.aws-s3.configuration.use-encryption* | Define if encryption must be used or not | false | Boolean
+| *camel.component.aws-s3.enabled* | Enable aws-s3 component | true | Boolean
+| *camel.component.aws-s3.region* | The region where the bucket is located. This option is used in the com.amazonaws.services.s3.model.CreateBucketRequest. |  | String
+| *camel.component.aws-s3.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-s3.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+
+
+
+
+
+Required S3 component options
+
+You have to provide the amazonS3Client in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/s3[Amazon's S3].
+
+### Batch Consumer
+
+This component implements the Batch Consumer.
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the Aggregator
+aggregate this number of messages.
+
+### Usage
+
+#### Message headers evaluated by the S3 producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsS3BucketName` |`String` |The bucket Name which this object will be stored or which will be used for the current operation
+
+|`CamelAwsS3BucketDestinationName` |`String` |*Camel 2.18*: The bucket Destination Name which will be used for the current operation
+
+|`CamelAwsS3ContentLength` |`Long` |The content length of this object.
+
+|`CamelAwsS3ContentType` |`String` |The content type of this object.
+
+|`CamelAwsS3ContentControl` |`String` |*Camel 2.8.2:* The content control of this object.
+
+|`CamelAwsS3ContentDisposition` |`String` |*Camel 2.8.2:* The content disposition of this object.
+
+|`CamelAwsS3ContentEncoding` |`String` |*Camel 2.8.2:* The content encoding of this object.
+
+|`CamelAwsS3ContentMD5` |`String` |*Camel 2.8.2:* The md5 checksum of this object.
+
+|`CamelAwsS3DestinationKey` |`String` |*Camel 2.18*:The Destination key which will be used for the current operation
+
+|`CamelAwsS3Key` |`String` |The key under which this object will be stored or which will be used for the current operation
+
+|`CamelAwsS3LastModified` |`java.util.Date` |*Camel 2.8.2:* The last modified timestamp of this object.
+
+|`CamelAwsS3Operation` |`String` |*Camel 2.18*: The operation to perform. Permitted values are copyObject, deleteObject, listBuckets, deleteBucket, downloadLink, listObjects
+
+|`CamelAwsS3StorageClass` |`String` |*Camel 2.8.4:* The storage class of this object.
+
+|`CamelAwsS3CannedAcl` |`String` |*Camel 2.11.0:* The canned acl that will be applied to the object. see
+`com.amazonaws.services.s3.model.CannedAccessControlList` for allowed
+values.
+
+|`CamelAwsS3Acl` |`com.amazonaws.services.s3.model.AccessControlList` |*Camel 2.11.0:* a well constructed Amazon S3 Access Control List object.
+see `com.amazonaws.services.s3.model.AccessControlList` for more details
+
+|`CamelAwsS3Headers` |`Map<String,String>` |*Camel 2.15.0*: support to get or set custom objectMetadata headers.
+
+|`CamelAwsS3ServerSideEncryption` |String |*Camel 2.16:* Sets the server-side encryption algorithm when encrypting
+the object using AWS-managed keys. For example use AES256.
+
+|`CamelAwsS3VersionId` |`String` |The version Id of the object to be stored or returned from the current operation
+|=======================================================================
+
+#### Message headers set by the S3 producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+|`CamelAwsS3ETag` |`String` |The ETag value for the newly uploaded object.
+
+|`CamelAwsS3VersionId` |`String` |The *optional* version ID of the newly uploaded object.
+
+|`CamelAwsS3DownloadLinkExpiration` | `String` | The expiration (millis) of URL download link. The link will be stored into *CamelAwsS3DownloadLink* response header.
+
+|=======================================================================
+
+#### Message headers set by the S3 consumer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsS3Key` |`String` |The key under which this object is stored.
+
+|`CamelAwsS3BucketName` |`String` |The name of the bucket in which this object is contained.
+
+|`CamelAwsS3ETag` |`String` |The hex encoded 128-bit MD5 digest of the associated object according to
+RFC 1864. This data is used as an integrity check to verify that the
+data received by the caller is the same data that was sent by Amazon S3.
+
+|`CamelAwsS3LastModified` |`Date` |The value of the Last-Modified header, indicating the date and time at
+which Amazon S3 last recorded a modification to the associated object.
+
+|`CamelAwsS3VersionId` |`String` |The version ID of the associated Amazon S3 object if available. Version
+IDs are only assigned to objects when an object is uploaded to an Amazon
+S3 bucket that has object versioning enabled.
+
+|`CamelAwsS3ContentType` |`String` |The Content-Type HTTP header, which indicates the type of content stored
+in the associated object. The value of this header is a standard MIME
+type.
+
+|`CamelAwsS3ContentMD5` |`String` |The base64 encoded 128-bit MD5 digest of the associated object (content
+- not including headers) according to RFC 1864. This data is used as a
+message integrity check to verify that the data received by Amazon S3 is
+the same data that the caller sent.
+
+|`CamelAwsS3ContentLength` |`Long` |The Content-Length HTTP header indicating the size of the associated
+object in bytes.
+
+|`CamelAwsS3ContentEncoding` |`String` |The *optional* Content-Encoding HTTP header specifying what content
+encodings have been applied to the object and what decoding mechanisms
+must be applied in order to obtain the media-type referenced by the
+Content-Type field.
+
+|`CamelAwsS3ContentDisposition` |`String` |The *optional* Content-Disposition HTTP header, which specifies
+presentational information such as the recommended filename for the
+object to be saved as.
+
+|`CamelAwsS3ContentControl` |`String` |The *optional* Cache-Control HTTP header which allows the user to
+specify caching behavior along the HTTP request/reply chain.
+
+|`CamelAwsS3ServerSideEncryption` |String |*Camel 2.16:* The server-side encryption algorithm when encrypting the
+object using AWS-managed keys.
+|=======================================================================
+
+#### S3 Producer operations
+
+Camel-AWS s3 component provides the following operation on the producer side:
+
+- copyObject
+- deleteObject
+- listBuckets
+- deleteBucket
+- downloadLink
+- listObjects
+
+#### Advanced AmazonS3 configuration
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the `AmazonS3` instance configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonS3 client = new AmazonS3Client(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel aws-s3 component configuration:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+--------------------------------------------------------------------------------
+
+#### Use KMS with the S3 component
+
+To use AWS KMS to encrypt/decrypt data by using AWS infrastructure you can use the options introduced in 2.21.x like in the following example
+
+[source,java]
+--------------------------------------------------------------------------------
+from("file:tmp/test?fileName=test.txt")
+     .setHeader(S3Constants.KEY, constant("testFile"))
+     .to("aws-s3://mybucket?amazonS3Client=#client&useAwsKMS=true&awsKMSKeyId=3f0637ad-296a-3dfe-a796-e60654fb128c");
+--------------------------------------------------------------------------------
+
+In this way you'll ask to S3, to use the KMS key 3f0637ad-296a-3dfe-a796-e60654fb128c, to encrypt the file test.txt. When you'll ask to download this file, the decryption will be done directly before the download.
+
+#### Use "useIAMCredentials" with the s3 component
+
+To use AWS IAM credentials, you must first verify that the EC2 in which you are launching the Camel application on has an IAM role associated with it containing the appropriate policies attached to run effectively.
+Keep in mind that this feature should only be set to "true" on remote instances. To clarify even further, you must still use static credentials locally since IAM is an AWS specific component,
+but AWS environments should now be easier to manage. After this is implemented and understood, you can set the query parameter "useIAMCredentials" to "true" for AWS environments! To effectively toggle this
+on and off based on local and remote environments, you can consider enabling this query parameter with system environment variables. For example, your code could set the "useIAMCredentials" query parameter to "true",
+when the system environment variable called "isRemote" is set to true (there are many other ways to do this and this should act as a simple example). Although it doesn't take away the need for static credentials completely,
+using IAM credentials on AWS environments takes away the need to refresh on remote environments and adds a major security boost (IAM credentials are refreshed automatically every 6 hours and update when their
+policies are updated). This is the AWS recommended way to manage credentials and therefore should be used as often as possible.
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-sdb-component.adoc b/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
deleted file mode 120000
index 6cd88d5..0000000
--- a/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-sdb-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-sdb-component.adoc b/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
new file mode 100644
index 0000000..30cee38
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
@@ -0,0 +1,244 @@
+[[aws-sdb-component]]
+= AWS SimpleDB Component
+
+*Available as of Camel version 2.9*
+
+The sdb component supports storing and retrieving data from/to
+http://aws.amazon.com/sdb[Amazon's SDB] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SDB. More information are available at
+http://aws.amazon.com/sdb[Amazon SDB].
+
+### URI Format
+
+[source,java]
+------------------------------
+aws-sdb://domainName[?options]
+------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS SimpleDB component has no options.
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS SimpleDB endpoint is configured using URI syntax:
+
+----
+aws-sdb:domainName
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *domainName* | *Required* The name of the domain currently worked with. |  | String
+|===
+
+
+==== Query Parameters (10 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *amazonSDBClient* (producer) | To use the AmazonSimpleDB as the client |  | AmazonSimpleDB
+| *consistentRead* (producer) | Determines whether or not strong consistency should be enforced when data is read. | false | boolean
+| *maxNumberOfDomains* (producer) | The maximum number of domain names you want returned. The range is 1 to 100. |  | Integer
+| *operation* (producer) | Operation to perform | PutAttributes | SdbOperations
+| *proxyHost* (producer) | To define a proxy host when instantiating the SDB client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the SDB client |  | Integer
+| *region* (producer) | The region in which SDB client needs to work |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-sdb.enabled* | Enable aws-sdb component | true | Boolean
+| *camel.component.aws-sdb.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required SDB component options
+
+You have to provide the amazonSDBClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/sdb[Amazon's SDB].
+
+### Usage
+
+#### Message headers evaluated by the SDB producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbAttributes` |`Collection<Attribute>` |List of attributes to be acted upon.
+
+|`CamelAwsSdbAttributeNames` |`Collection<String>` |The names of the attributes to be retrieved.
+
+|`CamelAwsSdbConsistentRead` |`Boolean` |Determines whether or not strong consistency should be enforced when
+data is read.
+
+|`CamelAwsSdbDeletableItems` |`Collection<DeletableItem>` |A list of items on which to perform the delete operation in a batch.
+
+|`CamelAwsSdbDomainName` |`String` |The name of the domain currently worked with.
+
+|`CamelAwsSdbItemName` |`String` |The unique key for this item
+
+|`CamelAwsSdbMaxNumberOfDomains` |`Integer` |The maximum number of domain names you want returned. The range is 1 *
+to 100.
+
+|`CamelAwsSdbNextToken` |`String` |A string specifying where to start the next list of domain/item names.
+
+|`CamelAwsSdbOperation` |`String` |To override the operation from the URI options.
+
+|`CamelAwsSdbReplaceableAttributes` |`Collection<ReplaceableAttribute>` |List of attributes to put in an Item.
+
+|`CamelAwsSdbReplaceableItems` |`Collection<ReplaceableItem>` |A list of items to put in a Domain.
+
+|`CamelAwsSdbSelectExpression` |`String` |The expression used to query the domain.
+
+|`CamelAwsSdbUpdateCondition` |`UpdateCondition` |The update condition which, if specified, determines whether the
+specified attributes will be updated/deleted or not.
+|=======================================================================
+
+#### Message headers set during DomainMetadata operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbTimestamp` |`Integer` |The data and time when metadata was calculated, in Epoch (UNIX) seconds.
+
+|`CamelAwsSdbItemCount` |`Integer` |The number of all items in the domain.
+
+|`CamelAwsSdbAttributeNameCount` |`Integer` |The number of unique attribute names in the domain.
+
+|`CamelAwsSdbAttributeValueCount` |`Integer` |The number of all attribute name/value pairs in the domain.
+
+|`CamelAwsSdbAttributeNameSize` |`Long` |The total size of all unique attribute names in the domain, in bytes.
+
+|`CamelAwsSdbAttributeValueSize` |`Long` |The total size of all attribute values in the domain, in bytes.
+
+|`CamelAwsSdbItemNameSize` |`Long` |The total size of all item names in the domain, in bytes.
+|=======================================================================
+
+#### Message headers set during GetAttributes operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbAttributes` |`List<Attribute>` |The list of attributes returned by the operation.
+|=======================================================================
+
+#### Message headers set during ListDomains operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbDomainNames` |`List<String>` |A list of domain names that match the expression.
+
+|`CamelAwsSdbNextToken` |`String` |An opaque token indicating that there are more domains than the
+specified MaxNumberOfDomains still available.
+|=======================================================================
+
+#### Message headers set during Select operation
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSdbItems` |`List<Item>` |A list of items that match the select expression.
+
+|`CamelAwsSdbNextToken` |`String` |An opaque token indicating that more items than MaxNumberOfItems were
+matched, the response size exceeded 1 megabyte, or the execution time
+exceeded 5 seconds.
+|=======================================================================
+
+#### Advanced AmazonSimpleDB configuration
+
+If you need more control over the `AmazonSimpleDB` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+----------------------------------------------------
+from("direct:start")
+.to("aws-sdb://domainName?amazonSDBClient=#client");
+----------------------------------------------------
+
+The `#client` refers to a `AmazonSimpleDB` in the
+Registry.
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSimpleDB client = new AmazonSimpleDBClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8.4 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-ses-component.adoc b/docs/components/modules/ROOT/pages/aws-ses-component.adoc
deleted file mode 120000
index 9f29dfa..0000000
--- a/docs/components/modules/ROOT/pages/aws-ses-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-ses-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-ses-component.adoc b/docs/components/modules/ROOT/pages/aws-ses-component.adoc
new file mode 100644
index 0000000..1d1d3bf
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-ses-component.adoc
@@ -0,0 +1,207 @@
+[[aws-ses-component]]
+= AWS Simple Email Service Component
+
+*Available as of Camel version 2.9*
+
+The ses component supports sending emails with
+http://aws.amazon.com/ses[Amazon's SES] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SES. More information are available at
+http://aws.amazon.com/ses[Amazon SES].
+
+### URI Format
+
+[source,java]
+------------------------
+aws-ses://from[?options]
+------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS Simple Email Service component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS SES default configuration |  | SesConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which SES client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS Simple Email Service endpoint is configured using URI syntax:
+
+----
+aws-ses:from
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *from* | *Required* The sender's email address. |  | String
+|===
+
+
+==== Query Parameters (11 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonSESClient* (producer) | To use the AmazonSimpleEmailService as the client |  | AmazonSimpleEmail Service
+| *proxyHost* (producer) | To define a proxy host when instantiating the SES client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the SES client |  | Integer
+| *region* (producer) | The region in which SES client needs to work |  | String
+| *replyToAddresses* (producer) | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
+| *returnPath* (producer) | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
+| *subject* (producer) | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |  | String
+| *to* (producer) | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 16 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-ses.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ses.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-ses.configuration.amazon-s-e-s-client* | To use the AmazonSimpleEmailService as the client |  | AmazonSimpleEmail Service
+| *camel.component.aws-ses.configuration.from* | The sender's email address. |  | String
+| *camel.component.aws-ses.configuration.proxy-host* | To define a proxy host when instantiating the SES client |  | String
+| *camel.component.aws-ses.configuration.proxy-port* | To define a proxy port when instantiating the SES client |  | Integer
+| *camel.component.aws-ses.configuration.region* | The region in which SES client needs to work |  | String
+| *camel.component.aws-ses.configuration.reply-to-addresses* | List of reply-to email address(es) for the message, override it using 'CamelAwsSesReplyToAddresses' header. |  | List
+| *camel.component.aws-ses.configuration.return-path* | The email address to which bounce notifications are to be forwarded, override it using 'CamelAwsSesReturnPath' header. |  | String
+| *camel.component.aws-ses.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-ses.configuration.subject* | The subject which is used if the message header 'CamelAwsSesSubject' is not present. |  | String
+| *camel.component.aws-ses.configuration.to* | List of destination email address. Can be overriden with 'CamelAwsSesTo' header. |  | List
+| *camel.component.aws-ses.enabled* | Enable aws-ses component | true | Boolean
+| *camel.component.aws-ses.region* | The region in which SES client needs to work |  | String
+| *camel.component.aws-ses.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-ses.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required SES component options
+
+You have to provide the amazonSESClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/ses[Amazon's SES].
+
+### Usage
+
+#### Message headers evaluated by the SES producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSesFrom` |`String` |The sender's email address.
+
+|`CamelAwsSesTo` |`List<String>` |The destination(s) for this email.
+
+|`CamelAwsSesSubject` |`String` |The subject of the message.
+
+|`CamelAwsSesReplyToAddresses` |`List<String>` |The reply-to email address(es) for the message.
+
+|`CamelAwsSesReturnPath` |`String` |The email address to which bounce notifications are to be forwarded.
+
+|`CamelAwsSesHtmlEmail` |`Boolean` |*Since Camel 2.12.3* The flag to show if email content is HTML.
+|=======================================================================
+
+#### Message headers set by the SES producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSesMessageId` |`String` |The Amazon SES message ID.
+|=======================================================================
+
+#### Advanced AmazonSimpleEmailService configuration
+
+If you need more control over the `AmazonSimpleEmailService` instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+[source,java]
+-------------------------------------------------------------
+from("direct:start")
+.to("aws-ses://example@example.com?amazonSESClient=#client");
+-------------------------------------------------------------
+
+The `#client` refers to a `AmazonSimpleEmailService` in the
+Registry.
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+----------------------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+AmazonSimpleEmailService client = new AmazonSimpleEmailServiceClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+----------------------------------------------------------------------------------------------------------
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8.4 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-sns-component.adoc b/docs/components/modules/ROOT/pages/aws-sns-component.adoc
deleted file mode 120000
index 75aec9b..0000000
--- a/docs/components/modules/ROOT/pages/aws-sns-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-sns-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-sns-component.adoc b/docs/components/modules/ROOT/pages/aws-sns-component.adoc
new file mode 100644
index 0000000..3c408e0
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-sns-component.adoc
@@ -0,0 +1,202 @@
+[[aws-sns-component]]
+= AWS Simple Notification System Component
+
+*Available as of Camel version 2.8*
+
+The SNS component allows messages to be sent to an
+http://aws.amazon.com/sns[Amazon Simple Notification] Topic. The
+implementation of the Amazon API is provided by
+the http://aws.amazon.com/sdkforjava/[AWS SDK].
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SNS. More information are available at
+http://aws.amazon.com/sns[Amazon SNS].
+
+### URI Format
+
+[source,java]
+-----------------------------
+aws-sns://topicNameOrArn[?options]
+-----------------------------
+
+The topic will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+`?options=value&option2=value&...`
+
+### URI Options
+
+
+// component options: START
+The AWS Simple Notification System component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS SNS default configuration |  | SnsConfiguration
+| *accessKey* (producer) | Amazon AWS Access Key |  | String
+| *secretKey* (producer) | Amazon AWS Secret Key |  | String
+| *region* (producer) | The region in which SNS client needs to work |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+// endpoint options: START
+The AWS Simple Notification System endpoint is configured using URI syntax:
+
+----
+aws-sns:topicNameOrArn
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *topicNameOrArn* | *Required* Topic name or ARN |  | String
+|===
+
+
+==== Query Parameters (11 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonSNSClient* (producer) | To use the AmazonSNS as the client |  | AmazonSNS
+| *headerFilterStrategy* (producer) | To use a custom HeaderFilterStrategy to map headers to/from Camel. |  | HeaderFilterStrategy
+| *messageStructure* (producer) | The message structure to use such as json |  | String
+| *policy* (producer) | The policy for this queue |  | String
+| *proxyHost* (producer) | To define a proxy host when instantiating the SNS client |  | String
+| *proxyPort* (producer) | To define a proxy port when instantiating the SNS client |  | Integer
+| *region* (producer) | The region in which SNS client needs to work |  | String
+| *subject* (producer) | The subject which is used if the message header 'CamelAwsSnsSubject' is not present. |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 16 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-sns.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-sns.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-sns.configuration.amazon-s-n-s-client* | To use the AmazonSNS as the client |  | AmazonSNS
+| *camel.component.aws-sns.configuration.message-structure* | The message structure to use such as json |  | String
+| *camel.component.aws-sns.configuration.policy* | The policy for this queue |  | String
+| *camel.component.aws-sns.configuration.proxy-host* | To define a proxy host when instantiating the SNS client |  | String
+| *camel.component.aws-sns.configuration.proxy-port* | To define a proxy port when instantiating the SNS client |  | Integer
+| *camel.component.aws-sns.configuration.region* | The region in which SNS client needs to work |  | String
+| *camel.component.aws-sns.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-sns.configuration.subject* | The subject which is used if the message header 'CamelAwsSnsSubject' is not present. |  | String
+| *camel.component.aws-sns.configuration.topic-arn* | The Amazon Resource Name (ARN) assigned to the created topic. |  | String
+| *camel.component.aws-sns.configuration.topic-name* | The name of the topic |  | String
+| *camel.component.aws-sns.enabled* | Enable aws-sns component | true | Boolean
+| *camel.component.aws-sns.region* | The region in which SNS client needs to work |  | String
+| *camel.component.aws-sns.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-sns.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+Required SNS component options
+
+You have to provide the amazonSNSClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/sns[Amazon's SNS].
+
+### Usage
+
+#### Message headers evaluated by the SNS producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSnsSubject` |`String` |The Amazon SNS message subject. If not set, the subject from the
+`SnsConfiguration` is used.
+|=======================================================================
+
+#### Message headers set by the SNS producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSnsMessageId` |`String` |The Amazon SNS message ID.
+|=======================================================================
+
+#### Advanced AmazonSNS configuration
+
+If you need more control over the `AmazonSNS` instance configuration you
+can create your own instance and refer to it from the URI:
+
+[source,java]
+-------------------------------------------------
+from("direct:start")
+.to("aws-sns://MyTopic?amazonSNSClient=#client");
+-------------------------------------------------
+
+The `#client` refers to a `AmazonSNS` in the
+Registry.
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+AmazonSNS client = new AmazonSNSClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.8 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-sqs-component.adoc b/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
deleted file mode 120000
index bacbc60..0000000
--- a/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-sqs-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-sqs-component.adoc b/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
new file mode 100644
index 0000000..6965616
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
@@ -0,0 +1,338 @@
+[[aws-sqs-component]]
+= AWS Simple Queue Service Component
+
+*Available as of Camel version 2.6*
+
+The sqs component supports sending and receiving messages to
+http://aws.amazon.com/sqs[Amazon's SQS] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon SQS. More information are available at
+http://aws.amazon.com/sqs[Amazon SQS].
+
+### URI Format
+
+[source,java]
+------------------------------
+aws-sqs://queueNameOrArn[?options]
+------------------------------
+
+The queue will be created if they don't already exists. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS Simple Queue Service component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS SQS default configuration |  | SqsConfiguration
+| *accessKey* (common) | Amazon AWS Access Key |  | String
+| *secretKey* (common) | Amazon AWS Secret Key |  | String
+| *region* (common) | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+
+
+
+
+// endpoint options: START
+The AWS Simple Queue Service endpoint is configured using URI syntax:
+
+----
+aws-sqs:queueNameOrArn
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *queueNameOrArn* | *Required* Queue name or ARN |  | String
+|===
+
+
+==== Query Parameters (51 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonAWSHost* (common) | The hostname of the Amazon AWS cloud. | amazonaws.com | String
+| *amazonSQSClient* (common) | To use the AmazonSQS as client |  | AmazonSQS
+| *headerFilterStrategy* (common) | To use a custom HeaderFilterStrategy to map headers to/from Camel. |  | HeaderFilterStrategy
+| *queueOwnerAWSAccountId* (common) | Specify the queue owner aws account id when you need to connect the queue with different account owner. |  | String
+| *region* (common) | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. |  | String
+| *attributeNames* (consumer) | A list of attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *concurrentConsumers* (consumer) | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | int
+| *defaultVisibilityTimeout* (consumer) | The default visibility timeout (in seconds) |  | Integer
+| *deleteAfterRead* (consumer) | Delete message from SQS after it has been read | true | boolean
+| *deleteIfFiltered* (consumer) | Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage. | true | boolean
+| *extendMessageVisibility* (consumer) | If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. | false | boolean
+| *kmsDataKeyReusePeriod Seconds* (consumer) | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). |  | Integer
+| *kmsMasterKeyId* (consumer) | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. |  | String
+| *maxMessagesPerPoll* (consumer) | Gets the maximum number of messages as a limit to poll at each polling. Is default unlimited, but use 0 or negative number to disable it as unlimited. |  | int
+| *messageAttributeNames* (consumer) | A list of message attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
+| *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
+| *serverSideEncryptionEnabled* (consumer) | Define if Server Side Encryption is enabled or not on the queue | false | boolean
+| *visibilityTimeout* (consumer) | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
+| *waitTimeSeconds* (consumer) | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *pollStrategy* (consumer) | A pluggable org.apache.camel.PollingConsumerPollingStrategy allowing you to provide your custom implementation to control error handling usually occurred during the poll operation before an Exchange have been created and being routed in Camel. |  | PollingConsumerPoll Strategy
+| *delaySeconds* (producer) | Delay sending messages for a number of seconds. |  | Integer
+| *messageDeduplicationId Strategy* (producer) | Only for FIFO queues. Strategy for setting the messageDeduplicationId on the message. Can be one of the following options: useExchangeId, useContentBasedDeduplication. For the useContentBasedDeduplication option, no messageDeduplicationId will be set on the message. | useExchangeId | MessageDeduplicationId Strategy
+| *messageGroupIdStrategy* (producer) | Only for FIFO queues. Strategy for setting the messageGroupId on the message. Can be one of the following options: useConstant, useExchangeId, usePropertyValue. For the usePropertyValue option, the value of property CamelAwsMessageGroupId will be used. |  | MessageGroupIdStrategy
+| *delayQueue* (advanced) | Define if you want to apply delaySeconds option to the queue or on single messages | false | boolean
+| *queueUrl* (advanced) | To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *backoffErrorThreshold* (scheduler) | The number of subsequent error polls (failed due some error) that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffIdleThreshold* (scheduler) | The number of subsequent idle polls that should happen before the backoffMultipler should kick-in. |  | int
+| *backoffMultiplier* (scheduler) | To let the scheduled polling consumer backoff if there has been a number of subsequent idles/errors in a row. The multiplier is then the number of polls that will be skipped before the next actual attempt is happening again. When this option is in use then backoffIdleThreshold and/or backoffErrorThreshold must also be configured. |  | int
+| *delay* (scheduler) | Milliseconds before the next poll. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 500 | long
+| *greedy* (scheduler) | If greedy is enabled, then the ScheduledPollConsumer will run immediately again, if the previous run polled 1 or more messages. | false | boolean
+| *initialDelay* (scheduler) | Milliseconds before the first poll starts. You can also specify time values using units, such as 60s (60 seconds), 5m30s (5 minutes and 30 seconds), and 1h (1 hour). | 1000 | long
+| *runLoggingLevel* (scheduler) | The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that. | TRACE | LoggingLevel
+| *scheduledExecutorService* (scheduler) | Allows for configuring a custom/shared thread pool to use for the consumer. By default each consumer has its own single threaded thread pool. |  | ScheduledExecutor Service
+| *scheduler* (scheduler) | To use a cron scheduler from either camel-spring or camel-quartz2 component | none | ScheduledPollConsumer Scheduler
+| *schedulerProperties* (scheduler) | To configure additional properties when using a custom scheduler or any of the Quartz2, Spring based scheduler. |  | Map
+| *startScheduler* (scheduler) | Whether the scheduler should be auto started. | true | boolean
+| *timeUnit* (scheduler) | Time unit for initialDelay and delay options. | MILLISECONDS | TimeUnit
+| *useFixedDelay* (scheduler) | Controls if fixed delay or fixed rate is used. See ScheduledExecutorService in JDK for details. | true | boolean
+| *proxyHost* (proxy) | To define a proxy host when instantiating the SQS client |  | String
+| *proxyPort* (proxy) | To define a proxy port when instantiating the SQS client |  | Integer
+| *maximumMessageSize* (queue) | The maximumMessageSize (in bytes) an SQS message can contain for this queue. |  | Integer
+| *messageRetentionPeriod* (queue) | The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. |  | Integer
+| *policy* (queue) | The policy for this queue |  | String
+| *receiveMessageWaitTime Seconds* (queue) | If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. |  | Integer
+| *redrivePolicy* (queue) | Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. |  | String
+| *accessKey* (security) | Amazon AWS Access Key |  | String
+| *secretKey* (security) | Amazon AWS Secret Key |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 34 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-sqs.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-sqs.configuration.access-key* | Amazon AWS Access Key |  | String
+| *camel.component.aws-sqs.configuration.amazon-a-w-s-host* | The hostname of the Amazon AWS cloud. | amazonaws.com | String
+| *camel.component.aws-sqs.configuration.amazon-s-q-s-client* | To use the AmazonSQS as client |  | AmazonSQS
+| *camel.component.aws-sqs.configuration.attribute-names* | A list of attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
+| *camel.component.aws-sqs.configuration.concurrent-consumers* | Allows you to use multiple threads to poll the sqs queue to increase throughput | 1 | Integer
+| *camel.component.aws-sqs.configuration.default-visibility-timeout* | The default visibility timeout (in seconds) |  | Integer
+| *camel.component.aws-sqs.configuration.delay-queue* | Define if you want to apply delaySeconds option to the queue or on single messages | false | Boolean
+| *camel.component.aws-sqs.configuration.delay-seconds* | Delay sending messages for a number of seconds. |  | Integer
+| *camel.component.aws-sqs.configuration.delete-after-read* | Delete message from SQS after it has been read | true | Boolean
+| *camel.component.aws-sqs.configuration.delete-if-filtered* | Whether or not to send the DeleteMessage to the SQS queue if an exchange fails to get through a filter. If 'false' and exchange does not make it through a Camel filter upstream in the route, then don't send DeleteMessage. | true | Boolean
+| *camel.component.aws-sqs.configuration.extend-message-visibility* | If enabled then a scheduled background task will keep extending the message visibility on SQS. This is needed if it takes a long time to process the message. If set to true defaultVisibilityTimeout must be set. See details at Amazon docs. | false | Boolean
+| *camel.component.aws-sqs.configuration.kms-data-key-reuse-period-seconds* | The length of time, in seconds, for which Amazon SQS can reuse a data key to encrypt or decrypt messages before calling AWS KMS again. An integer representing seconds, between 60 seconds (1 minute) and 86,400 seconds (24 hours). Default: 300 (5 minutes). |  | Integer
+| *camel.component.aws-sqs.configuration.kms-master-key-id* | The ID of an AWS-managed customer master key (CMK) for Amazon SQS or a custom CMK. |  | String
+| *camel.component.aws-sqs.configuration.maximum-message-size* | The maximumMessageSize (in bytes) an SQS message can contain for this queue. |  | Integer
+| *camel.component.aws-sqs.configuration.message-attribute-names* | A list of message attribute names to receive when consuming. Multiple names can be separated by comma. |  | String
+| *camel.component.aws-sqs.configuration.message-retention-period* | The messageRetentionPeriod (in seconds) a message will be retained by SQS for this queue. |  | Integer
+| *camel.component.aws-sqs.configuration.policy* | The policy for this queue |  | String
+| *camel.component.aws-sqs.configuration.proxy-host* | To define a proxy host when instantiating the SQS client |  | String
+| *camel.component.aws-sqs.configuration.proxy-port* | To define a proxy port when instantiating the SQS client |  | Integer
+| *camel.component.aws-sqs.configuration.queue-name* | Name of queue. The queue will be created if they don't already exists. |  | String
+| *camel.component.aws-sqs.configuration.queue-owner-a-w-s-account-id* | Specify the queue owner aws account id when you need to connect the queue with different account owner. |  | String
+| *camel.component.aws-sqs.configuration.queue-url* | To define the queueUrl explicitly. All other parameters, which would influence the queueUrl, are ignored. This parameter is intended to be used, to connect to a mock implementation of SQS, for testing purposes. |  | String
+| *camel.component.aws-sqs.configuration.receive-message-wait-time-seconds* | If you do not specify WaitTimeSeconds in the request, the queue attribute ReceiveMessageWaitTimeSeconds is used to determine how long to wait. |  | Integer
+| *camel.component.aws-sqs.configuration.redrive-policy* | Specify the policy that send message to DeadLetter queue. See detail at Amazon docs. |  | String
+| *camel.component.aws-sqs.configuration.region* | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. |  | String
+| *camel.component.aws-sqs.configuration.secret-key* | Amazon AWS Secret Key |  | String
+| *camel.component.aws-sqs.configuration.server-side-encryption-enabled* | Define if Server Side Encryption is enabled or not on the queue | false | Boolean
+| *camel.component.aws-sqs.configuration.visibility-timeout* | The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request to set in the com.amazonaws.services.sqs.model.SetQueueAttributesRequest. This only make sense if its different from defaultVisibilityTimeout. It changes the queue visibility timeout attribute permanently. |  | Integer
+| *camel.component.aws-sqs.configuration.wait-time-seconds* | Duration in seconds (0 to 20) that the ReceiveMessage action call will wait until a message is in the queue to include in the response. |  | Integer
+| *camel.component.aws-sqs.enabled* | Enable aws-sqs component | true | Boolean
+| *camel.component.aws-sqs.region* | Specify the queue region which could be used with queueOwnerAWSAccountId to build the service URL. |  | String
+| *camel.component.aws-sqs.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-sqs.secret-key* | Amazon AWS Secret Key |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+
+
+
+
+Required SQS component options
+
+You have to provide the amazonSQSClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/sqs[Amazon's SQS].
+
+### Batch Consumer
+
+This component implements the Batch Consumer.
+
+This allows you for instance to know how many messages exists in this
+batch and for instance let the Aggregator
+aggregate this number of messages.
+
+### Usage
+
+#### Message headers set by the SQS producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
+
+|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID.
+
+|`CamelAwsSqsDelaySeconds` |`Integer` |Since *Camel 2.11*, the delay seconds that the Amazon SQS message can be
+see by others.
+|=======================================================================
+
+#### Message headers set by the SQS consumer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelAwsSqsMD5OfBody` |`String` |The MD5 checksum of the Amazon SQS message.
+
+|`CamelAwsSqsMessageId` |`String` |The Amazon SQS message ID. 
+
+|`CamelAwsSqsReceiptHandle` |`String` |The Amazon SQS message receipt handle.
+
+|`CamelAwsSqsMessageAttributes` |`Map<String, String>` |The Amazon SQS message attributes.
+|=======================================================================
+
+#### Advanced AmazonSQS configuration
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the AmazonSQS instance configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSQS client = new AmazonSQSClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel aws-sqs component configuration:
+
+[source,java]
+---------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+---------------------------------------------------------------------------------
+
+#### Creating or updating an SQS Queue
+
+In the SQS Component, when an endpoint is started, a check is executed to obtain information 
+about the existence of the queue or not. You're able to customize the creation through the QueueAttributeName 
+mapping with the SQSConfiguration option.
+
+[source,java]
+---------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5")
+.to("mock:result");
+---------------------------------------------------------------------------------
+
+In this example if the MyQueue queue is not already created on AWS, it will be created with default parameters from the 
+SQS configuration. If it's already up on AWS, the SQS configuration options will be used to override the existent AWS configuration.
+
+#### DelayQueue VS Delay for Single message
+
+From 2.23.0 the component has a new option: delayQueue. When the option is set to true, the SQS Queue will be a DelayQueue with the 
+DelaySeconds option as delay. For more information about DelayQueue you can read the https://docs.aws.amazon.com/en_us/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html[AWS SQS documentation].
+One important information to take into account is the following:
+
+- For standard queues, the per-queue delay setting is not retroactive—changing the setting doesn't affect the delay of messages already in the queue.
+- For FIFO queues, the per-queue delay setting is retroactive—changing the setting affects the delay of messages already in the queue.
+
+as stated in the official documentation. If you want to specify a delay on single messages, you can ignore the delayQueue option, while you can set this option 
+to true, if you need to add a fixed delay to all messages enqueued.
+
+#### Server Side Encryption
+
+From 2.24.0 we introduce the Server Side Encryption attributes for a queue. The related option are serverSideEncryptionEnabled, keyMasterKeyId and kmsDataKeyReusePeriod.
+The SSE is disabled by default. You need to explicitly set the option to true and set the related parameters as queue attributes.
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.6 or higher).
+
+### JMS-style Selectors
+
+SQS does not allow selectors, but you can effectively achieve this by
+using the Camel Filter EIP and setting an
+appropriate `visibilityTimeout`. When SQS dispatches a message, it will
+wait up to the visibility timeout before it will try to dispatch the
+message to a different consumer unless a DeleteMessage is received. By
+default, Camel will always send the DeleteMessage at the end of the
+route, unless the route ended in failure. To achieve appropriate
+filtering and not send the DeleteMessage even on successful completion
+of the route, use a Filter:
+
+[source,java]
+------------------------------------------------------------------------------------------------------
+from("aws-sqs://MyQueue?amazonSQSClient=#client&defaultVisibilityTimeout=5000&deleteIfFiltered=false")
+.filter("${header.login} == true")
+.to("mock:result");
+------------------------------------------------------------------------------------------------------
+
+In the above code, if an exchange doesn't have an appropriate header, it
+will not make it through the filter AND also not be deleted from the SQS
+queue. After 5000 miliseconds, the message will become visible to other
+consumers.
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+* AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-swf-component.adoc b/docs/components/modules/ROOT/pages/aws-swf-component.adoc
deleted file mode 120000
index 84017b4..0000000
--- a/docs/components/modules/ROOT/pages/aws-swf-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws-swf-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-swf-component.adoc b/docs/components/modules/ROOT/pages/aws-swf-component.adoc
new file mode 100644
index 0000000..9dc8b68
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-swf-component.adoc
@@ -0,0 +1,297 @@
+[[aws-swf-component]]
+= AWS Simple Workflow Component
+
+*Available as of Camel version 2.13*
+
+The Simple Workflow component supports managing workflows from
+http://aws.amazon.com/swf/[Amazon's Simple Workflow] service.
+
+Prerequisites
+
+You must have a valid Amazon Web Services developer account, and be
+signed up to use Amazon Simple Workflow. More information are available
+at http://aws.amazon.com/swf/[Amazon Simple Workflow].
+
+### URI Format
+
+[source,java]
+---------------------------------------
+aws-swf://<workflow|activity>[?options]
+---------------------------------------
+
+You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+### URI Options
+
+
+// component options: START
+The AWS Simple Workflow component supports 5 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *configuration* (advanced) | The AWS SWF default configuration |  | SWFConfiguration
+| *accessKey* (common) | Amazon AWS Access Key. |  | String
+| *secretKey* (common) | Amazon AWS Secret Key. |  | String
+| *region* (common) | Amazon AWS Region. |  | String
+| *resolveProperty Placeholders* (advanced) | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | boolean
+|===
+// component options: END
+
+
+
+
+// endpoint options: START
+The AWS Simple Workflow endpoint is configured using URI syntax:
+
+----
+aws-swf:type
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *type* | *Required* Activity or workflow |  | String
+|===
+
+
+==== Query Parameters (30 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *amazonSWClient* (common) | To use the given AmazonSimpleWorkflowClient as client |  | AmazonSimpleWorkflow Client
+| *dataConverter* (common) | An instance of com.amazonaws.services.simpleworkflow.flow.DataConverter to use for serializing/deserializing the data. |  | DataConverter
+| *domainName* (common) | The workflow domain to use. |  | String
+| *eventName* (common) | The workflow or activity event name to use. |  | String
+| *region* (common) | Amazon AWS Region. |  | String
+| *version* (common) | The workflow or activity event version to use. |  | String
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *clientConfiguration Parameters* (advanced) | To configure the ClientConfiguration using the key/values from the Map. |  | Map
+| *startWorkflowOptions Parameters* (advanced) | To configure the StartWorkflowOptions using the key/values from the Map. |  | Map
+| *sWClientParameters* (advanced) | To configure the AmazonSimpleWorkflowClient using the key/values from the Map. |  | Map
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+| *activityList* (activity) | The list name to consume activities from. |  | String
+| *activitySchedulingOptions* (activity) | Activity scheduling options |  | ActivityScheduling Options
+| *activityThreadPoolSize* (activity) | Maximum number of threads in work pool for activity. | 100 | int
+| *activityTypeExecution Options* (activity) | Activity execution options |  | ActivityTypeExecution Options
+| *activityTypeRegistration Options* (activity) | Activity registration options |  | ActivityType RegistrationOptions
+| *childPolicy* (workflow) | The policy to use on child workflows when terminating a workflow. |  | String
+| *executionStartToClose Timeout* (workflow) | Set the execution start to close timeout. | 3600 | String
+| *operation* (workflow) | Workflow operation | START | String
+| *signalName* (workflow) | The name of the signal to send to the workflow. |  | String
+| *stateResultType* (workflow) | The type of the result when a workflow state is queried. |  | String
+| *taskStartToCloseTimeout* (workflow) | Set the task start to close timeout. | 600 | String
+| *terminationDetails* (workflow) | Details for terminating a workflow. |  | String
+| *terminationReason* (workflow) | The reason for terminating a workflow. |  | String
+| *workflowList* (workflow) | The list name to consume workflows from. |  | String
+| *workflowTypeRegistration Options* (workflow) | Workflow registration options |  | WorkflowType RegistrationOptions
+| *accessKey* (security) | Amazon AWS Access Key. |  | String
+| *secretKey* (security) | Amazon AWS Secret Key. |  | String
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 32 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.aws-swf.access-key* | Amazon AWS Access Key. |  | String
+| *camel.component.aws-swf.configuration.access-key* | Amazon AWS Access Key. |  | String
+| *camel.component.aws-swf.configuration.activity-list* | The list name to consume activities from. |  | String
+| *camel.component.aws-swf.configuration.activity-scheduling-options* | Activity scheduling options |  | ActivityScheduling Options
+| *camel.component.aws-swf.configuration.activity-thread-pool-size* | Maximum number of threads in work pool for activity. | 100 | Integer
+| *camel.component.aws-swf.configuration.activity-type-execution-options* | Activity execution options |  | ActivityTypeExecution Options
+| *camel.component.aws-swf.configuration.activity-type-registration-options* | Activity registration options |  | ActivityType RegistrationOptions
+| *camel.component.aws-swf.configuration.amazon-s-w-client* | To use the given AmazonSimpleWorkflowClient as client |  | AmazonSimpleWorkflow Client
+| *camel.component.aws-swf.configuration.child-policy* | The policy to use on child workflows when terminating a workflow. |  | String
+| *camel.component.aws-swf.configuration.client-configuration-parameters* | To configure the ClientConfiguration using the key/values from the Map. |  | Map
+| *camel.component.aws-swf.configuration.data-converter* | An instance of com.amazonaws.services.simpleworkflow.flow.DataConverter to use for serializing/deserializing the data. |  | DataConverter
+| *camel.component.aws-swf.configuration.domain-name* | The workflow domain to use. |  | String
+| *camel.component.aws-swf.configuration.event-name* | The workflow or activity event name to use. |  | String
+| *camel.component.aws-swf.configuration.execution-start-to-close-timeout* | Set the execution start to close timeout. | 3600 | String
+| *camel.component.aws-swf.configuration.operation* | Workflow operation | START | String
+| *camel.component.aws-swf.configuration.region* | Amazon AWS Region. |  | String
+| *camel.component.aws-swf.configuration.s-w-client-parameters* | To configure the AmazonSimpleWorkflowClient using the key/values from the Map. |  | Map
+| *camel.component.aws-swf.configuration.secret-key* | Amazon AWS Secret Key. |  | String
+| *camel.component.aws-swf.configuration.signal-name* | The name of the signal to send to the workflow. |  | String
+| *camel.component.aws-swf.configuration.start-workflow-options-parameters* | To configure the StartWorkflowOptions using the key/values from the Map. |  | Map
+| *camel.component.aws-swf.configuration.state-result-type* | The type of the result when a workflow state is queried. |  | String
+| *camel.component.aws-swf.configuration.task-start-to-close-timeout* | Set the task start to close timeout. | 600 | String
+| *camel.component.aws-swf.configuration.termination-details* | Details for terminating a workflow. |  | String
+| *camel.component.aws-swf.configuration.termination-reason* | The reason for terminating a workflow. |  | String
+| *camel.component.aws-swf.configuration.type* | Activity or workflow |  | String
+| *camel.component.aws-swf.configuration.version* | The workflow or activity event version to use. |  | String
+| *camel.component.aws-swf.configuration.workflow-list* | The list name to consume workflows from. |  | String
+| *camel.component.aws-swf.configuration.workflow-type-registration-options* | Workflow registration options |  | WorkflowType RegistrationOptions
+| *camel.component.aws-swf.enabled* | Enable aws-swf component | true | Boolean
+| *camel.component.aws-swf.region* | Amazon AWS Region. |  | String
+| *camel.component.aws-swf.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+| *camel.component.aws-swf.secret-key* | Amazon AWS Secret Key. |  | String
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required SWF component options
+
+You have to provide the amazonSWClient in the
+Registry or your accessKey and secretKey to access
+the http://aws.amazon.com/swf[Amazon's Simple Workflow Service].
+
+### Usage
+
+#### Message headers evaluated by the SWF Workflow Producer
+
+A workflow producer allows interacting with a workflow. It can start a
+new workflow execution, query its state, send signals to a running
+workflow, or terminate and cancel it.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFOperation` |`String` |The operation to perform on the workflow. Supported operations are:  +
+ SIGNAL, CANCEL, TERMINATE, GET_STATE, START, DESCRIBE, GET_HISTORY.
+
+|`CamelSWFWorkflowId` |`String` |A workflow ID to use.
+
+|`CamelAwsDdbKeyCamelSWFRunId` |`String` |A worfklow run ID to use.
+
+|`CamelSWFStateResultType` |`String` |The type of the result when a workflow state is queried.
+
+|`CamelSWFEventName` |`String` |The workflow or activity event name to use.
+
+|`CamelSWFVersion` |`String` |The workflow or activity event version to use.
+
+|`CamelSWFReason` |`String` |The reason for terminating a workflow.
+
+|`CamelSWFDetails` |`String` |Details for terminating a workflow.
+
+|`CamelSWFChildPolicy` |`String` |The policy to use on child workflows when terminating a workflow.
+|=======================================================================
+
+#### Message headers set by the SWF Workflow Producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFWorkflowId` |`String` |The worfklow ID used or newly generated.
+
+|`CamelAwsDdbKeyCamelSWFRunId` |`String` |The worfklow run ID used or generated.
+|=======================================================================
+
+#### Message headers set by the SWF Workflow Consumer
+
+A workflow consumer represents the workflow logic. When it is started,
+it will start polling workflow decision tasks and process them. In
+addition to processing decision tasks, a workflow consumer route, will
+also receive signals (send from a workflow producer) or state queries.
+The primary purpose of a workflow consumer is to schedule activity tasks
+for execution using activity producers. Actually activity tasks can be
+scheduled only from a thread started by a workflow consumer.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFAction` |`String` |Indicates what type is the current event: CamelSWFActionExecute,
+CamelSWFSignalReceivedAction or CamelSWFGetStateAction.
+
+|`CamelSWFWorkflowReplaying` |`boolean` |Indicates whether the current decision task is a replay or not.
+
+|`CamelSWFWorkflowStartTime` |`long` |The time of the start event for this decision task.
+|=======================================================================
+
+#### Message headers set by the SWF Activity Producer
+
+An activity producer allows scheduling activity tasks. An activity
+producer can be used only from a thread started by a workflow consumer
+ie, it can process synchronous exchanges started by a workflow consumer.
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFEventName` |`String` |The activity name to schedule.
+
+|`CamelSWFVersion` |`String` |The activity version to schedule.
+|=======================================================================
+
+#### Message headers set by the SWF Activity Consumer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+
+|`CamelSWFTaskToken` |`String` |The task token that is required to report task completion for manually
+completed tasks.
+|=======================================================================
+
+#### Advanced amazonSWClient configuration
+
+If you need more control over the AmazonSimpleWorkflowClient instance
+configuration you can create your own instance and refer to it from the
+URI:
+
+The `#client` refers to a AmazonSimpleWorkflowClient in the
+Registry.
+
+For example if your Camel Application is running behind a firewall:
+
+[source,java]
+--------------------------------------------------------------------------------------------------------
+AWSCredentials awsCredentials = new BasicAWSCredentials("myAccessKey", "mySecretKey");
+ClientConfiguration clientConfiguration = new ClientConfiguration();
+clientConfiguration.setProxyHost("http://myProxyHost");
+clientConfiguration.setProxyPort(8080);
+
+AmazonSimpleWorkflowClient client = new AmazonSimpleWorkflowClient(awsCredentials, clientConfiguration);
+
+registry.bind("client", client);
+--------------------------------------------------------------------------------------------------------
+
+### Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-aws</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel
+(2.13 or higher).
+
+### See Also
+
+* Configuring Camel
+* Component
+* Endpoint
+* Getting Started
+
+AWS Component
diff --git a/docs/components/modules/ROOT/pages/aws-xray.adoc b/docs/components/modules/ROOT/pages/aws-xray.adoc
deleted file mode 120000
index bd03b37..0000000
--- a/docs/components/modules/ROOT/pages/aws-xray.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws-xray/src/main/docs/aws-xray.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws-xray.adoc b/docs/components/modules/ROOT/pages/aws-xray.adoc
new file mode 100644
index 0000000..cda67cb
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws-xray.adoc
@@ -0,0 +1,115 @@
+[[AWSXRay-AWSXRayComponent]]
+= AWS XRay Component
+
+*Available as of Camel 2.21*
+
+The camel-aws-xray component is used for tracing and timing incoming and outgoing Camel messages using https://aws.amazon.com/xray/[AWS XRay].
+
+Events (subsegments) are captured for incoming and outgoing messages being sent to/from Camel.
+
+== Dependency
+
+In order to include AWS XRay support into Camel, the archive containing the Camel related AWS XRay related classes need to be added to the project. In addition to that, AWS XRay libraries also need to be available.
+
+To include both, AWS XRay and Camel, dependencies use the following Maven imports:
+
+[source,xml]
+---------------------------------------------------------------------------------------------------------
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>com.amazonaws</groupId>
+        <artifactId>aws-xray-recorder-sdk-bom</artifactId>
+        <version>1.3.1</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
+  <dependencies>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>camel-aws-xray</artifactId>
+      </dependency>
+
+      <dependency>
+        <groupId>com.amazonaws</groupId>
+        <artifactId>aws-xray-recorder-sdk-core</artifactId>
+      </dependency>
+      <dependency>
+        <groupId>com.amazonaws</groupId>
+        <artifactId>aws-xray-recorder-sdk-aws-sdk</artifactId>
+      </dependency>
+  <dependencies>
+---------------------------------------------------------------------------------------------------------
+
+== Configuration
+
+The configuration properties for the AWS XRay tracer are:
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Option |Default |Description
+
+|addExcludePatterns | &nbsp; | Sets exclude pattern(s) that will disable tracing for Camel
+messages that matches the pattern. The content is a Set<String> where the key is a pattern matching routeId's. The pattern
+uses the rules from Intercept.
+|setTracingStrategy | NoopTracingStrategy | Allows a custom Camel `InterceptStrategy` to be provided in order to track invoked processor definitions like `BeanDefinition` or `ProcessDefinition`. `TraceAnnotatedTracingStrategy` will track any classes invoked via `.bean(...)` or `.process(...)` that contain a `@XRayTrace` annotation at class level.
+
+|=======================================================================
+
+There is currently only one way an AWS XRay tracer can be configured to provide distributed tracing for a Camel application:
+
+=== Explicit
+
+Include the `camel-aws-xray` component in your POM, along with any specific dependencies associated with the AWS XRay Tracer.
+
+To explicitly configure AWS XRay support, instantiate the `XRayTracer` and initialize the camel
+context. You can optionally specify a `Tracer`, or alternatively it can be implicitly discovered using the
+`Registry` or `ServiceLoader`.
+
+[source,java]
+--------------------------------------------------------------------------------------------------
+XRayTracer xrayTracer = new XRayTracer();
+// By default it uses a NoopTracingStrategy, but you can override it with a specific InterceptStrategy implementation.
+xrayTracer.setTracingStrategy(...);
+// And then initialize the context
+xrayTracer.init(camelContext);
+--------------------------------------------------------------------------------------------------
+
+To use XRayTracer in XML, all you need to do is to define the
+AWS XRay tracer bean. Camel will automatically discover and use it.
+
+[source,xml]
+---------------------------------------------------------------------------------------------------------
+  <bean id="tracingStrategy" class="..."/>
+  <bean id="aws-xray-tracer" class="org.apache.camel.component.aws.xray.XRayTracer" />
+    <property name="tracer" ref="tracingStrategy"/>
+  </bean>
+---------------------------------------------------------------------------------------------------------
+
+In case of the default `NoopTracingStrategy` only the creation and deletion of exchanges is tracked but not the invocation of certain beans or EIP patterns.
+
+=== Tracking of comprehensive route execution
+
+In order to track the execution of an exchange among multiple routes, on exchange creation a unique trace ID is generated and stored in the headers if no corresponding value was yet available. This trace ID is copied over to new exchanges in order to keep a consistent view of the processed exchange.
+
+As AWS XRay traces work on a thread-local basis the current sub/segment should be copied over to the new thread and set as explained in https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-java-multithreading.html[in the AWS XRay documentation]. The Camel AWS XRay component therefore provides an additional header field that the component will use in order to set the passed AWS XRay `Entity` to the new thread and thus keep the tracked data to the route rather than exposing a new segm [...]
+
+The component will use the following constants found in the headers of the exchange:
+
+[width="100%",cols="30%,70%",options="header",]
+|=======================================================================
+|Header |Description
+
+| Camel-AWS-XRay-Trace-ID | Contains a reference to the AWS XRay `TraceID` object to provide a comprehensive view of the invoked routes
+| Camel-AWS-XRay-Trace-Entity | Contains a reference to the actual AWS XRay `Segment` or `Subsegment` which is copied over to the new thread. This header should be set in case a new thread is spawned and the performed tasks should be exposed as part of the executed route instead of creating a new unrelated segment.
+
+|=======================================================================
+
+Note that the AWS XRay `Entity` (i.e., `Segment` and `Subsegment`) are not serializable and therefore should not get passed to other JVM processes.
+
+== Example
+
+You can find an example demonstrating the way to configure AWS XRay tracing within the tests accompanying this project.
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws.adoc b/docs/components/modules/ROOT/pages/aws.adoc
deleted file mode 120000
index cea5502..0000000
--- a/docs/components/modules/ROOT/pages/aws.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-aws/src/main/docs/aws.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/aws.adoc b/docs/components/modules/ROOT/pages/aws.adoc
new file mode 100644
index 0000000..3add004
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/aws.adoc
@@ -0,0 +1,5 @@
+= Camel Components for Amazon Web Services
+
+The Camel Components for http://aws.amazon.com[Amazon Web Services]
+provide connectivity to AWS services from Camel.
+ 
diff --git a/docs/components/modules/ROOT/pages/azure-blob-component.adoc b/docs/components/modules/ROOT/pages/azure-blob-component.adoc
deleted file mode 120000
index 449623e..0000000
--- a/docs/components/modules/ROOT/pages/azure-blob-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-azure/src/main/docs/azure-blob-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/azure-blob-component.adoc b/docs/components/modules/ROOT/pages/azure-blob-component.adoc
new file mode 100644
index 0000000..1c35e8a
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/azure-blob-component.adoc
@@ -0,0 +1,231 @@
+= Azure Storage Blob Service Component
+
+*Available as of Camel version 2.19*
+
+
+The Azure Blob component supports storing and retrieving the blobs to/from
+https://azure.microsoft.com/services/storage/blobs/[Azure Storage Blob] service.
+
+Prerequisites
+
+You must have a valid Windows Azure Storage account. More information is available at
+https://docs.microsoft.com/azure/[Azure Documentation Portal].
+
+== URI Format
+
+[source,java]
+------------------------------
+azure-blob://accountName/containerName[/blobName][?options]
+------------------------------
+
+In most cases a blobName is required and the blob will be created if it does not already exist. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+For example in order to download a blob content from the public block blob `blockBlob` 
+located on the `container1` in the `camelazure` storage account, use the following snippet:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("azure-blob:/camelazure/container1/blockBlob").
+to("file://blobdirectory");
+--------------------------------------------------------------------------------
+
+== URI Options
+
+
+// component options: START
+The Azure Storage Blob Service component has no options.
+// component options: END
+
+
+
+
+
+
+
+
+
+
+
+// endpoint options: START
+The Azure Storage Blob Service endpoint is configured using URI syntax:
+
+----
+azure-blob:containerOrBlobUri
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *containerOrBlobUri* | *Required* Container or Blob compact Uri |  | String
+|===
+
+
+==== Query Parameters (19 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *azureBlobClient* (common) | The blob service client |  | CloudBlob
+| *blobOffset* (common) | Set the blob offset for the upload or download operations, default is 0 | 0 | Long
+| *blobType* (common) | Set a blob type, 'blockblob' is default | blockblob | BlobType
+| *closeStreamAfterRead* (common) | Close the stream after read or keep it open, default is true | true | boolean
+| *credentials* (common) | Set the storage credentials, required in most cases |  | StorageCredentials
+| *dataLength* (common) | Set the data length for the download or page blob upload operations |  | Long
+| *fileDir* (common) | Set the file directory where the downloaded blobs will be saved to |  | String
+| *publicForRead* (common) | Storage resources can be public for reading their content, if this property is enabled then the credentials do not have to be set | false | boolean
+| *streamReadSize* (common) | Set the minimum read size in bytes when reading the blob content |  | int
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *blobMetadata* (producer) | Set the blob meta-data |  | Map
+| *blobPrefix* (producer) | Set a prefix which can be used for listing the blobs |  | String
+| *closeStreamAfterWrite* (producer) | Close the stream after write or keep it open, default is true | true | boolean
+| *operation* (producer) | Blob service operation hint to the producer | listBlobs | BlobServiceOperations
+| *streamWriteSize* (producer) | Set the size of the buffer for writing block and page blocks |  | int
+| *useFlatListing* (producer) | Specify if the flat or hierarchical blob listing should be used | true | boolean
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.azure-blob.enabled* | Enable azure-blob component | true | Boolean
+| *camel.component.azure-blob.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required Azure Storage Blob Service component options
+
+You have to provide the containerOrBlob name and the credentials if the private blob needs to be accessed.
+
+== Usage
+
+=== Message headers set by the Azure Storage Blob Service producer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+|`CamelFileName` |`String` |The file name for the downloaded blob content.
+|=======================================================================
+
+=== Message headers set by the Azure Storage Blob Service producer consumer
+
+[width="100%",cols="10%,10%,80%",options="header",]
+|=======================================================================
+|Header |Type |Description
+|`CamelFileName` |`String` |The file name for the downloaded blob content.
+|=======================================================================
+
+
+=== Azure Blob Service operations
+
+*Operations common to all block types*
+
+[width="100%",cols="20%,80%",options="header",]
+|===
+|Operation |Description
+
+|`getBlob`  |Get the content of the blob. You can restrict the output of this operation to a blob range.
+|`deleteBlob`  |Delete the blob.
+|`listBlobs`  |List the blobs.
+
+|===
+
+*Block blob operations*
+
+[width="100%",cols="20%,80%",options="header",]
+|===
+|Operation |Description
+
+|`updateBlockBlob`  |Put block blob content that either creates a new block blob or overwrites the existing block blob content.
+|`uploadBlobBlocks`  |Upload block blob content, by first generating a sequence of blob blocks and then committing them to a blob. If you enable the message *CommitBlockListLater* property, you can execute the commit later with the `commitBlobBlockList` operation. You can later update individual block blobs.
+|`commitBlobBlockList`  |Commit a sequence of blob blocks to the block list that you previously uploaded to the blob service (by using the `updateBlockBlob` operation with the message *CommitBlockListLater* property enabled).
+|`getBlobBlockList`  |Get the block blob list.
+
+|===
+
+*Append blob operations*
+
+[width="100%",cols="20%,80%",options="header",]
+|===
+|Operation |Description
+
+|`createAppendBlob`  |Create an append block. By default, if the block already exists then it is not reset. Note that you can alternately create an append blob by enabling the message *AppendBlobCreated* property and using the `updateAppendBlob` operation. 
+
+|`updateAppendBlob`  |Append the new content to the blob. This operation also creates the blob if it does not already exist and if you enabled a message *AppendBlobCreated* property.
+
+|===
+
+
+*Page Block operations*
+
+[width="100%",cols="20%,80%",options="header",]
+|===
+|Operation |Description
+
+|`createPageBlob`  |Create a page block. By default, if the block already exists then it is not reset. Note that you can also create a page blob (and set its contents) by enabling a message *PageBlobCreated* property and by using the `updatePageBlob` operation.
+|`updatePageBlob`  |Create a page block (unless you enable a message *PageBlobCreated* property and the identically named block already exists) and set the content of this blob.
+|`resizePageBlob`  |Resize the page blob.
+|`clearPageBlob`  |Clear the page blob.
+|`getPageBlobRanges`  |Get the page blob page ranges.
+
+|===
+
+
+
+=== Azure Blob Client configuration
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the Azure Blob Client configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", Base64.encode("thekey".getBytes()));
+CloudBlob client = new CloudBlockBlob("camelazure", credentials);
+registry.bind("azureBlobClient", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel azure-blob component configuration:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("azure-blob://camelazure/container1/blockBlob?azureBlobClient=#client")
+.to("mock:result");
+--------------------------------------------------------------------------------
+
+== Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-azure</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel.
diff --git a/docs/components/modules/ROOT/pages/azure-queue-component.adoc b/docs/components/modules/ROOT/pages/azure-queue-component.adoc
deleted file mode 120000
index 27753c4..0000000
--- a/docs/components/modules/ROOT/pages/azure-queue-component.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-azure/src/main/docs/azure-queue-component.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/azure-queue-component.adoc b/docs/components/modules/ROOT/pages/azure-queue-component.adoc
new file mode 100644
index 0000000..d5e61c7
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/azure-queue-component.adoc
@@ -0,0 +1,170 @@
+= Azure Storage Queue Service Component
+
+*Available as of Camel version 2.19*
+
+
+The Azure Queue component supports storing and retrieving the messages to/from
+https://azure.microsoft.com/services/storage/queues/[Azure Storage Queue] service.
+
+Prerequisites
+
+You must have a valid Microsoft Azure account. More information is available at
+https://azure.microsoft.com/en-us/free/[Azure Portal].
+
+== URI Format
+
+[source,java]
+------------------------------
+azure-queue://accountName/queueName[?options]
+------------------------------
+
+The queue will be created if it does not already exist. +
+ You can append query options to the URI in the following format,
+?options=value&option2=value&...
+
+For example in order to get a message content from the queue `messageQueue` 
+in the `camelazure` storage account and, use the following snippet:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("azure-queue:/camelazure/messageQueue").
+to("file://queuedirectory");
+--------------------------------------------------------------------------------
+
+== URI Options
+
+
+// component options: START
+The Azure Storage Queue Service component has no options.
+// component options: END
+
+
+
+
+
+
+
+
+
+
+
+// endpoint options: START
+The Azure Storage Queue Service endpoint is configured using URI syntax:
+
+----
+azure-queue:containerAndQueueUri
+----
+
+with the following path and query parameters:
+
+==== Path Parameters (1 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *containerAndQueueUri* | *Required* Container Queue compact Uri |  | String
+|===
+
+
+==== Query Parameters (10 parameters):
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *azureQueueClient* (common) | The queue service client |  | CloudQueue
+| *credentials* (common) | Set the storage credentials, required in most cases |  | StorageCredentials
+| *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
+| *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
+| *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
+| *messageTimeToLive* (producer) | Message Time To Live in seconds |  | int
+| *messageVisibilityDelay* (producer) | Message Visibility Delay in seconds |  | int
+| *operation* (producer) | Queue service operation hint to the producer | listQueues | QueueServiceOperations
+| *queuePrefix* (producer) | Set a prefix which can be used for listing the queues |  | String
+| *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
+|===
+// endpoint options: END
+// spring-boot-auto-configure options: START
+=== Spring Boot Auto-Configuration
+
+
+The component supports 2 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.azure-queue.enabled* | Enable azure-queue component | true | Boolean
+| *camel.component.azure-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
+|===
+// spring-boot-auto-configure options: END
+
+
+
+
+Required Azure Storage Queue Service component options
+
+You have to provide the containerAndQueue URI  and the credentials.
+
+== Usage
+
+=== Azure Queue Service operations
+
+[width="100%",cols="20%,80%",options="header",]
+|===
+|Operation |Description
+
+|`listQueues`  |List the queues.
+|`createQueue`  |Create the queue.
+|`deleteQueue`  |Delete the queue.
+|`addMessage`  |Add a message to the queue.
+|`retrieveMessage`  |Retrieve a message from the queue.
+|`peekMessage`  |View the message inside the queue, for example, to determine whether the message arrived at the correct queue.
+|`updateMessage`  |Update the message in the queue.
+|`deleteMessage`  |Delete the message in the queue.
+
+|===
+
+
+
+=== Azure Queue Client configuration
+
+If your Camel Application is running behind a firewall or if you need to
+have more control over the Azure Queue Client configuration, you can
+create your own instance:
+
+[source,java]
+--------------------------------------------------------------------------------------
+StorageCredentials credentials = new StorageCredentialsAccountAndKey("camelazure", "thekey");
+
+CloudQueue client = new CloudQueue("camelazure", credentials);
+
+registry.bind("azureQueueClient", client);
+--------------------------------------------------------------------------------------
+
+and refer to it in your Camel azure-queue component configuration:
+
+[source,java]
+--------------------------------------------------------------------------------
+from("azure-queue:/camelazure/messageQueue?azureQueueClient=#client")
+.to("mock:result");
+--------------------------------------------------------------------------------
+
+== Dependencies
+
+Maven users will need to add the following dependency to their pom.xml.
+
+*pom.xml*
+
+[source,xml]
+---------------------------------------
+<dependency>
+    <groupId>org.apache.camel</groupId>
+    <artifactId>camel-azure</artifactId>
+    <version>${camel-version}</version>
+</dependency>
+---------------------------------------
+
+where `${camel-version`} must be replaced by the actual version of Camel.
diff --git a/docs/components/modules/ROOT/pages/azure.adoc b/docs/components/modules/ROOT/pages/azure.adoc
deleted file mode 120000
index 3a732ed..0000000
--- a/docs/components/modules/ROOT/pages/azure.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-azure/src/main/docs/azure.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/azure.adoc b/docs/components/modules/ROOT/pages/azure.adoc
new file mode 100644
index 0000000..1bb0742
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/azure.adoc
@@ -0,0 +1,14 @@
+[[Azure-CamelComponentsforWindowsAzureServices]]
+= Camel Components for Windows Azure Services
+
+The Camel Components for https://azure.microsoft.com/[Windows Azure Services]
+provide connectivity to Azure services from Camel.
+
+ 
+[width="100%",cols="30%,10%,50%",options="header",]
+|=======================================================================
+|Azure Service |Camel Component |Component Description
+
+|https://azure.microsoft.com/services/storage/blobs[Storage Blob Service] |xref:azure-blob-component.adoc[Azure-Blob] |Supports storing and retrieving of blobs
+|https://azure.microsoft.com/services/storage/queues[Storage Queue Service] |xref:azure-queue-component.adoc[Azure-Queue] |Supports storing and retrieving of messages in the queues
+|=======================================================================
diff --git a/docs/components/modules/ROOT/pages/bam-example.adoc b/docs/components/modules/ROOT/pages/bam-example.adoc
deleted file mode 120000
index 40e2da5..0000000
--- a/docs/components/modules/ROOT/pages/bam-example.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-bam/src/main/docs/bam-example.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/bam-example.adoc b/docs/components/modules/ROOT/pages/bam-example.adoc
new file mode 100644
index 0000000..638b785
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/bam-example.adoc
@@ -0,0 +1,89 @@
+= Business Activity Monitor (BAM) Example
+
+The BAM (Business Activity Monitor) example shows how to
+monitor your transaction flows using Camel.
+
+In this example we will use Camel to monitor a business process
+consisting of
+
+* purchase orders
+* invoices
+
+Then we will check to see that for every purchase order created by
+system A, that system B will generate an invoice within the specified
+amount of time (2 seconds in this example). If an invoice is not
+generated within the allowed amount of time and error is generated and
+sent to an Endpoint.
+
+== Overview
+
+This example lives in the _examples/camel-example-bam_ directory. It
+will poll the following directories
+
+* the child _src/data/purchaseOrders_ directory for XML purchase orders
+* the child _src/data/invoices_ directory for XML invoices
+
+The
+http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
+class defines the BAM activities; that is
+
+* the input sources (the two directories above) which could be any of
+the supported camel URIs
+* how the activities relate to each other - namely the
+Correlation Identifier pattern
+* the maixmum amount of time allowed from the time a purchase order is
+received when if an invoice is not received an error should be raised.
+
+There is also a spring configuration file in
+http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/resources/META-INF/spring/camel-context.xml[src/resources/META-INF/services/camel-context.xml]
+which defines the JPA `EntityManagerFactory` and tells Camel to look in
+the *org.apache.camel.example.bam* package to find its routes.
+
+== Using BAM
+
+So lets start with the activities definition in
+http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
+
+The first two lines of code sets up the inputs for the
+BAM activities via the *activity()* method which defines
+
+* the URIs of the inputs (which could come from any of
+the Camel Components
+* the Correlation Identifier used to
+correlate together the purchase order and invoice messages which can be
+any Expression via any of the
+Languages Supported. In this case we are
+using <<xpath-language,XPath>>.
+
+Then the final line of code defines the temporal rules to use; namely
+that it is considered to be an error if an invoice is not received
+within 2 seconds of a purchase order being received. When a failure
+occurs in this example we just send it to the <<log-component,Log>>
+component to log out an error level message to commons-logging / log4j.
+You could change this to use some of the other
+Components such as ActiveMQ,
+<<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
+<<xmpp-component,XMPP>> etc.
+
+== Running the example
+
+To run the example we use the link:camel-maven-plugin.html[Camel Maven
+Plugin]. For example from the source or binary distribution the
+following should work
+
+[source,java]
+-----------------------------
+cd examples/camel-example-bam
+mvn camel:run
+-----------------------------
+
+If you prefer you can just run the Main directly using
+
+[source,java]
+---------------------
+mvn compile exec:java
+---------------------
+
+Failing that you can run the Main from inside your IDE if you prefer.
+Follow the Building instructions to create an
+Eclipse/IDEA project to import
diff --git a/docs/components/modules/ROOT/pages/bam.adoc b/docs/components/modules/ROOT/pages/bam.adoc
deleted file mode 120000
index 1d06e2d..0000000
--- a/docs/components/modules/ROOT/pages/bam.adoc
+++ /dev/null
@@ -1 +0,0 @@
-../../../../../components/camel-bam/src/main/docs/bam.adoc
\ No newline at end of file
diff --git a/docs/components/modules/ROOT/pages/bam.adoc b/docs/components/modules/ROOT/pages/bam.adoc
new file mode 100644
index 0000000..7253ea0
--- /dev/null
+++ b/docs/components/modules/ROOT/pages/bam.adoc
@@ -0,0 +1,84 @@
+[[BAM-BusinessActivityMonitoring]]
+= Business Activity Monitoring
+
+The *Camel BAM* module provides a Business Activity Monitoring (BAM)
+framework for testing business processes across multiple message
+exchanges on different Endpoint instances.
+
+Consider, for example, a simple system in which you submit Purchase
+Orders into system A and then receive Invoices from system B. You might
+want to test that, for a given Purchase Order, you receive a matching
+Invoice from system B within a specific time period.
+
+[[BAM-HowCamelBAMWorks]]
+How Camel BAM Works
+^^^^^^^^^^^^^^^^^^^
+
+Camel BAM uses a link:correlation-identifier.html[Correlation
+Identifier] on an input message to determine the _Process Instance_ to
+which it belongs. The process instance is an entity bean which can
+maintain state for each _Activity_ (where an activity typically maps to
+a single endpoint - such as the submission of Purchase Orders or the
+receipt of Invoices).
+
+You can then add rules to be triggered when a message is received on any
+activity - such as to set time expectations or perform real time
+reconciliation of values across activities.
+
+[[BAM-SimpleExample]]
+Simple Example
+^^^^^^^^^^^^^^
+
+The following example shows how to perform some time based rules on a
+simple business process of 2 activities - A and B - which correspond
+with Purchase Orders and Invoices in the example above. If you would
+like to experiment with this scenario, you may edit this
+http://svn.apache.org/repos/asf/camel/trunk/components/camel-bam/src/test/java/org/apache/camel/bam/BamRouteTest.java[Test
+Case], which defines the activities and rules, and then tests that they
+work.
+
+[source,java]
+-------------------------------------------------
+return new ProcessBuilder(entityManagerFactory, transactionTemplate) {
+    public void configure() throws Exception {
+ 
+        // let's define some activities, correlating on an XPath on the message bodies
+        ActivityBuilder a = activity("seda:a").name("a")
+                .correlate(xpath("/hello/@id"));
+ 
+        ActivityBuilder b = activity("seda:b").name("b")
+                .correlate(xpath("/hello/@id"));
+ 
+        // now let's add some rules
+        b.starts().after(a.completes())
+                .expectWithin(seconds(1))
+                .errorIfOver(seconds(errorTimeout)).to("mock:overdue");
+    }
+};
+-------------------------------------------------
+
+As you can see in the above example, we first define two activities, and
+then rules to specify when we expect them to complete for a process
+instance and when an error condition should be raised.p. The
+ProcessBuilder is a RouteBuilder and can be
+added to any CamelContext.
+
+[[BAM-CompleteExample]]
+Complete Example
+^^^^^^^^^^^^^^^^
+
+For a complete example please see the link:examples/bam-example.html[BAM
+Example], which is part of the standard Camel
+Examples
+
+[[BAM-UseCases]]
+Use Cases
+^^^^^^^^^
+
... 126356 lines suppressed ...


[camel] 01/16: CAMEL-13159: remove camel-website directory

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit f2561b0093993b20f13b0b82f41b966ae88d3ad1
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Mon Sep 2 15:08:04 2019 +0200

    CAMEL-13159: remove camel-website directory
    
    (cherry picked from commit 8bc9b017a24a70adec335258ef9b718106a3a883)
---
 camel-website/.gitignore                           |    2 -
 camel-website/Gruntfile.js                         |   62 -
 camel-website/npm-shrinkwrap.json                  | 1253 --------------------
 camel-website/package.json                         |   17 -
 camel-website/pom.xml                              |  117 --
 .../resources/styles/impact/css/pygmentize.css     |  126 --
 .../src/main/resources/styles/impact/css/site.css  |  234 ----
 .../src/main/resources/user-manual/index.html      |   38 -
 8 files changed, 1849 deletions(-)

diff --git a/camel-website/.gitignore b/camel-website/.gitignore
deleted file mode 100644
index f4af8ab..0000000
--- a/camel-website/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-node_modules/
-node/
diff --git a/camel-website/Gruntfile.js b/camel-website/Gruntfile.js
deleted file mode 100644
index bbf181c..0000000
--- a/camel-website/Gruntfile.js
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * 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.
- */
-module.exports = function(grunt) {
-
-    // Project configuration.
-    grunt.initConfig({
-
-        'http-server': {
-            dev: {
-                root: 'target/classes/user-manual/',
-                port: 8282,
-                host: "0.0.0.0",
-                showDir: false,
-                autoIndex: true,
-                ext: "html",
-                runInBackground: true,
-                logFn: function(req, res, error) { },
-
-
-                // specify a logger function. By default the requests are 
-                // sent to stdout. 
-                // logFn: function(req, res, error) { },
-
-                // Proxies all requests which can't be resolved locally to the given url 
-                // Note this this will disable 'showDir' 
-                // proxy: "http://someurl.com",
-                // Tell grunt task to open the browser 
-                // openBrowser : false
-            }
-
-        },
-        linkChecker: {
-            dev: {
-                site: 'localhost',
-                options: {
-                    initialPort: 8282
-                }
-            }
-        }
-    });
-
-    grunt.loadNpmTasks('grunt-http-server');
-    grunt.loadNpmTasks('grunt-link-checker');
-
-    // Default task(s).
-    grunt.registerTask('default', ['http-server', 'linkChecker']);
-
-};
diff --git a/camel-website/npm-shrinkwrap.json b/camel-website/npm-shrinkwrap.json
deleted file mode 100644
index 3f3b780..0000000
--- a/camel-website/npm-shrinkwrap.json
+++ /dev/null
@@ -1,1253 +0,0 @@
-{
-  "name": "camel-website",
-  "version": "2.17.0",
-  "dependencies": {
-    "gitbook-cli": {
-      "version": "0.3.6",
-      "from": "gitbook-cli@~0.3.6",
-      "resolved": "https://registry.npmjs.org/gitbook-cli/-/gitbook-cli-0.3.6.tgz",
-      "dependencies": {
-        "q": {
-          "version": "1.4.1",
-          "from": "q@1.4.1",
-          "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz"
-        },
-        "lodash": {
-          "version": "3.10.1",
-          "from": "lodash@3.10.1",
-          "resolved": "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz"
-        },
-        "semver": {
-          "version": "5.0.1",
-          "from": "semver@5.0.1",
-          "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.1.tgz"
-        },
-        "npmi": {
-          "version": "1.0.1",
-          "from": "npmi@1.0.1",
-          "resolved": "https://registry.npmjs.org/npmi/-/npmi-1.0.1.tgz",
-          "dependencies": {
-            "semver": {
-              "version": "4.3.6",
-              "from": "semver@^4.1.0",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz"
-            }
-          }
-        },
-        "tmp": {
-          "version": "0.0.27",
-          "from": "tmp@0.0.27",
-          "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.27.tgz",
-          "dependencies": {
-            "os-tmpdir": {
-              "version": "1.0.1",
-              "from": "os-tmpdir@~1.0.0",
-              "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
-            }
-          }
-        },
-        "commander": {
-          "version": "2.8.1",
-          "from": "commander@2.8.1",
-          "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
-          "dependencies": {
-            "graceful-readlink": {
-              "version": "1.0.1",
-              "from": "graceful-readlink@>= 1.0.0",
-              "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
-            }
-          }
-        },
-        "optimist": {
-          "version": "0.6.1",
-          "from": "optimist@0.6.1",
-          "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz",
-          "dependencies": {
-            "wordwrap": {
-              "version": "0.0.3",
-              "from": "wordwrap@~0.0.2",
-              "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz"
-            },
-            "minimist": {
-              "version": "0.0.10",
-              "from": "minimist@~0.0.1",
-              "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz"
-            }
-          }
-        },
-        "fs-extra": {
-          "version": "0.24.0",
-          "from": "fs-extra@0.24.0",
-          "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-0.24.0.tgz",
-          "dependencies": {
-            "graceful-fs": {
-              "version": "4.1.2",
-              "from": "graceful-fs@^4.1.2",
-              "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.2.tgz"
-            },
-            "jsonfile": {
-              "version": "2.2.3",
-              "from": "jsonfile@^2.1.0",
-              "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-2.2.3.tgz"
-            },
-            "path-is-absolute": {
-              "version": "1.0.0",
-              "from": "path-is-absolute@^1.0.0",
-              "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
-            },
-            "rimraf": {
-              "version": "2.5.0",
-              "from": "rimraf@^2.2.8",
-              "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.5.0.tgz",
-              "dependencies": {
-                "glob": {
-                  "version": "6.0.4",
-                  "from": "glob@^6.0.1",
-                  "resolved": "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz",
-                  "dependencies": {
-                    "inflight": {
-                      "version": "1.0.4",
-                      "from": "inflight@^1.0.4",
-                      "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz",
-                      "dependencies": {
-                        "wrappy": {
-                          "version": "1.0.1",
-                          "from": "wrappy@1",
-                          "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
-                        }
-                      }
-                    },
-                    "inherits": {
-                      "version": "2.0.1",
-                      "from": "inherits@2",
-                      "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
-                    },
-                    "minimatch": {
-                      "version": "3.0.0",
-                      "from": "minimatch@2 || 3",
-                      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz",
-                      "dependencies": {
-                        "brace-expansion": {
-                          "version": "1.1.2",
-                          "from": "brace-expansion@^1.0.0",
-                          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.2.tgz",
-                          "dependencies": {
-                            "balanced-match": {
-                              "version": "0.3.0",
-                              "from": "balanced-match@^0.3.0",
-                              "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.3.0.tgz"
-                            },
-                            "concat-map": {
-                              "version": "0.0.1",
-                              "from": "concat-map@0.0.1",
-                              "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
-                            }
-                          }
-                        }
-                      }
-                    },
-                    "once": {
-                      "version": "1.3.3",
-                      "from": "once@^1.3.0",
-                      "resolved": "https://registry.npmjs.org/once/-/once-1.3.3.tgz",
-                      "dependencies": {
-                        "wrappy": {
-                          "version": "1.0.1",
-                          "from": "wrappy@1",
-                          "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        },
-        "bash-color": {
-          "version": "0.0.3",
-          "from": "bash-color@0.0.3",
-          "resolved": "https://registry.npmjs.org/bash-color/-/bash-color-0.0.3.tgz"
-        },
-        "npm": {
-          "version": "2.14.1",
-          "from": "npm@2.14.1",
-          "resolved": "https://registry.npmjs.org/npm/-/npm-2.14.1.tgz",
-          "dependencies": {
-            "abbrev": {
-              "version": "1.0.7",
-              "from": "abbrev@>=1.0.7 <1.1.0",
-              "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz"
-            },
-            "ansi": {
-              "version": "0.3.0",
-              "from": "ansi@latest",
-              "resolved": "https://registry.npmjs.org/ansi/-/ansi-0.3.0.tgz"
-            },
-            "ansicolors": {
-              "version": "0.3.2",
-              "from": "ansicolors@latest"
-            },
-            "ansistyles": {
-              "version": "0.1.3",
-              "from": "ansistyles@0.1.3",
-              "resolved": "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz"
-            },
-            "archy": {
-              "version": "1.0.0",
-              "from": "archy@>=1.0.0 <2.0.0",
-              "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz"
-            },
-            "async-some": {
-              "version": "1.0.2",
-              "from": "async-some@>=1.0.2 <1.1.0"
-            },
-            "block-stream": {
-              "version": "0.0.8",
-              "from": "block-stream@0.0.8",
-              "resolved": "https://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz"
-            },
-            "char-spinner": {
-              "version": "1.0.1",
-              "from": "char-spinner@latest",
-              "resolved": "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz"
-            },
-            "chmodr": {
-              "version": "1.0.1",
-              "from": "chmodr@>=1.0.1 <1.1.0",
-              "resolved": "https://registry.npmjs.org/chmodr/-/chmodr-1.0.1.tgz"
-            },
-            "chownr": {
-              "version": "1.0.1",
-              "from": "chownr@1.0.1",
-              "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz"
-            },
-            "cmd-shim": {
-              "version": "2.0.1",
-              "from": "cmd-shim@>=2.0.1-0 <3.0.0-0",
-              "resolved": "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.1.tgz",
-              "dependencies": {
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>3.0.1 <4.0.0-0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "columnify": {
-              "version": "1.5.2",
-              "from": "columnify@1.5.2",
-              "resolved": "https://registry.npmjs.org/columnify/-/columnify-1.5.2.tgz",
-              "dependencies": {
-                "strip-ansi": {
-                  "version": "3.0.0",
-                  "from": "strip-ansi@>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
-                  "dependencies": {
-                    "ansi-regex": {
-                      "version": "2.0.0",
-                      "from": "ansi-regex@>=2.0.0 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
-                    }
-                  }
-                },
-                "wcwidth": {
-                  "version": "1.0.0",
-                  "from": "wcwidth@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.0.tgz",
-                  "dependencies": {
-                    "defaults": {
-                      "version": "1.0.2",
-                      "from": "defaults@>=1.0.0 <2.0.0",
-                      "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.2.tgz",
-                      "dependencies": {
-                        "clone": {
-                          "version": "0.1.19",
-                          "from": "clone@>=0.1.5 <0.2.0",
-                          "resolved": "https://registry.npmjs.org/clone/-/clone-0.1.19.tgz"
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            },
-            "config-chain": {
-              "version": "1.1.9",
-              "from": "config-chain@>=1.1.9 <1.2.0",
-              "resolved": "https://registry.npmjs.org/config-chain/-/config-chain-1.1.9.tgz",
-              "dependencies": {
-                "proto-list": {
-                  "version": "1.2.4",
-                  "from": "proto-list@>=1.2.1 <1.3.0",
-                  "resolved": "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz"
-                }
-              }
-            },
-            "dezalgo": {
-              "version": "1.0.3",
-              "from": "dezalgo@>=1.0.3 <1.1.0",
-              "dependencies": {
-                "asap": {
-                  "version": "2.0.3",
-                  "from": "asap@>=2.0.0 <3.0.0",
-                  "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.3.tgz"
-                }
-              }
-            },
-            "editor": {
-              "version": "1.0.0",
-              "from": "editor@>=1.0.0 <1.1.0",
-              "resolved": "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz"
-            },
-            "fs-vacuum": {
-              "version": "1.2.6",
-              "from": "fs-vacuum@>=1.2.5 <1.3.0",
-              "resolved": "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.6.tgz",
-              "dependencies": {
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=3.0.2 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "fs-write-stream-atomic": {
-              "version": "1.0.3",
-              "from": "fs-write-stream-atomic@1.0.3",
-              "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.3.tgz",
-              "dependencies": {
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=3.0.2 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "fstream": {
-              "version": "1.0.7",
-              "from": "fstream@>=1.0.7 <1.1.0",
-              "dependencies": {
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "fstream-npm": {
-              "version": "1.0.5",
-              "from": "fstream-npm@>=1.0.5 <1.1.0",
-              "dependencies": {
-                "fstream-ignore": {
-                  "version": "1.0.2",
-                  "from": "fstream-ignore@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.2.tgz"
-                }
-              }
-            },
-            "github-url-from-git": {
-              "version": "1.4.0",
-              "from": "github-url-from-git@>=1.4.0-0 <2.0.0-0",
-              "resolved": "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz"
-            },
-            "github-url-from-username-repo": {
-              "version": "1.0.2",
-              "from": "github-url-from-username-repo@>=1.0.2-0 <2.0.0-0"
-            },
-            "glob": {
-              "version": "5.0.14",
-              "from": "glob@latest",
-              "resolved": "https://registry.npmjs.org/glob/-/glob-5.0.14.tgz",
-              "dependencies": {
-                "path-is-absolute": {
-                  "version": "1.0.0",
-                  "from": "path-is-absolute@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz"
-                }
-              }
-            },
-            "graceful-fs": {
-              "version": "4.1.2",
-              "from": "graceful-fs@>=3.0.8 <3.1.0"
-            },
-            "hosted-git-info": {
-              "version": "2.1.4",
-              "from": "hosted-git-info@>=2.1.2 <2.2.0",
-              "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.4.tgz"
-            },
-            "inflight": {
-              "version": "1.0.4",
-              "from": "inflight@>=1.0.4 <1.1.0"
-            },
-            "inherits": {
-              "version": "2.0.1",
-              "from": "inherits@latest",
-              "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz"
-            },
-            "ini": {
-              "version": "1.3.4",
-              "from": "ini@latest",
-              "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz"
-            },
-            "init-package-json": {
-              "version": "1.8.0",
-              "from": "init-package-json@1.8.0",
-              "resolved": "https://registry.npmjs.org/init-package-json/-/init-package-json-1.8.0.tgz",
-              "dependencies": {
-                "promzard": {
-                  "version": "0.3.0",
-                  "from": "promzard@>=0.3.0 <0.4.0",
-                  "resolved": "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz"
-                }
-              }
-            },
-            "lockfile": {
-              "version": "1.0.1",
-              "from": "lockfile@>=1.0.0 <1.1.0",
-              "resolved": "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz"
-            },
-            "lru-cache": {
-              "version": "2.6.5",
-              "from": "lru-cache@2.6.5",
-              "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz"
-            },
-            "minimatch": {
-              "version": "2.0.10",
-              "from": "minimatch@2.0.10",
-              "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz",
-              "dependencies": {
-                "brace-expansion": {
-                  "version": "1.1.0",
-                  "from": "brace-expansion@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
-                  "dependencies": {
-                    "balanced-match": {
-                      "version": "0.2.0",
-                      "from": "balanced-match@>=0.2.0 <0.3.0",
-                      "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
-                    },
-                    "concat-map": {
-                      "version": "0.0.1",
-                      "from": "concat-map@0.0.1",
-                      "resolved": "https://registrytwo.npmjs.com/concat-map/-/concat-map-0.0.1.tgz"
-                    }
-                  }
-                }
-              }
-            },
-            "mkdirp": {
-              "version": "0.5.1",
-              "from": "mkdirp@>=0.5.1 <0.6.0",
-              "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz",
-              "dependencies": {
-                "minimist": {
-                  "version": "0.0.8",
-                  "from": "minimist@0.0.8",
-                  "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz"
-                }
-              }
-            },
-            "node-gyp": {
-              "version": "2.0.2",
-              "from": "node-gyp@latest",
-              "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-2.0.2.tgz",
-              "dependencies": {
-                "glob": {
-                  "version": "4.5.3",
-                  "from": "glob@>=3.0.0 <4.0.0||>=4.0.0 <5.0.0",
-                  "resolved": "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz",
-                  "dependencies": {
-                    "minimatch": {
-                      "version": "2.0.8",
-                      "from": "minimatch@>=2.0.1 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz",
-                      "dependencies": {
-                        "brace-expansion": {
-                          "version": "1.1.0",
-                          "from": "brace-expansion@>=1.0.0 <2.0.0",
-                          "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz",
-                          "dependencies": {
-                            "balanced-match": {
-                              "version": "0.2.0",
-                              "from": "balanced-match@>=0.2.0 <0.3.0",
-                              "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz"
-                            },
-                            "concat-map": {
-                              "version": "0.0.1",
-                              "from": "concat-map@0.0.1",
-                              "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
-                            }
-                          }
-                        }
-                      }
-                    }
-                  }
-                },
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                },
-                "minimatch": {
-                  "version": "1.0.0",
-                  "from": "minimatch@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz",
-                  "dependencies": {
-                    "sigmund": {
-                      "version": "1.0.1",
-                      "from": "sigmund@>=1.0.0 <1.1.0",
-                      "resolved": "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz"
-                    }
-                  }
-                },
-                "path-array": {
-                  "version": "1.0.0",
-                  "from": "path-array@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/path-array/-/path-array-1.0.0.tgz",
-                  "dependencies": {
-                    "array-index": {
-                      "version": "0.1.1",
-                      "from": "array-index@>=0.1.0 <0.2.0",
-                      "resolved": "https://registry.npmjs.org/array-index/-/array-index-0.1.1.tgz",
-                      "dependencies": {
-                        "debug": {
-                          "version": "2.2.0",
-                          "from": "debug@*",
-                          "resolved": "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz",
-                          "dependencies": {
-                            "ms": {
-                              "version": "0.7.1",
-                              "from": "ms@0.7.1",
-                              "resolved": "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz"
-                            }
-                          }
-                        }
-                      }
-                    }
-                  }
-                },
-                "semver": {
-                  "version": "4.3.6",
-                  "from": "semver@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0||>=4.0.0 <5.0.0",
-                  "resolved": "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz"
-                },
-                "tar": {
-                  "version": "1.0.3",
-                  "from": "tar@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/tar/-/tar-1.0.3.tgz"
-                }
-              }
-            },
-            "nopt": {
-              "version": "3.0.3",
-              "from": "nopt@>=3.0.3 <3.1.0",
-              "resolved": "https://registry.npmjs.org/nopt/-/nopt-3.0.3.tgz"
-            },
-            "normalize-git-url": {
-              "version": "3.0.1",
-              "from": "normalize-git-url@latest"
-            },
-            "normalize-package-data": {
-              "version": "2.3.1",
-              "from": "normalize-package-data@>=2.3.1 <2.4.0"
-            },
-            "npm-cache-filename": {
-              "version": "1.0.2",
-              "from": "npm-cache-filename@1.0.2",
-              "resolved": "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz"
-            },
-            "npm-install-checks": {
-              "version": "1.0.6",
-              "from": "npm-install-checks@>=1.0.6 <1.1.0"
-            },
-            "npm-package-arg": {
-              "version": "4.0.2",
-              "from": "npm-package-arg@>=4.0.2 <4.1.0"
-            },
-            "npm-registry-client": {
-              "version": "7.0.1",
-              "from": "npm-registry-client@7.0.1",
-              "resolved": "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.0.1.tgz",
-              "dependencies": {
-                "chownr": {
-                  "version": "1.0.1",
-                  "from": "chownr@>=1.0.1 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz"
-                },
-                "concat-stream": {
-                  "version": "1.5.0",
-                  "from": "concat-stream@>=1.4.6 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz",
-                  "dependencies": {
-                    "typedarray": {
-                      "version": "0.0.6",
-                      "from": "typedarray@>=0.0.5 <0.1.0",
-                      "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
-                    },
-                    "readable-stream": {
-                      "version": "2.0.2",
-                      "from": "readable-stream@>=2.0.0 <2.1.0",
-                      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
-                      "dependencies": {
-                        "core-util-is": {
-                          "version": "1.0.1",
-                          "from": "core-util-is@>=1.0.0 <1.1.0",
-                          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
-                        },
-                        "isarray": {
-                          "version": "0.0.1",
-                          "from": "isarray@0.0.1",
-                          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
-                        },
-                        "process-nextick-args": {
-                          "version": "1.0.2",
-                          "from": "process-nextick-args@>=1.0.0 <1.1.0",
-                          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.2.tgz"
-                        },
-                        "string_decoder": {
-                          "version": "0.10.31",
-                          "from": "string_decoder@>=0.10.0 <0.11.0",
-                          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
-                        },
-                        "util-deprecate": {
-                          "version": "1.0.1",
-                          "from": "util-deprecate@>=1.0.1 <1.1.0",
-                          "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
-                        }
-                      }
-                    }
-                  }
-                },
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "npm-user-validate": {
-              "version": "0.1.2",
-              "from": "npm-user-validate@>=0.1.1 <0.2.0",
-              "resolved": "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.2.tgz"
-            },
-            "npmlog": {
-              "version": "1.2.1",
-              "from": "npmlog@>=1.2.1 <1.3.0",
-              "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-1.2.1.tgz",
-              "dependencies": {
-                "are-we-there-yet": {
-                  "version": "1.0.4",
-                  "from": "are-we-there-yet@>=1.0.0 <1.1.0",
-                  "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.0.4.tgz",
-                  "dependencies": {
-                    "delegates": {
-                      "version": "0.1.0",
-                      "from": "delegates@>=0.1.0 <0.2.0",
-                      "resolved": "https://registry.npmjs.org/delegates/-/delegates-0.1.0.tgz"
-                    }
-                  }
-                },
-                "gauge": {
-                  "version": "1.2.0",
-                  "from": "gauge@>=1.2.0 <1.3.0",
-                  "resolved": "https://registry.npmjs.org/gauge/-/gauge-1.2.0.tgz",
-                  "dependencies": {
-                    "has-unicode": {
-                      "version": "1.0.0",
-                      "from": "has-unicode@>=1.0.0 <2.0.0",
-                      "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-1.0.0.tgz"
-                    },
-                    "lodash.pad": {
-                      "version": "3.1.0",
-                      "from": "lodash.pad@>=3.0.0 <4.0.0",
-                      "resolved": "https://registry.npmjs.org/lodash.pad/-/lodash.pad-3.1.0.tgz"
-                    },
-                    "lodash.padleft": {
-                      "version": "3.1.1",
-                      "from": "lodash.padleft@>=3.0.0 <4.0.0",
-                      "resolved": "https://registry.npmjs.org/lodash.padleft/-/lodash.padleft-3.1.1.tgz"
-                    },
-                    "lodash.padright": {
-                      "version": "3.1.1",
-                      "from": "lodash.padright@>=3.0.0 <4.0.0",
-                      "resolved": "https://registry.npmjs.org/lodash.padright/-/lodash.padright-3.1.1.tgz"
-                    },
-                    "lodash._basetostring": {
-                      "version": "3.0.0",
-                      "from": "lodash._basetostring@3.0.0",
-                      "resolved": "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.0.tgz"
-                    },
-                    "lodash._createpadding": {
-                      "version": "3.6.0",
-                      "from": "lodash._createpadding@3.6.0",
-                      "resolved": "https://registry.npmjs.org/lodash._createpadding/-/lodash._createpadding-3.6.0.tgz",
-                      "dependencies": {
-                        "lodash.repeat": {
-                          "version": "3.0.0",
-                          "from": "lodash.repeat@>=3.0.0 <4.0.0",
-                          "resolved": "https://registry.npmjs.org/lodash.repeat/-/lodash.repeat-3.0.0.tgz"
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            },
-            "once": {
-              "version": "1.3.2",
-              "from": "once@>=1.3.2 <1.4.0",
-              "resolved": "https://registry.npmjs.org/once/-/once-1.3.2.tgz"
-            },
-            "opener": {
-              "version": "1.4.1",
-              "from": "opener@>=1.4.1 <1.5.0",
-              "resolved": "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz"
-            },
-            "osenv": {
-              "version": "0.1.3",
-              "from": "osenv@0.1.3",
-              "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz",
-              "dependencies": {
-                "os-homedir": {
-                  "version": "1.0.0",
-                  "from": "os-homedir@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.0.tgz"
-                },
-                "os-tmpdir": {
-                  "version": "1.0.1",
-                  "from": "os-tmpdir@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz"
-                }
-              }
-            },
-            "path-is-inside": {
-              "version": "1.0.1",
-              "from": "path-is-inside@1.0.1",
-              "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz"
-            },
-            "read": {
-              "version": "1.0.6",
-              "from": "read@1.0.6",
-              "resolved": "https://registry.npmjs.org/read/-/read-1.0.6.tgz",
-              "dependencies": {
-                "mute-stream": {
-                  "version": "0.0.5",
-                  "from": "mute-stream@>=0.0.4 <0.1.0",
-                  "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz"
-                }
-              }
-            },
-            "read-installed": {
-              "version": "4.0.2",
-              "from": "read-installed@>=4.0.2 <4.1.0",
-              "dependencies": {
-                "debuglog": {
-                  "version": "1.0.1",
-                  "from": "debuglog@>=1.0.1 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz"
-                },
-                "readdir-scoped-modules": {
-                  "version": "1.0.1",
-                  "from": "readdir-scoped-modules@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.1.tgz"
-                },
-                "util-extend": {
-                  "version": "1.0.1",
-                  "from": "util-extend@>=1.0.1 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/util-extend/-/util-extend-1.0.1.tgz"
-                },
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "read-package-json": {
-              "version": "2.0.0",
-              "from": "read-package-json@>=2.0.0 <2.1.0",
-              "dependencies": {
-                "json-parse-helpfulerror": {
-                  "version": "1.0.3",
-                  "from": "json-parse-helpfulerror@>=1.0.2 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz",
-                  "dependencies": {
-                    "jju": {
-                      "version": "1.2.0",
-                      "from": "jju@>=1.1.0 <2.0.0",
-                      "resolved": "https://registry.npmjs.org/jju/-/jju-1.2.0.tgz"
-                    }
-                  }
-                },
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "readable-stream": {
-              "version": "1.1.13",
-              "from": "readable-stream@>=1.1.13 <1.2.0",
-              "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz",
-              "dependencies": {
-                "core-util-is": {
-                  "version": "1.0.1",
-                  "from": "core-util-is@>=1.0.0 <1.1.0",
-                  "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
-                },
-                "isarray": {
-                  "version": "0.0.1",
-                  "from": "isarray@0.0.1",
-                  "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
-                },
-                "string_decoder": {
-                  "version": "0.10.31",
-                  "from": "string_decoder@>=0.10.0 <0.11.0",
-                  "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
-                }
-              }
-            },
-            "realize-package-specifier": {
-              "version": "3.0.1",
-              "from": "realize-package-specifier@>=3.0.0 <3.1.0",
-              "resolved": "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.1.tgz"
-            },
-            "request": {
-              "version": "2.61.0",
-              "from": "request@>=2.61.0 <2.62.0",
-              "resolved": "https://registry.npmjs.org/request/-/request-2.61.0.tgz",
-              "dependencies": {
-                "bl": {
-                  "version": "1.0.0",
-                  "from": "bl@>=1.0.0 <1.1.0",
-                  "resolved": "https://registry.npmjs.org/bl/-/bl-1.0.0.tgz",
-                  "dependencies": {
-                    "readable-stream": {
-                      "version": "2.0.2",
-                      "from": "readable-stream@>=2.0.0 <2.1.0",
-                      "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz",
-                      "dependencies": {
-                        "core-util-is": {
-                          "version": "1.0.1",
-                          "from": "core-util-is@>=1.0.0 <1.1.0",
-                          "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz"
-                        },
-                        "isarray": {
-                          "version": "0.0.1",
-                          "from": "isarray@0.0.1",
-                          "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz"
-                        },
-                        "process-nextick-args": {
-                          "version": "1.0.2",
-                          "from": "process-nextick-args@>=1.0.0 <1.1.0",
-                          "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.2.tgz"
-                        },
-                        "string_decoder": {
-                          "version": "0.10.31",
-                          "from": "string_decoder@>=0.10.0 <0.11.0",
-                          "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz"
-                        },
-                        "util-deprecate": {
-                          "version": "1.0.1",
-                          "from": "util-deprecate@>=1.0.1 <1.1.0",
-                          "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz"
-                        }
-                      }
-                    }
-                  }
-                },
-                "caseless": {
-                  "version": "0.11.0",
-                  "from": "caseless@>=0.11.0 <0.12.0",
-                  "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz"
-                },
-                "extend": {
-                  "version": "3.0.0",
-                  "from": "extend@>=3.0.0 <3.1.0",
-                  "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz"
-                },
-                "forever-agent": {
-                  "version": "0.6.1",
-                  "from": "forever-agent@>=0.6.0 <0.7.0",
-                  "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz"
-                },
-                "form-data": {
-                  "version": "1.0.0-rc3",
-                  "from": "form-data@>=1.0.0-rc1 <1.1.0",
-                  "resolved": "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz",
-                  "dependencies": {
-                    "async": {
-                      "version": "1.4.2",
-                      "from": "async@>=1.4.0 <2.0.0",
-                      "resolved": "https://registry.npmjs.org/async/-/async-1.4.2.tgz"
-                    }
-                  }
-                },
-                "json-stringify-safe": {
-                  "version": "5.0.1",
-                  "from": "json-stringify-safe@>=5.0.0 <5.1.0",
-                  "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
-                },
-                "mime-types": {
-                  "version": "2.1.5",
-                  "from": "mime-types@>=2.1.2 <2.2.0",
-                  "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.5.tgz",
-                  "dependencies": {
-                    "mime-db": {
-                      "version": "1.17.0",
-                      "from": "mime-db@>=1.17.0 <1.18.0",
-                      "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.17.0.tgz"
-                    }
-                  }
-                },
-                "node-uuid": {
-                  "version": "1.4.3",
-                  "from": "node-uuid@>=1.4.0 <1.5.0",
-                  "resolved": "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz"
-                },
-                "qs": {
-                  "version": "4.0.0",
-                  "from": "qs@>=4.0.0 <4.1.0",
-                  "resolved": "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz"
-                },
-                "tunnel-agent": {
-                  "version": "0.4.1",
-                  "from": "tunnel-agent@>=0.4.0 <0.5.0",
-                  "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz"
-                },
-                "tough-cookie": {
-                  "version": "2.0.0",
-                  "from": "tough-cookie@>=0.12.0",
-                  "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.0.0.tgz"
-                },
-                "http-signature": {
-                  "version": "0.11.0",
-                  "from": "http-signature@>=0.11.0 <0.12.0",
-                  "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz",
-                  "dependencies": {
-                    "assert-plus": {
-                      "version": "0.1.5",
-                      "from": "assert-plus@>=0.1.5 <0.2.0",
-                      "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz"
-                    },
-                    "asn1": {
-                      "version": "0.1.11",
-                      "from": "asn1@0.1.11",
-                      "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz"
-                    },
-                    "ctype": {
-                      "version": "0.5.3",
-                      "from": "ctype@0.5.3",
-                      "resolved": "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz"
-                    }
-                  }
-                },
-                "oauth-sign": {
-                  "version": "0.8.0",
-                  "from": "oauth-sign@>=0.8.0 <0.9.0",
-                  "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz"
-                },
-                "hawk": {
-                  "version": "3.1.0",
-                  "from": "hawk@>=3.1.0 <3.2.0",
-                  "resolved": "https://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz",
-                  "dependencies": {
-                    "hoek": {
-                      "version": "2.14.0",
-                      "from": "hoek@>=2.0.0 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz"
-                    },
-                    "boom": {
-                      "version": "2.8.0",
-                      "from": "boom@>=2.8.0 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/boom/-/boom-2.8.0.tgz"
-                    },
-                    "cryptiles": {
-                      "version": "2.0.4",
-                      "from": "cryptiles@>=2.0.0 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz"
-                    },
-                    "sntp": {
-                      "version": "1.0.9",
-                      "from": "sntp@>=1.0.0 <2.0.0",
-                      "resolved": "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz"
-                    }
-                  }
-                },
-                "aws-sign2": {
-                  "version": "0.5.0",
-                  "from": "aws-sign2@>=0.5.0 <0.6.0",
-                  "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz"
-                },
-                "stringstream": {
-                  "version": "0.0.4",
-                  "from": "stringstream@>=0.0.4 <0.1.0",
-                  "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz"
-                },
-                "combined-stream": {
-                  "version": "1.0.5",
-                  "from": "combined-stream@>=1.0.1 <1.1.0",
-                  "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz",
-                  "dependencies": {
-                    "delayed-stream": {
-                      "version": "1.0.0",
-                      "from": "delayed-stream@>=1.0.0 <1.1.0",
-                      "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
-                    }
-                  }
-                },
-                "isstream": {
-                  "version": "0.1.2",
-                  "from": "isstream@>=0.1.1 <0.2.0",
-                  "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz"
-                },
-                "har-validator": {
-                  "version": "1.8.0",
-                  "from": "har-validator@>=1.6.1 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz",
-                  "dependencies": {
-                    "bluebird": {
-                      "version": "2.9.34",
-                      "from": "bluebird@>=2.9.30 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz"
-                    },
-                    "chalk": {
-                      "version": "1.1.1",
-                      "from": "chalk@>=1.0.0 <2.0.0",
-                      "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.1.tgz",
-                      "dependencies": {
-                        "ansi-styles": {
-                          "version": "2.1.0",
-                          "from": "ansi-styles@>=2.1.0 <3.0.0",
-                          "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz"
-                        },
-                        "escape-string-regexp": {
-                          "version": "1.0.3",
-                          "from": "escape-string-regexp@>=1.0.2 <2.0.0",
-                          "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz"
-                        },
-                        "has-ansi": {
-                          "version": "2.0.0",
-                          "from": "has-ansi@>=2.0.0 <3.0.0",
-                          "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz",
-                          "dependencies": {
-                            "ansi-regex": {
-                              "version": "2.0.0",
-                              "from": "ansi-regex@>=2.0.0 <3.0.0",
-                              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
-                            }
-                          }
-                        },
-                        "strip-ansi": {
-                          "version": "3.0.0",
-                          "from": "strip-ansi@>=3.0.0 <4.0.0",
-                          "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz",
-                          "dependencies": {
-                            "ansi-regex": {
-                              "version": "2.0.0",
-                              "from": "ansi-regex@>=2.0.0 <3.0.0",
-                              "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz"
-                            }
-                          }
-                        },
-                        "supports-color": {
-                          "version": "2.0.0",
-                          "from": "supports-color@>=2.0.0 <3.0.0",
-                          "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz"
-                        }
-                      }
-                    },
-                    "commander": {
-                      "version": "2.8.1",
-                      "from": "commander@>=2.8.1 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz",
-                      "dependencies": {
-                        "graceful-readlink": {
-                          "version": "1.0.1",
-                          "from": "graceful-readlink@>=1.0.0",
-                          "resolved": "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz"
-                        }
-                      }
-                    },
-                    "is-my-json-valid": {
-                      "version": "2.12.1",
-                      "from": "is-my-json-valid@>=2.12.0 <3.0.0",
-                      "resolved": "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.1.tgz",
-                      "dependencies": {
-                        "generate-function": {
-                          "version": "2.0.0",
-                          "from": "generate-function@>=2.0.0 <3.0.0",
-                          "resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz"
-                        },
-                        "generate-object-property": {
-                          "version": "1.2.0",
-                          "from": "generate-object-property@>=1.1.0 <2.0.0",
-                          "resolved": "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz",
-                          "dependencies": {
-                            "is-property": {
-                              "version": "1.0.2",
-                              "from": "is-property@>=1.0.0 <2.0.0",
-                              "resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz"
-                            }
-                          }
-                        },
-                        "jsonpointer": {
-                          "version": "1.1.0",
-                          "from": "jsonpointer@>=1.1.0 <2.0.0",
-                          "resolved": "https://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz"
-                        },
-                        "xtend": {
-                          "version": "4.0.0",
-                          "from": "xtend@>=4.0.0 <5.0.0",
-                          "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz"
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            },
-            "retry": {
-              "version": "0.6.1",
-              "from": "retry@>=0.6.1 <0.7.0",
-              "resolved": "https://registry.npmjs.org/retry/-/retry-0.6.1.tgz"
-            },
-            "rimraf": {
-              "version": "2.4.2",
-              "from": "rimraf@2.4.2",
-              "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.4.2.tgz"
-            },
-            "semver": {
-              "version": "5.0.1",
-              "from": "semver@>=5.0.1 <5.1.0",
-              "resolved": "https://registry.npmjs.org/semver/-/semver-5.0.1.tgz"
-            },
-            "sha": {
-              "version": "1.3.0",
-              "from": "sha@>=1.3.0 <1.4.0",
-              "resolved": "https://registry.npmjs.org/sha/-/sha-1.3.0.tgz",
-              "dependencies": {
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=2.0.0 <3.0.0||>=3.0.0 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "slide": {
-              "version": "1.1.6",
-              "from": "slide@>=1.1.6 <1.2.0",
-              "resolved": "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz"
-            },
-            "sorted-object": {
-              "version": "1.0.0",
-              "from": "sorted-object@"
-            },
-            "spdx": {
-              "version": "0.4.1",
-              "from": "spdx@>=0.4.0 <0.5.0",
-              "resolved": "https://registry.npmjs.org/spdx/-/spdx-0.4.1.tgz",
-              "dependencies": {
-                "spdx-license-ids": {
-                  "version": "1.0.1",
-                  "from": "spdx-license-ids@>=1.0.0 <2.0.0",
-                  "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.0.1.tgz"
-                }
-              }
-            },
-            "tar": {
-              "version": "2.1.1",
-              "from": "tar@>=2.1.1 <2.2.0"
-            },
-            "text-table": {
-              "version": "0.2.0",
-              "from": "text-table@~0.2.0"
-            },
-            "uid-number": {
-              "version": "0.0.6",
-              "from": "uid-number@>=0.0.6 <0.1.0",
-              "resolved": "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz"
-            },
-            "umask": {
-              "version": "1.1.0",
-              "from": "umask@>=1.1.0 <1.2.0",
-              "resolved": "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz"
-            },
-            "validate-npm-package-name": {
-              "version": "2.2.2",
-              "from": "validate-npm-package-name@2.2.2",
-              "dependencies": {
-                "builtins": {
-                  "version": "0.0.7",
-                  "from": "builtins@0.0.7"
-                }
-              }
-            },
-            "which": {
-              "version": "1.1.1",
-              "from": "which@>=1.1.1 <1.2.0",
-              "resolved": "https://registry.npmjs.org/which/-/which-1.1.1.tgz",
-              "dependencies": {
-                "is-absolute": {
-                  "version": "0.1.7",
-                  "from": "is-absolute@>=0.1.7 <0.2.0",
-                  "resolved": "https://registry.npmjs.org/is-absolute/-/is-absolute-0.1.7.tgz",
-                  "dependencies": {
-                    "is-relative": {
-                      "version": "0.1.3",
-                      "from": "is-relative@>=0.1.0 <0.2.0",
-                      "resolved": "https://registry.npmjs.org/is-relative/-/is-relative-0.1.3.tgz"
-                    }
-                  }
-                }
-              }
-            },
-            "wrappy": {
-              "version": "1.0.1",
-              "from": "wrappy@1.0.1",
-              "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz"
-            },
-            "write-file-atomic": {
-              "version": "1.1.2",
-              "from": "write-file-atomic@>=1.1.2 <1.2.0",
-              "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.2.tgz",
-              "dependencies": {
-                "graceful-fs": {
-                  "version": "3.0.8",
-                  "from": "graceful-fs@>=3.0.2 <4.0.0",
-                  "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz"
-                }
-              }
-            },
-            "validate-npm-package-license": {
-              "version": "2.0.0",
-              "from": "validate-npm-package-license@2.0.0",
-              "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-2.0.0.tgz",
-              "dependencies": {
-                "spdx-correct": {
-                  "version": "1.0.0",
-                  "from": "spdx-correct@>=1.0.0 <1.1.0",
-                  "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.0.tgz"
-                }
-              }
-            }
-          }
-        },
-        "user-home": {
-          "version": "2.0.0",
-          "from": "user-home@2.0.0",
-          "resolved": "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz",
-          "dependencies": {
-            "os-homedir": {
-              "version": "1.0.1",
-              "from": "os-homedir@^1.0.0",
-              "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz"
-            }
-          }
-        }
-      }
-    }
-  }
-}
diff --git a/camel-website/package.json b/camel-website/package.json
deleted file mode 100644
index d472ed0..0000000
--- a/camel-website/package.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
-  "name": "camel-website",
-  "version": "2.17.0",
-  "description": "Apache Camel Website",
-  "license": "Apache-2.0",
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/apache/camel"
-  },
-  "devDependencies": {
-    "gitbook-cli": "~0.3.6",
-    "grunt": "^0.4.5",
-    "grunt-cli": "^0.1.13",
-    "grunt-http-server": "^1.13.0",
-    "grunt-link-checker": "^0.1.0"
-  }
-}
diff --git a/camel-website/pom.xml b/camel-website/pom.xml
deleted file mode 100644
index 6f55d21..0000000
--- a/camel-website/pom.xml
+++ /dev/null
@@ -1,117 +0,0 @@
-<!--
-
-    Licensed to the Apache Software Foundation (ASF) under one or more
-    contributor license agreements.  See the NOTICE file distributed with
-    this work for additional information regarding copyright ownership.
-    The ASF licenses this file to You under the Apache License, Version 2.0
-    (the "License"); you may not use this file except in compliance with
-    the License.  You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-
--->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-   <modelVersion>4.0.0</modelVersion>
-
-  <parent>
-    <groupId>org.apache.camel</groupId>
-    <artifactId>camel-parent</artifactId>
-    <version>2.22.0-SNAPSHOT</version>
-    <relativePath>../parent</relativePath>
-  </parent>
-
-   <artifactId>camel-website</artifactId>
-   <packaging>jar</packaging>
-   <name>Camel Website</name>
-
-   <build>
-      <plugins>
-         <plugin>
-            <groupId>com.github.eirslett</groupId>
-            <artifactId>frontend-maven-plugin</artifactId>
-            <version>0.0.27</version>
-            <executions>
-               <execution>
-                  <id>install node and npm</id>
-                  <goals>
-                     <goal>install-node-and-npm</goal>
-                  </goals>
-                  <phase>generate-sources</phase>
-                  <configuration>
-                     <nodeVersion>v0.10.32</nodeVersion>
-                     <npmVersion>1.4.12</npmVersion>
-                  </configuration>
-               </execution>
-               <execution>
-                  <id>npm install</id>
-                  <goals>
-                     <goal>npm</goal>
-                  </goals>
-                  <phase>generate-sources</phase>
-                  <configuration>
-                     <arguments>install</arguments>
-                  </configuration>
-               </execution>
-            </executions>
-         </plugin>
-         <plugin>
-            <artifactId>maven-antrun-plugin</artifactId>
-            <version>1.6</version>
-            <executions>
-               <execution>
-                  <phase>generate-sources</phase>
-                  <configuration>
-                     <target>
-                        <condition property="gitbook.cmd" 
-                                   value="${basedir}/node_modules/.bin/gitbook.cmd" 
-                                   else="${basedir}/node_modules/.bin/gitbook">
-                           <os family="windows" />
-                        </condition>
-
-                        <!-- lets generate the gitbook -->
-                        <mkdir dir="${basedir}/target/docs/user-manual" />
-                        <copy todir="${basedir}/target/docs/user-manual" >
-                          <fileset dir="${basedir}/../docs/user-manual/en"/>
-                        </copy>
-                        <copy todir="${basedir}/target/docs/user-manual" flatten="true">
-                          <fileset dir="{basedir}/../../components">
-                            <include name="**/src/main/docs/**"/>
-                          </fileset>
-                          <fileset dir="{basedir}/../../camel-core">
-                            <include name="**/src/main/docs/**"/>
-                          </fileset>
-                        </copy>
-
-                        <mkdir dir="${basedir}/target/classes/user-manual" />
-                        <echo>executing ${gitbook.cmd}</echo>
-                        <exec executable="${gitbook.cmd}">
-                           <arg value="build" />
-                           <arg value="${basedir}/target/docs/user-manual" />
-                           <arg value="${basedir}/target/classes/user-manual" />
-                        </exec>
-
-                        <condition property="grunt.cmd" 
-                                   value="${basedir}/node_modules/.bin/grunt.cmd" 
-                                   else="${basedir}/node_modules/.bin/grunt">
-                           <os family="windows" />
-                        </condition>
-                        <echo>executing ${grunt.cmd}</echo>
-                        <exec executable="${grunt.cmd}" failonerror="false"/>
-
-                     </target>
-                  </configuration>
-                  <goals>
-                     <goal>run</goal>
-                  </goals>
-               </execution>
-            </executions>
-         </plugin>
-      </plugins>
-   </build>
-</project>
diff --git a/camel-website/src/main/resources/styles/impact/css/pygmentize.css b/camel-website/src/main/resources/styles/impact/css/pygmentize.css
deleted file mode 100644
index ff26fde..0000000
--- a/camel-website/src/main/resources/styles/impact/css/pygmentize.css
+++ /dev/null
@@ -1,126 +0,0 @@
-/**
- * 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.
- */
-.syntax .hll { background-color: #ffffcc }
-.syntax  { background: #f0f0f0; }
-.syntax .c { color: #60a0b0; font-style: italic } /* Comment */
-.syntax .err { border: 1px solid #FF0000 } /* Error */
-.syntax .k { color: #007020; font-weight: bold } /* Keyword */
-.syntax .o { color: #666666 } /* Operator */
-.syntax .cm { color: #60a0b0; font-style: italic } /* Comment.Multiline */
-.syntax .cp { color: #007020 } /* Comment.Preproc */
-.syntax .c1 { color: #60a0b0; font-style: italic } /* Comment.Single */
-.syntax .cs { color: #60a0b0; background-color: #fff0f0 } /* Comment.Special */
-.syntax .gd { color: #A00000 } /* Generic.Deleted */
-.syntax .ge { font-style: italic } /* Generic.Emph */
-.syntax .gr { color: #FF0000 } /* Generic.Error */
-.syntax .gh { color: #000080; font-weight: bold } /* Generic.Heading */
-.syntax .gi { color: #00A000 } /* Generic.Inserted */
-.syntax .go { color: #808080 } /* Generic.Output */
-.syntax .gp { color: #c65d09; font-weight: bold } /* Generic.Prompt */
-.syntax .gs { font-weight: bold } /* Generic.Strong */
-.syntax .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
-.syntax .gt { color: #0040D0 } /* Generic.Traceback */
-.syntax .kc { color: #007020; font-weight: bold } /* Keyword.Constant */
-.syntax .kd { color: #007020; font-weight: bold } /* Keyword.Declaration */
-.syntax .kn { color: #007020; font-weight: bold } /* Keyword.Namespace */
-.syntax .kp { color: #007020 } /* Keyword.Pseudo */
-.syntax .kr { color: #007020; font-weight: bold } /* Keyword.Reserved */
-.syntax .kt { color: #902000 } /* Keyword.Type */
-.syntax .m { color: #40a070 } /* Literal.Number */
-.syntax .s { color: #4070a0 } /* Literal.String */
-.syntax .na { color: #4070a0 } /* Name.Attribute */
-.syntax .nb { color: #007020 } /* Name.Builtin */
-.syntax .nc { color: #0e84b5; font-weight: bold } /* Name.Class */
-.syntax .no { color: #60add5 } /* Name.Constant */
-.syntax .nd { color: #555555; font-weight: bold } /* Name.Decorator */
-.syntax .ni { color: #d55537; font-weight: bold } /* Name.Entity */
-.syntax .ne { color: #007020 } /* Name.Exception */
-.syntax .nf { color: #06287e } /* Name.Function */
-.syntax .nl { color: #002070; font-weight: bold } /* Name.Label */
-.syntax .nn { color: #0e84b5; font-weight: bold } /* Name.Namespace */
-.syntax .nt { color: #062873; font-weight: bold } /* Name.Tag */
-.syntax .nv { color: #bb60d5 } /* Name.Variable */
-.syntax .ow { color: #007020; font-weight: bold } /* Operator.Word */
-.syntax .w { color: #bbbbbb } /* Text.Whitespace */
-.syntax .mf { color: #40a070 } /* Literal.Number.Float */
-.syntax .mh { color: #40a070 } /* Literal.Number.Hex */
-.syntax .mi { color: #40a070 } /* Literal.Number.Integer */
-.syntax .mo { color: #40a070 } /* Literal.Number.Oct */
-.syntax .sb { color: #4070a0 } /* Literal.String.Backtick */
-.syntax .sc { color: #4070a0 } /* Literal.String.Char */
-.syntax .sd { color: #4070a0; font-style: italic } /* Literal.String.Doc */
-.syntax .s2 { color: #4070a0 } /* Literal.String.Double */
-.syntax .se { color: #4070a0; font-weight: bold } /* Literal.String.Escape */
-.syntax .sh { color: #4070a0 } /* Literal.String.Heredoc */
-.syntax .si { color: #70a0d0; font-style: italic } /* Literal.String.Interpol */
-.syntax .sx { color: #c65d09 } /* Literal.String.Other */
-.syntax .sr { color: #235388 } /* Literal.String.Regex */
-.syntax .s1 { color: #4070a0 } /* Literal.String.Single */
-.syntax .ss { color: #517918 } /* Literal.String.Symbol */
-.syntax .bp { color: #007020 } /* Name.Builtin.Pseudo */
-.syntax .vc { color: #bb60d5 } /* Name.Variable.Class */
-.syntax .vg { color: #bb60d5 } /* Name.Variable.Global */
-.syntax .vi { color: #bb60d5 } /* Name.Variable.Instance */
-.syntax .il { color: #40a070 } /* Literal.Number.Integer.Long */
-
-
-/* don't highlight errors */
-.syntax .err {
-  border: none;
-}
-
-.syntax {
-  font-size: .9em;
-  font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
-  background-color: #F8F8FF; 
-  
-  overflow:auto;
-  -moz-background-clip:border;
-  -moz-background-inline-policy:continuous;
-  -moz-background-origin:padding;
-  margin: 1em 0 1em 0;
-  border:1px solid #DDDDDD;
-  
-  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px; -moz-border-radius-topleft: 8px;  
-  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; -moz-border-radius-topright: 8px;
-  border-style: solid;  border-width: 1px; border-color: #dedede !important; 
-  padding: 1em;
-}
-.syntax .linenodiv  {
-  background-color:#ECECEC;
-  border-right:1px solid #DDDDDD;
-  color:#AAAAAA;
-  padding: .5em;
-  text-align:right;
-}
-.syntax .highlight  {
-}
-.syntax pre {
-  margin:0;
-  padding:0;
-  border: none;
-}
-
-pre.syntax {
-  padding: .5em;
-  background-color: #F8F8FF; overflow:auto;
-}
-
-.syntax code {
-  font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
-  font-size: 10pt;
-}
diff --git a/camel-website/src/main/resources/styles/impact/css/site.css b/camel-website/src/main/resources/styles/impact/css/site.css
deleted file mode 100644
index 31e9d34..0000000
--- a/camel-website/src/main/resources/styles/impact/css/site.css
+++ /dev/null
@@ -1,234 +0,0 @@
-/**
- * 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.
- */
-body, html {
-    font-family:Georgia, Arial, sans-serif; 
-    color: #666666;
-}
-body, html, table, tr, td, tbody {
-    padding:0;
-    margin:0;
-    vertical-align: top;
-}
-body {
-    padding-top: 20px;
-}
-
-h1, h2, h3, h4, h5, h6 {
-    font-family: 'Graublau Web', Helvetica, sans-serif;
-    overflow: visible;
-    color: #993333;
-}
-
-h2 {
-  border-top: 4px solid #E0E0E0 !important;
-  margin-top: 1.5em !important;
-  padding-top: 0.5em !important;
-}
-
-p { margin-bottom:0px; }
-
-a {
-	color: #700;
-	font-weight:bold;
-	text-decoration: none;
-}
-
-a:hover { 
-	color: #ff3333; 
-	text-decoration: underline;
-	}
-
-img {
-	border: none;
-/*
-	padding-right:2em
-*/
-}
-
-.wrapper { min-width: 762px; width: 762px; margin: 0 auto; }
-
-#navigation { width: 100%; float: left;
-    font-family: Helvetica,Verdana,Arial,sans-serif; 
-    background: black; 
-	text-align:center; 
-	padding: 8px 0 8px 0;
-    color: #b55; 
-	font-size: 10pt; 
-	font-weight: bold;
-  position: absolute;  
-    top: 0px;
-}
-#navigation a { color: white; }
-#navigation ul { display: block; margin:0; padding:0; }
-#navigation li { list-style-type: none; display: inline; margin:0 5px 0 5px;}
-
-#overview { width: 100%; padding-top:20px}
-#overview div.message { 
-    font-size: 11pt; 
-    margin-top: -20px;
-    padding-left: 120px;
-    width: 350px;
-}
-#overview div.message h1{ margin-bottom: 5px; display:none; }
-#overview div.message p{ margin-top: 0px; padding-bottom:14px; }
-
-#spot { width: 100%; float: left; 
-    margin-top: 15px;
-    background:transparent url(../images/spot-banner.gif) repeat-x scroll 0 0;
-    height: 277px;
-}
-#spot div.title {
-    text-align:center; height:25px;
-    text-align:center; padding-top: 2px;
-    color: white; font-size: 10pt; font-weight: bold; 
-    font-family: HelveticaNeue,"Helvetica Neue",Helvetica,Arial,Verdana,sans-serif; 
-}
-#spot div.content table {
-    width: 100%; text-align:center; 
-    color: black; font-size: 10pt; 
-}
-
-#spot a:hover {text-decoration: none; }
-
-#spot div.spot-balloon {
-  background:transparent url( ../../../images/spot-get-involved.gif ) no-repeat;
-  background-position:center;
-  height: 121px;
-  text-align:left;
-  padding-top: 25px;
-  padding-left: 35px;
-}
-
-#spot div.spot-balloon li {
-/*
-  list-style: none;
-*/
-  list-style: disc;
-}
-
-/*
-#spot div.spot-balloon {
-  height: 120px;
-  text-align:left;
-  padding-top: 20px;
-  padding-left: 15px;
-}
-*/
-
-#content { width: 100%; float: left; padding-bottom: 20px; }
-#content .wrapper { min-width: 700px; width: 700px; margin: 0 auto; padding-top: 1em}
-#content div.left {
-  float:left;
-  width:200px;
-  text-align:right;
-  font-size: 18pt;
-  clear:both;
-}
-#content h1 {
-  font-size: 18pt;
-}
-#content div.right {
-  float:right;
-  width:450px;
-  text-align:left;
-}
-
-#blog { width: 100%; float: left; }
-#blog .wrapper { min-width: 600px; width: 600px; margin: 0 auto; }
-#blog h1 {
-  font-family: HelveticaNeue,"Helvetica Neue",Helvetica,Arial,Verdana,sans-serif; 
-  font-size: 18pt; color: #993333;
-}
-#blog h2 {
-  border-bottom: thin dashed #DDD;
-  font-size: 16pt;
-  margin-bottom: 5px;
-}
-#blog div.post p {
-  padding-left: 10px;
-}
-#blog div.post .details {
-  padding-top: 5px;
-  color: #ccc;
-  font-size: 10pt;
-  font-family: HelveticaNeue,"Helvetica Neue",Helvetica,Arial,Verdana,sans-serif; 
-}
-
-#content .post h2 {
-  margin-bottom:5px;
-}
-#content .post .details {
-  color: #ccc;
-  font-size: 10pt;
-  font-family: HelveticaNeue,"Helvetica Neue",Helvetica,Arial,Verdana,sans-serif; 
-  margin-top:0px;
-}
-
-code {	
-  font-size: .9em;
-  font-family: 'Droid Sans Mono', 'Courier New', monospace !important;
-}
-pre {
-  background-color: #F8F8FF; 
-  
-  overflow:auto;
-  -moz-background-clip:border;
-  -moz-background-inline-policy:continuous;
-  -moz-background-origin:padding;
-  margin: 1em 0 1em 0;
-  border:1px solid #DDDDDD;
-  
-  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px; -moz-border-radius-topleft: 8px;  
-  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; -moz-border-radius-topright: 8px;
-  border-style: solid;  border-width: 1px; border-color: #dedede !important; 
-  padding: 1em;
-}
-pre code {	
-	font-family:Monaco,"Courier New","DejaVu Sans Mono","Bitstream Vera Sans Mono",monospace;
-	font-weight:normal;
-	font-style:normal;
-}
-div.compare { width: 700px; }
-div.compare div.compare-left { float:left; width:340px; padding:5px; margin-top: 15px; }
-div.compare div.compare-right { float:right; width:340px; padding:5px; margin-top: 15px; }
-div.compare div h3 {
-  margin-left: 15px;
-  padding: 5px 15px;
-  display: inline;
-  font-size: .8em;
-  color: #666;
-
-  border-top: 1px solid #ccc; -moz-border-top-colors: #ccc white white #e5e5e5;
-  border-left: 1px solid #ccc; -moz-border-left-colors: #ccc white white #e5e5e5;
-  border-right: 1px solid #ccc;-moz-border-right-colors: #ccc white white #e5e5e5;
-  border-top-left-radius: 8px; -webkit-border-top-left-radius: 8px;  -moz-border-radius-topleft: 8px;
-  border-top-right-radius: 8px; -webkit-border-top-right-radius: 8px; -moz-border-radius-topright: 8px; 
-}
-div.compare div div {
-  margin: 5px 0px 0px 0px;
-}
-
-.clear {
-  clear:both;
-}
-
-.wide div.compare div.compare-left { float:none; width:700px; }
-.wide div.compare div.compare-right { float:none; width:700px; }
-
-.hide {
-  display:none;
-}
\ No newline at end of file
diff --git a/camel-website/src/main/resources/user-manual/index.html b/camel-website/src/main/resources/user-manual/index.html
deleted file mode 100644
index aea9dbf..0000000
--- a/camel-website/src/main/resources/user-manual/index.html
+++ /dev/null
@@ -1,38 +0,0 @@
-<!--
-
-    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.
-
--->
-<html>
-  <head>
-  	<!--
-    <meta http-equiv="refresh" content="5;url=https://github.com/apache/camel/blob/master/docs/user-manual/en/SUMMARY.md"/>
-    -->
-
-  </head>
-<body>
-
-<h1>User Manual</h1>
-
-<p>If you are seeing this message, it is because the User Manual was not built 
-during the Apache Camel build.  To build Apache Camel User Manual you must 
-use the maven release profile: <code>mvn clean install -Prelease</code>.</p>
-
-<!--
-<p>You can view end edit the current document directly on <a href="https://github.com/apache/camel/blob/master/docs/user-manual/en/SUMMARY.md">github</a>.</p>
--->
-</body>
-</html>


[camel] 13/16: CAMEL-13932: Heading cleanup

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ceb920e1878d647cb74e86f6a98c62f7ea154c82
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Tue Sep 3 15:52:19 2019 +0200

    CAMEL-13932: Heading cleanup
---
 .../src/main/docs/ahc-ws-component.adoc            | 12 ++--
 .../camel-apns/src/main/docs/apns-component.adoc   | 20 +++----
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |  6 +-
 .../src/main/docs/asterisk-component.adoc          |  6 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |  8 +--
 .../main/docs/atmosphere-websocket-component.adoc  |  8 +--
 .../camel-atom/src/main/docs/atom-component.adoc   | 10 ++--
 .../src/main/docs/atomix-map-component.adoc        | 10 ++--
 .../src/main/docs/atomix-messaging-component.adoc  |  2 +-
 .../src/main/docs/atomix-multimap-component.adoc   |  2 +-
 .../src/main/docs/atomix-queue-component.adoc      |  2 +-
 .../src/main/docs/atomix-set-component.adoc        |  2 +-
 .../src/main/docs/atomix-value-component.adoc      |  2 +-
 .../camel-avro/src/main/docs/avro-component.adoc   | 12 ++--
 .../camel-avro/src/main/docs/avro-dataformat.adoc  |  6 +-
 .../camel-aws-xray/src/main/docs/aws-xray.adoc     | 12 ++--
 .../camel-aws/src/main/docs/aws-cw-component.adoc  | 12 ++--
 .../camel-aws/src/main/docs/aws-ddb-component.adoc | 30 +++++-----
 .../src/main/docs/aws-ddbstream-component.adoc     | 22 ++++----
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |  8 +--
 .../camel-aws/src/main/docs/aws-iam-component.adoc | 10 ++--
 .../src/main/docs/aws-kinesis-component.adoc       | 20 +++----
 .../main/docs/aws-kinesis-firehose-component.adoc  | 14 ++---
 .../camel-aws/src/main/docs/aws-kms-component.adoc | 10 ++--
 .../src/main/docs/aws-lambda-component.adoc        | 14 ++---
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |  8 +--
 .../camel-aws/src/main/docs/aws-s3-component.adoc  | 24 ++++----
 .../camel-aws/src/main/docs/aws-sdb-component.adoc | 20 +++----
 .../camel-aws/src/main/docs/aws-ses-component.adoc | 14 ++---
 .../camel-aws/src/main/docs/aws-sns-component.adoc | 14 ++---
 .../camel-aws/src/main/docs/aws-sqs-component.adoc | 24 ++++----
 .../camel-aws/src/main/docs/aws-swf-component.adoc | 20 +++----
 .../src/main/docs/azure-blob-component.adoc        | 18 +++---
 .../src/main/docs/azure-queue-component.adoc       | 18 +++---
 .../camel-bam/src/main/docs/bam-example.adoc       |  8 +--
 .../src/main/docs/barcode-dataformat.adoc          | 10 ++--
 .../src/main/docs/bean-validator-component.adoc    |  8 +--
 .../src/main/docs/beanio-dataformat.adoc           | 10 ++--
 .../camel-blueprint/src/main/docs/blueprint.adoc   |  6 +-
 .../src/main/docs/bonita-component.adoc            | 10 ++--
 .../camel-boon/src/main/docs/boon-dataformat.adoc  |  8 +--
 .../src/main/docs/braintree-component.adoc         | 50 ++++++++---------
 .../camel-cache/src/main/docs/cache-component.adoc | 42 +++++++-------
 .../src/main/docs/caffeine-cache-component.adoc    |  8 +--
 .../main/docs/caffeine-loadcache-component.adoc    |  4 +-
 .../src/main/docs/castor-dataformat.adoc           |  8 +--
 .../src/main/docs/chronicle-engine-component.adoc  |  4 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc | 12 ++--
 .../camel-cmis/src/main/docs/cmis-component.adoc   | 12 ++--
 .../camel-coap/src/main/docs/coap-component.adoc   |  6 +-
 .../src/main/docs/consul-component.adoc            |  6 +-
 .../src/main/docs/context-component.adoc           | 10 ++--
 .../camel-corda/src/main/docs/corda-component.adoc |  4 +-
 .../src/main/docs/couchbase-component.adoc         |  4 +-
 .../src/main/docs/couchdb-component.adoc           | 10 ++--
 .../src/main/docs/crypto-cms-component.adoc        |  6 +-
 .../src/main/docs/crypto-dataformat.adoc           | 14 ++---
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc | 22 ++++----
 .../camel-csv/src/main/docs/csv-dataformat.adoc    | 20 +++----
 .../camel-cxf/src/main/docs/cxf-component.adoc     | 40 +++++++-------
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   | 20 +++----
 .../src/main/docs/digitalocean-component.adoc      | 32 +++++------
 .../src/main/docs/docker-component.adoc            | 10 ++--
 .../camel-dozer/src/main/docs/dozer-component.adoc | 16 +++---
 .../camel-drill/src/main/docs/drill-component.adoc |  6 +-
 .../camel-eclipse/src/main/docs/eclipse.adoc       |  8 +--
 .../src/main/docs/ehcache-component.adoc           | 10 ++--
 .../camel-ejb/src/main/docs/ejb-component.adoc     | 12 ++--
 .../src/main/docs/elasticsearch-component.adoc     | 12 ++--
 .../src/main/docs/elasticsearch5-component.adoc    | 10 ++--
 .../camel-etcd/src/main/docs/etcd-component.adoc   |  4 +-
 .../src/main/docs/eventadmin-component.adoc        | 12 ++--
 .../camel-exec/src/main/docs/exec-component.adoc   | 20 +++----
 .../src/main/docs/json-fastjson-dataformat.adoc    |  4 +-
 .../src/main/docs/flatpack-component.adoc          | 22 ++++----
 .../src/main/docs/flatpack-dataformat.adoc         |  6 +-
 .../camel-flink/src/main/docs/flink-component.adoc | 10 ++--
 .../camel-fop/src/main/docs/fop-component.adoc     | 10 ++--
 .../src/main/docs/freemarker-component.adoc        | 16 +++---
 .../camel-ftp/src/main/docs/ftps-component.adoc    |  2 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |  2 +-
 .../src/main/docs/geocoder-component.adoc          | 10 ++--
 .../camel-git/src/main/docs/git-component.adoc     |  8 +--
 .../src/main/docs/github-component.adoc            |  8 +--
 .../src/main/docs/google-calendar-component.adoc   | 12 ++--
 .../docs/google-calendar-stream-component.adoc     |  6 +-
 .../src/main/docs/google-drive-component.adoc      | 12 ++--
 .../src/main/docs/google-mail-component.adoc       | 12 ++--
 .../main/docs/google-mail-stream-component.adoc    |  6 +-
 .../src/main/docs/google-sheets-component.adoc     | 12 ++--
 .../main/docs/google-sheets-stream-component.adoc  |  6 +-
 .../camel-gora/src/main/docs/gora-component.adoc   | 16 +++---
 .../camel-grpc/src/main/docs/grpc-component.adoc   | 16 +++---
 .../src/main/docs/json-gson-dataformat.adoc        |  4 +-
 .../src/main/docs/guava-eventbus-component.adoc    | 10 ++--
 .../main/docs/hazelcast-atomicvalue-component.adoc | 14 ++---
 .../main/docs/hazelcast-instance-component.adoc    |  4 +-
 .../src/main/docs/hazelcast-list-component.adoc    | 14 ++---
 .../src/main/docs/hazelcast-map-component.adoc     | 16 +++---
 .../main/docs/hazelcast-multimap-component.adoc    | 14 ++---
 .../src/main/docs/hazelcast-queue-component.adoc   | 30 +++++-----
 .../docs/hazelcast-replicatedmap-component.adoc    | 12 ++--
 .../main/docs/hazelcast-ringbuffer-component.adoc  |  8 +--
 .../src/main/docs/hazelcast-seda-component.adoc    |  6 +-
 .../src/main/docs/hazelcast-set-component.adoc     |  2 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |  8 +--
 .../camel-hazelcast/src/main/docs/hazelcast.adoc   | 16 +++---
 .../camel-hbase/src/main/docs/hbase-component.adoc | 30 +++++-----
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   | 16 +++---
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc | 20 +++----
 .../camel-headersmap/src/main/docs/headersmap.adoc |  6 +-
 .../src/main/docs/hessian-dataformat.adoc          |  6 +-
 .../src/main/docs/hipchat-component.adoc           | 18 +++---
 .../camel-hl7/src/main/docs/terser-language.adoc   |  4 +-
 .../camel-http4/src/main/docs/http4-component.adoc | 46 ++++++++--------
 .../src/main/docs/ibatis-component.adoc            | 16 +++---
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |  4 +-
 .../src/main/docs/ignite-cache-component.adoc      |  4 +-
 .../src/main/docs/ignite-compute-component.adoc    |  6 +-
 .../src/main/docs/ignite-events-component.adoc     |  2 +-
 .../src/main/docs/ignite-idgen-component.adoc      |  2 +-
 .../src/main/docs/ignite-messaging-component.adoc  |  4 +-
 .../src/main/docs/ignite-queue-component.adoc      |  4 +-
 .../src/main/docs/ignite-set-component.adoc        |  4 +-
 .../src/main/docs/infinispan-component.adoc        | 12 ++--
 .../src/main/docs/influxdb-component.adoc          |  8 +--
 .../camel-ipfs/src/main/docs/ipfs-component.adoc   | 10 ++--
 .../src/main/docs/ironmq-component.adoc            | 16 +++---
 .../src/main/docs/jacksonxml-dataformat.adoc       | 24 ++++----
 .../src/main/docs/javaspace-component.adoc         | 12 ++--
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  | 26 ++++-----
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   | 20 +++----
 .../src/main/docs/jcache-component.adoc            |  4 +-
 .../src/main/docs/jclouds-component.adoc           | 26 ++++-----
 .../camel-jcr/src/main/docs/jcr-component.adoc     |  8 +--
 .../src/main/docs/jgroups-raft-component.adoc      | 14 ++---
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |  6 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |  6 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |  6 +-
 .../src/main/docs/json-johnzon-dataformat.adoc     |  4 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |  6 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |  4 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc     | 30 +++++-----
 .../camel-jsch/src/main/docs/scp-component.adoc    |  6 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc | 18 +++---
 .../camel-juel/src/main/docs/el-language.adoc      |  8 +--
 .../src/main/docs/jxpath-language.adoc             | 16 +++---
 .../src/main/docs/kestrel-component.adoc           | 18 +++---
 .../camel-krati/src/main/docs/krati-component.adoc | 18 +++---
 .../docs/kubernetes-config-maps-component.adoc     |  4 +-
 .../docs/kubernetes-deployments-component.adoc     |  4 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |  4 +-
 .../src/main/docs/kubernetes-job-component.adoc    |  4 +-
 .../main/docs/kubernetes-namespaces-component.adoc |  4 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |  4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |  4 +-
 .../kubernetes-persistent-volumes-component.adoc   |  4 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |  4 +-
 ...bernetes-replication-controllers-component.adoc |  4 +-
 .../docs/kubernetes-resources-quota-component.adoc |  4 +-
 .../main/docs/kubernetes-secrets-component.adoc    |  4 +-
 .../kubernetes-service-accounts-component.adoc     |  4 +-
 .../main/docs/kubernetes-services-component.adoc   |  4 +-
 .../camel-kubernetes/src/main/docs/kubernetes.adoc | 12 ++--
 .../docs/openshift-build-configs-component.adoc    |  4 +-
 .../src/main/docs/openshift-builds-component.adoc  |  4 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   | 14 ++---
 .../src/main/docs/linkedin-component.adoc          | 28 +++++-----
 .../src/main/docs/lucene-component.adoc            | 22 ++++----
 .../src/main/docs/lumberjack-component.adoc        | 10 ++--
 .../src/main/docs/mime-multipart-dataformat.adoc   | 10 ++--
 .../src/main/docs/master-component.adoc            | 10 ++--
 .../src/main/docs/metrics-component.adoc           | 48 ++++++++--------
 .../src/main/docs/micrometer-component.adoc        | 42 +++++++-------
 .../camel-mina/src/main/docs/mina-component.adoc   | 20 +++----
 .../camel-mina2/src/main/docs/mina2-component.adoc | 18 +++---
 .../src/main/docs/mongodb-gridfs-component.adoc    | 22 ++++----
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |  8 +--
 .../camel-msv/src/main/docs/msv-component.adoc     |  6 +-
 .../src/main/docs/mustache-component.adoc          | 12 ++--
 .../camel-mvel/src/main/docs/mvel-component.adoc   | 14 ++---
 .../camel-nats/src/main/docs/nats-component.adoc   |  6 +-
 .../src/main/docs/netty-http-component.adoc        | 22 ++++----
 .../src/main/docs/netty4-http-component.adoc       | 22 ++++----
 .../camel-nsq/src/main/docs/nsq-component.adoc     |  4 +-
 .../src/main/docs/olingo2-component.adoc           | 20 +++----
 .../src/main/docs/olingo4-component.adoc           | 18 +++---
 .../src/main/docs/openshift-component.adoc         | 10 ++--
 .../src/main/docs/openstack-cinder-component.adoc  | 20 +++----
 .../src/main/docs/openstack-glance-component.adoc  | 10 ++--
 .../main/docs/openstack-keystone-component.adoc    | 38 ++++++-------
 .../src/main/docs/openstack-neutron-component.adoc | 32 +++++------
 .../src/main/docs/openstack-nova-component.adoc    | 26 ++++-----
 .../src/main/docs/openstack-swift-component.adoc   | 20 +++----
 .../src/main/docs/opentracing.adoc                 | 12 ++--
 .../src/main/docs/optaplanner-component.adoc       | 12 ++--
 .../src/main/docs/paxlogging-component.adoc        | 10 ++--
 .../camel-pdf/src/main/docs/pdf-component.adoc     |  6 +-
 .../src/main/docs/pgevent-component.adoc           |  2 +-
 .../camel-printer/src/main/docs/lpr-component.adoc | 16 +++---
 .../src/main/docs/protobuf-dataformat.adoc         | 16 +++---
 .../src/main/docs/pubnub-component.adoc            | 18 +++---
 .../src/main/docs/pulsar-component.adoc            |  4 +-
 .../src/main/docs/quickfix-component.adoc          | 50 ++++++++---------
 .../src/main/docs/reactive-streams-component.adoc  | 28 +++++-----
 .../src/main/docs/reactor-component.adoc           |  2 +-
 .../src/main/docs/rest-swagger-component.adoc      |  6 +-
 components/camel-ribbon/src/main/docs/ribbon.adoc  |  4 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |  6 +-
 .../src/main/docs/routebox-component.adoc          | 16 +++---
 .../camel-rss/src/main/docs/rss-component.adoc     | 12 ++--
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |  2 +-
 .../src/main/docs/sap-netweaver-component.adoc     | 10 ++--
 .../src/main/docs/schematron-component.adoc        | 10 ++--
 components/camel-scr/src/main/docs/scr.adoc        | 18 +++---
 .../src/main/docs/javaScript-language.adoc         | 16 +++---
 .../camel-script/src/main/docs/php-language.adoc   | 14 ++---
 .../src/main/docs/python-language.adoc             | 16 +++---
 .../camel-script/src/main/docs/ruby-language.adoc  | 16 +++---
 .../src/main/docs/service-component.adoc           |  8 +--
 .../src/main/docs/servicenow-component.adoc        |  8 +--
 .../camel-sip/src/main/docs/sip-component.adoc     | 10 ++--
 .../src/main/docs/sjms-batch-component.adoc        |  4 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   | 38 ++++++-------
 .../camel-sjms2/src/main/docs/sjms2-component.adoc | 42 +++++++-------
 .../camel-slack/src/main/docs/slack-component.adoc | 10 ++--
 .../camel-smpp/src/main/docs/smpp-component.adoc   | 20 +++----
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |  8 +--
 .../camel-snmp/src/main/docs/snmp-component.adoc   | 10 ++--
 .../src/main/docs/soapjaxb-dataformat.adoc         | 24 ++++----
 .../camel-solr/src/main/docs/solr-component.adoc   | 10 ++--
 .../camel-spark/src/main/docs/spark-component.adoc | 20 +++----
 .../src/main/docs/splunk-component.adoc            | 14 ++---
 .../src/main/docs/spring-batch-component.adoc      | 18 +++---
 .../main/docs/spring-integration-component.adoc    | 12 ++--
 .../src/main/docs/spring-ldap-component.adoc       | 18 +++---
 .../src/main/docs/spring-redis-component.adoc      | 10 ++--
 .../src/main/docs/spring-ws-component.adoc         | 30 +++++-----
 .../camel-ssh/src/main/docs/ssh-component.adoc     | 10 ++--
 .../camel-stax/src/main/docs/stax-component.adoc   | 10 ++--
 .../camel-stomp/src/main/docs/stomp-component.adoc |  8 +--
 .../src/main/docs/string-template-component.adoc   | 14 ++---
 .../src/main/docs/syslog-dataformat.adoc           | 10 ++--
 .../src/main/docs/tidyMarkup-dataformat.adoc       |  8 +--
 .../src/main/docs/tarfile-dataformat.adoc          | 10 ++--
 .../camel-test-karaf/src/main/docs/test-karaf.adoc |  2 +-
 .../src/main/docs/testcontainers.adoc              |  2 +-
 components/camel-testng/src/main/docs/testng.adoc  |  2 +-
 .../src/main/docs/thrift-component.adoc            | 12 ++--
 .../src/main/docs/thrift-dataformat.adoc           | 16 +++---
 .../camel-tika/src/main/docs/tika-component.adoc   |  6 +-
 .../src/main/docs/twilio-component.adoc            | 12 ++--
 .../src/main/docs/twitter-component.adoc           | 28 +++++-----
 .../main/docs/twitter-directmessage-component.adoc |  4 +-
 .../src/main/docs/twitter-search-component.adoc    |  4 +-
 .../src/main/docs/twitter-streaming-component.adoc |  4 +-
 .../src/main/docs/twitter-timeline-component.adoc  |  4 +-
 .../camel-twitter/src/main/docs/twitter.adoc       | 24 ++++----
 .../src/main/docs/velocity-component.adoc          | 16 +++---
 .../camel-vertx/src/main/docs/vertx-component.adoc |  6 +-
 .../src/main/docs/weather-component.adoc           | 14 ++---
 .../camel-web3j/src/main/docs/web3j-component.adoc |  4 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |  4 +-
 .../src/main/docs/xchange-component.adoc           | 10 ++--
 .../src/main/docs/xmlBeans-dataformat.adoc         |  4 +-
 .../src/main/docs/xmlrpc-component.adoc            | 14 ++---
 .../src/main/docs/xmlrpc-dataformat.adoc           |  2 +-
 .../src/main/docs/secureXML-dataformat.adoc        | 26 ++++-----
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |  8 +--
 .../src/main/docs/json-xstream-dataformat.adoc     | 10 ++--
 .../src/main/docs/xstream-dataformat.adoc          | 10 ++--
 .../src/main/docs/zendesk-component.adoc           | 12 ++--
 .../src/main/docs/zookeeper-master-component.adoc  | 10 ++--
 .../src/main/docs/zookeeper-component.adoc         | 14 ++---
 .../modules/ROOT/pages/ahc-ws-component.adoc       | 24 ++------
 .../modules/ROOT/pages/apns-component.adoc         | 27 ++++-----
 .../modules/ROOT/pages/asn1-dataformat.adoc        |  6 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |  6 +-
 .../modules/ROOT/pages/atmos-component.adoc        | 14 ++---
 .../ROOT/pages/atmosphere-websocket-component.adoc | 19 ++-----
 .../modules/ROOT/pages/atom-component.adoc         | 18 ++----
 .../modules/ROOT/pages/atomix-map-component.adoc   | 10 ++--
 .../ROOT/pages/atomix-messaging-component.adoc     |  2 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |  2 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |  2 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |  2 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |  2 +-
 .../modules/ROOT/pages/avro-component.adoc         | 12 ++--
 .../modules/ROOT/pages/avro-dataformat.adoc        |  6 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       | 20 ++-----
 .../modules/ROOT/pages/aws-ddb-component.adoc      | 38 +++++--------
 .../ROOT/pages/aws-ddbstream-component.adoc        | 31 ++++-------
 .../modules/ROOT/pages/aws-ec2-component.adoc      | 16 ++----
 .../modules/ROOT/pages/aws-iam-component.adoc      | 18 ++----
 .../modules/ROOT/pages/aws-kinesis-component.adoc  | 28 ++++------
 .../ROOT/pages/aws-kinesis-firehose-component.adoc | 22 +++-----
 .../modules/ROOT/pages/aws-kms-component.adoc      | 18 ++----
 .../modules/ROOT/pages/aws-lambda-component.adoc   | 22 +++-----
 .../modules/ROOT/pages/aws-mq-component.adoc       | 16 ++----
 .../modules/ROOT/pages/aws-s3-component.adoc       | 32 ++++-------
 .../modules/ROOT/pages/aws-sdb-component.adoc      | 28 ++++------
 .../modules/ROOT/pages/aws-ses-component.adoc      | 22 +++-----
 .../modules/ROOT/pages/aws-sns-component.adoc      | 22 +++-----
 .../modules/ROOT/pages/aws-sqs-component.adoc      | 32 ++++-------
 .../modules/ROOT/pages/aws-swf-component.adoc      | 28 ++++------
 docs/components/modules/ROOT/pages/aws-xray.adoc   | 12 ++--
 .../modules/ROOT/pages/azure-blob-component.adoc   | 26 +++------
 .../modules/ROOT/pages/azure-queue-component.adoc  | 26 +++------
 .../components/modules/ROOT/pages/bam-example.adoc |  8 +--
 .../modules/ROOT/pages/barcode-dataformat.adoc     | 10 ++--
 .../ROOT/pages/bean-validator-component.adoc       | 14 ++---
 .../modules/ROOT/pages/beanio-dataformat.adoc      | 10 ++--
 docs/components/modules/ROOT/pages/blueprint.adoc  |  6 +-
 .../modules/ROOT/pages/bonita-component.adoc       | 10 ++--
 .../modules/ROOT/pages/boon-dataformat.adoc        |  8 +--
 .../modules/ROOT/pages/braintree-component.adoc    | 64 +++++++++-------------
 .../modules/ROOT/pages/cache-component.adoc        | 42 +++++++-------
 .../ROOT/pages/caffeine-cache-component.adoc       |  8 +--
 .../ROOT/pages/caffeine-loadcache-component.adoc   |  4 +-
 .../modules/ROOT/pages/castor-dataformat.adoc      |  8 +--
 .../ROOT/pages/chronicle-engine-component.adoc     |  4 +-
 .../modules/ROOT/pages/chunk-component.adoc        | 18 ++----
 .../modules/ROOT/pages/cmis-component.adoc         | 18 ++----
 .../modules/ROOT/pages/coap-component.adoc         |  6 +-
 .../modules/ROOT/pages/consul-component.adoc       |  6 +-
 .../modules/ROOT/pages/context-component.adoc      | 10 ++--
 .../modules/ROOT/pages/corda-component.adoc        |  4 +-
 .../modules/ROOT/pages/couchbase-component.adoc    |  4 +-
 .../modules/ROOT/pages/couchdb-component.adoc      | 10 ++--
 .../modules/ROOT/pages/crypto-cms-component.adoc   |  6 +-
 .../modules/ROOT/pages/crypto-dataformat.adoc      | 19 +++----
 .../modules/ROOT/pages/csv-dataformat.adoc         | 20 +++----
 .../modules/ROOT/pages/cxf-component.adoc          | 46 +++++++---------
 .../modules/ROOT/pages/cxfrs-component.adoc        | 20 +++----
 .../modules/ROOT/pages/digitalocean-component.adoc | 32 +++++------
 .../modules/ROOT/pages/docker-component.adoc       | 10 ++--
 .../modules/ROOT/pages/dozer-component.adoc        | 16 +++---
 .../modules/ROOT/pages/drill-component.adoc        | 12 +---
 docs/components/modules/ROOT/pages/eclipse.adoc    |  8 +--
 .../modules/ROOT/pages/ehcache-component.adoc      | 10 ++--
 .../modules/ROOT/pages/ejb-component.adoc          | 21 ++-----
 .../components/modules/ROOT/pages/el-language.adoc |  8 +--
 .../ROOT/pages/elasticsearch-component.adoc        | 18 ++----
 .../ROOT/pages/elasticsearch5-component.adoc       | 16 ++----
 .../modules/ROOT/pages/etcd-component.adoc         |  4 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   | 12 ++--
 .../modules/ROOT/pages/exec-component.adoc         | 26 ++++-----
 .../modules/ROOT/pages/flatpack-component.adoc     | 28 ++++------
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |  6 +-
 .../modules/ROOT/pages/flink-component.adoc        | 16 ++----
 .../modules/ROOT/pages/fop-component.adoc          | 16 ++----
 .../modules/ROOT/pages/freemarker-component.adoc   | 22 +++-----
 .../modules/ROOT/pages/ftp-component.adoc          |  8 ---
 .../modules/ROOT/pages/ftps-component.adoc         |  2 +-
 .../modules/ROOT/pages/geocoder-component.adoc     | 10 ++--
 .../modules/ROOT/pages/git-component.adoc          |  8 +--
 .../modules/ROOT/pages/github-component.adoc       |  8 +--
 .../ROOT/pages/google-calendar-component.adoc      | 12 ++--
 .../pages/google-calendar-stream-component.adoc    |  6 +-
 .../modules/ROOT/pages/google-drive-component.adoc | 12 ++--
 .../modules/ROOT/pages/google-mail-component.adoc  | 12 ++--
 .../ROOT/pages/google-mail-stream-component.adoc   |  6 +-
 .../ROOT/pages/google-sheets-component.adoc        | 12 ++--
 .../ROOT/pages/google-sheets-stream-component.adoc |  6 +-
 .../modules/ROOT/pages/gora-component.adoc         | 16 +++---
 .../modules/ROOT/pages/grpc-component.adoc         | 23 +++-----
 .../ROOT/pages/guava-eventbus-component.adoc       | 10 ++--
 .../pages/hazelcast-atomicvalue-component.adoc     | 14 ++---
 .../ROOT/pages/hazelcast-instance-component.adoc   |  4 +-
 .../ROOT/pages/hazelcast-list-component.adoc       | 14 ++---
 .../ROOT/pages/hazelcast-map-component.adoc        | 16 +++---
 .../ROOT/pages/hazelcast-multimap-component.adoc   | 14 ++---
 .../ROOT/pages/hazelcast-queue-component.adoc      | 30 +++++-----
 .../pages/hazelcast-replicatedmap-component.adoc   | 12 ++--
 .../ROOT/pages/hazelcast-ringbuffer-component.adoc |  8 +--
 .../ROOT/pages/hazelcast-seda-component.adoc       |  6 +-
 .../ROOT/pages/hazelcast-set-component.adoc        |  2 +-
 .../ROOT/pages/hazelcast-topic-component.adoc      |  8 +--
 docs/components/modules/ROOT/pages/hazelcast.adoc  | 16 +++---
 .../modules/ROOT/pages/hbase-component.adoc        | 30 +++++-----
 .../modules/ROOT/pages/hdfs-component.adoc         | 16 +++---
 .../modules/ROOT/pages/hdfs2-component.adoc        | 20 +++----
 docs/components/modules/ROOT/pages/headersmap.adoc |  6 +-
 .../modules/ROOT/pages/hessian-dataformat.adoc     |  6 +-
 .../modules/ROOT/pages/hipchat-component.adoc      | 18 +++---
 .../modules/ROOT/pages/http4-component.adoc        | 46 ++++++++--------
 .../modules/ROOT/pages/ibatis-component.adoc       | 24 +++-----
 .../modules/ROOT/pages/ical-dataformat.adoc        | 10 +---
 .../modules/ROOT/pages/ignite-cache-component.adoc |  4 +-
 .../ROOT/pages/ignite-compute-component.adoc       |  6 +-
 .../ROOT/pages/ignite-events-component.adoc        |  2 +-
 .../modules/ROOT/pages/ignite-idgen-component.adoc |  2 +-
 .../ROOT/pages/ignite-messaging-component.adoc     |  4 +-
 .../modules/ROOT/pages/ignite-queue-component.adoc |  4 +-
 .../modules/ROOT/pages/ignite-set-component.adoc   |  4 +-
 docs/components/modules/ROOT/pages/ignite.adoc     |  6 --
 .../modules/ROOT/pages/infinispan-component.adoc   | 18 ++----
 .../modules/ROOT/pages/influxdb-component.adoc     | 14 ++---
 .../modules/ROOT/pages/ipfs-component.adoc         | 10 ++--
 .../modules/ROOT/pages/ironmq-component.adoc       | 16 +++---
 .../modules/ROOT/pages/jacksonxml-dataformat.adoc  | 24 ++++----
 .../modules/ROOT/pages/javaScript-language.adoc    | 16 +++---
 .../modules/ROOT/pages/javaspace-component.adoc    | 18 ++----
 .../modules/ROOT/pages/jaxb-dataformat.adoc        | 26 ++++-----
 .../modules/ROOT/pages/jbpm-component.adoc         | 28 ++++------
 .../modules/ROOT/pages/jcache-component.adoc       |  4 +-
 .../modules/ROOT/pages/jclouds-component.adoc      | 26 ++++-----
 .../modules/ROOT/pages/jcr-component.adoc          | 14 ++---
 .../modules/ROOT/pages/jgroups-raft-component.adoc | 14 ++---
 .../modules/ROOT/pages/jibx-dataformat.adoc        |  6 +-
 .../modules/ROOT/pages/jing-component.adoc         | 12 +---
 .../modules/ROOT/pages/jira-component.adoc         |  6 +-
 .../modules/ROOT/pages/jmx-component.adoc          |  5 --
 .../modules/ROOT/pages/jolt-component.adoc         | 12 +---
 .../modules/ROOT/pages/jpa-component.adoc          | 38 +++++--------
 .../ROOT/pages/json-fastjson-dataformat.adoc       |  4 +-
 .../modules/ROOT/pages/json-gson-dataformat.adoc   |  4 +-
 .../ROOT/pages/json-johnzon-dataformat.adoc        |  4 +-
 .../ROOT/pages/json-xstream-dataformat.adoc        | 10 ++--
 .../modules/ROOT/pages/jt400-component.adoc        | 24 +++-----
 .../modules/ROOT/pages/jxpath-language.adoc        | 16 +++---
 .../modules/ROOT/pages/kestrel-component.adoc      | 24 +++-----
 .../modules/ROOT/pages/krati-component.adoc        | 18 +++---
 .../pages/kubernetes-config-maps-component.adoc    |  4 +-
 .../pages/kubernetes-deployments-component.adoc    |  4 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |  4 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |  4 +-
 .../pages/kubernetes-namespaces-component.adoc     |  4 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |  4 +-
 ...rnetes-persistent-volumes-claims-component.adoc |  4 +-
 .../kubernetes-persistent-volumes-component.adoc   |  4 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |  4 +-
 ...bernetes-replication-controllers-component.adoc |  4 +-
 .../kubernetes-resources-quota-component.adoc      |  4 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |  4 +-
 .../kubernetes-service-accounts-component.adoc     |  4 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |  4 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc | 12 ++--
 .../modules/ROOT/pages/ldap-component.adoc         | 20 +++----
 .../modules/ROOT/pages/linkedin-component.adoc     | 28 +++++-----
 .../modules/ROOT/pages/lpr-component.adoc          | 16 +++---
 .../modules/ROOT/pages/lucene-component.adoc       | 22 ++++----
 .../modules/ROOT/pages/lumberjack-component.adoc   | 10 ++--
 .../modules/ROOT/pages/master-component.adoc       | 16 ++----
 .../modules/ROOT/pages/metrics-component.adoc      | 52 ++++++++----------
 .../modules/ROOT/pages/micrometer-component.adoc   | 42 +++++++-------
 .../modules/ROOT/pages/milo-client-component.adoc  |  6 --
 .../modules/ROOT/pages/milo-server-component.adoc  |  6 --
 .../ROOT/pages/mime-multipart-dataformat.adoc      | 10 ++--
 .../modules/ROOT/pages/mina-component.adoc         | 29 ++++------
 .../modules/ROOT/pages/mina2-component.adoc        | 25 +++------
 .../ROOT/pages/mongodb-gridfs-component.adoc       | 22 ++++----
 .../modules/ROOT/pages/mqtt-component.adoc         | 14 ++---
 .../modules/ROOT/pages/msv-component.adoc          | 12 +---
 .../modules/ROOT/pages/mustache-component.adoc     | 18 ++----
 .../modules/ROOT/pages/mvel-component.adoc         | 20 +++----
 .../modules/ROOT/pages/nats-component.adoc         |  6 +-
 .../modules/ROOT/pages/netty-http-component.adoc   | 32 ++++-------
 .../modules/ROOT/pages/netty4-component.adoc       |  4 --
 .../modules/ROOT/pages/netty4-http-component.adoc  | 32 ++++-------
 .../modules/ROOT/pages/nsq-component.adoc          |  4 +-
 .../modules/ROOT/pages/olingo2-component.adoc      | 20 +++----
 .../modules/ROOT/pages/olingo4-component.adoc      | 18 +++---
 .../pages/openshift-build-configs-component.adoc   |  4 +-
 .../ROOT/pages/openshift-builds-component.adoc     |  4 +-
 .../modules/ROOT/pages/openshift-component.adoc    | 16 ++----
 .../ROOT/pages/openstack-cinder-component.adoc     | 28 ++++------
 .../ROOT/pages/openstack-glance-component.adoc     | 18 ++----
 .../ROOT/pages/openstack-keystone-component.adoc   | 46 +++++++---------
 .../ROOT/pages/openstack-neutron-component.adoc    | 40 ++++++--------
 .../ROOT/pages/openstack-nova-component.adoc       | 34 +++++-------
 .../ROOT/pages/openstack-swift-component.adoc      | 28 ++++------
 .../components/modules/ROOT/pages/opentracing.adoc | 12 ++--
 .../modules/ROOT/pages/optaplanner-component.adoc  | 18 ++----
 .../modules/ROOT/pages/paxlogging-component.adoc   | 10 ++--
 .../modules/ROOT/pages/pdf-component.adoc          | 16 +-----
 .../modules/ROOT/pages/pgevent-component.adoc      |  8 +--
 .../modules/ROOT/pages/pgp-dataformat.adoc         | 27 ++++-----
 .../modules/ROOT/pages/php-language.adoc           | 14 ++---
 .../modules/ROOT/pages/protobuf-dataformat.adoc    | 18 +++---
 .../modules/ROOT/pages/pubnub-component.adoc       | 26 +++------
 .../modules/ROOT/pages/pulsar-component.adoc       |  4 +-
 .../modules/ROOT/pages/python-language.adoc        | 16 +++---
 .../modules/ROOT/pages/quickfix-component.adoc     | 56 +++++++++----------
 .../ROOT/pages/reactive-streams-component.adoc     | 34 +++++-------
 .../modules/ROOT/pages/reactor-component.adoc      |  2 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |  6 +-
 docs/components/modules/ROOT/pages/ribbon.adoc     |  7 +--
 .../modules/ROOT/pages/rmi-component.adoc          | 12 +---
 .../modules/ROOT/pages/routebox-component.adoc     | 16 +++---
 .../modules/ROOT/pages/rss-component.adoc          | 20 ++-----
 .../modules/ROOT/pages/rss-dataformat.adoc         |  2 +-
 .../modules/ROOT/pages/ruby-language.adoc          | 16 +++---
 .../ROOT/pages/sap-netweaver-component.adoc        | 18 ++----
 .../modules/ROOT/pages/schematron-component.adoc   | 10 ++--
 .../modules/ROOT/pages/scp-component.adoc          | 12 +---
 docs/components/modules/ROOT/pages/scr.adoc        | 18 +++---
 .../modules/ROOT/pages/secureXML-dataformat.adoc   | 26 ++++-----
 .../modules/ROOT/pages/service-component.adoc      | 14 ++---
 .../modules/ROOT/pages/servicenow-component.adoc   |  8 +--
 .../modules/ROOT/pages/servlet-component.adoc      | 12 ----
 .../modules/ROOT/pages/sftp-component.adoc         |  2 +-
 .../modules/ROOT/pages/sip-component.adoc          | 10 ++--
 .../modules/ROOT/pages/sjms-batch-component.adoc   |  4 +-
 .../modules/ROOT/pages/sjms-component.adoc         | 38 ++++++-------
 .../modules/ROOT/pages/sjms2-component.adoc        | 42 +++++++-------
 .../modules/ROOT/pages/slack-component.adoc        | 16 ++----
 .../modules/ROOT/pages/smpp-component.adoc         | 26 ++++-----
 .../modules/ROOT/pages/snmp-component.adoc         | 16 ++----
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    | 24 ++++----
 .../modules/ROOT/pages/solr-component.adoc         | 16 ++----
 .../modules/ROOT/pages/spark-component.adoc        | 26 ++++-----
 .../modules/ROOT/pages/splunk-component.adoc       | 20 +++----
 .../modules/ROOT/pages/spring-batch-component.adoc | 18 +++---
 .../ROOT/pages/spring-integration-component.adoc   | 18 ++----
 .../modules/ROOT/pages/spring-ldap-component.adoc  | 18 +++---
 .../modules/ROOT/pages/spring-redis-component.adoc | 16 ++----
 .../modules/ROOT/pages/spring-security.adoc        |  9 ---
 .../modules/ROOT/pages/spring-ws-component.adoc    | 36 +++++-------
 .../modules/ROOT/pages/sql-language.adoc           |  4 +-
 .../modules/ROOT/pages/sql-stored-component.adoc   |  3 -
 .../modules/ROOT/pages/ssh-component.adoc          | 16 ++----
 .../modules/ROOT/pages/stax-component.adoc         | 16 ++----
 .../modules/ROOT/pages/stomp-component.adoc        | 14 ++---
 .../ROOT/pages/string-template-component.adoc      | 20 +++----
 .../modules/ROOT/pages/syslog-dataformat.adoc      | 16 ++----
 .../modules/ROOT/pages/tarfile-dataformat.adoc     | 10 ++--
 .../modules/ROOT/pages/terser-language.adoc        |  4 +-
 docs/components/modules/ROOT/pages/test-karaf.adoc |  2 +-
 .../modules/ROOT/pages/testcontainers.adoc         |  2 +-
 docs/components/modules/ROOT/pages/testng.adoc     |  2 +-
 .../modules/ROOT/pages/thrift-component.adoc       | 18 ++----
 .../modules/ROOT/pages/thrift-dataformat.adoc      | 16 +++---
 .../modules/ROOT/pages/tidyMarkup-dataformat.adoc  |  8 +--
 .../modules/ROOT/pages/tika-component.adoc         |  6 +-
 .../modules/ROOT/pages/twilio-component.adoc       | 12 ++--
 .../modules/ROOT/pages/twitter-component.adoc      | 36 +++++-------
 .../pages/twitter-directmessage-component.adoc     |  4 +-
 .../ROOT/pages/twitter-search-component.adoc       |  4 +-
 .../ROOT/pages/twitter-streaming-component.adoc    |  4 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |  4 +-
 docs/components/modules/ROOT/pages/twitter.adoc    | 32 ++++-------
 .../modules/ROOT/pages/velocity-component.adoc     | 22 +++-----
 .../modules/ROOT/pages/vertx-component.adoc        | 12 +---
 .../modules/ROOT/pages/weather-component.adoc      | 14 ++---
 .../modules/ROOT/pages/web3j-component.adoc        |  4 +-
 .../ROOT/pages/websocket-jsr356-component.adoc     |  4 +-
 .../modules/ROOT/pages/xchange-component.adoc      | 10 ++--
 .../modules/ROOT/pages/xmlBeans-dataformat.adoc    |  4 +-
 .../modules/ROOT/pages/xmlrpc-component.adoc       | 14 ++---
 .../modules/ROOT/pages/xmlrpc-dataformat.adoc      |  2 +-
 .../modules/ROOT/pages/xmpp-component.adoc         | 14 ++---
 .../modules/ROOT/pages/xstream-dataformat.adoc     | 10 ++--
 .../ROOT/pages/yaml-snakeyaml-dataformat.adoc      |  8 +--
 .../modules/ROOT/pages/zendesk-component.adoc      | 12 ++--
 .../modules/ROOT/pages/zookeeper-component.adoc    | 20 +++----
 .../ROOT/pages/zookeeper-master-component.adoc     | 16 ++----
 557 files changed, 3404 insertions(+), 4189 deletions(-)

diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 2406402..948565b 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -25,7 +25,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------------------------------
@@ -35,7 +35,7 @@ ahc-wss://hostname[:port][/resourceUri][?options]
 
 Will by default use port 80 for ahc-ws and 443 for ahc-wss.
 
-### AHC-WS Options
+== AHC-WS Options
 
 As the AHC-WS component is based on the AHC component, you can use the
 various configuration options of the AHC component.
@@ -73,7 +73,7 @@ ahc-ws:httpUri
 
 with the following path and query parameters:
 
-=== Path Parameters (1 parameters):
+== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -83,7 +83,7 @@ with the following path and query parameters:
 |===
 
 
-=== Query Parameters (18 parameters):
+== Query Parameters (18 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -146,13 +146,13 @@ The component supports 9 options, which are listed below.
 
 
 
-### Writing and Reading Data over Websocket
+== Writing and Reading Data over Websocket
 
 An ahc-ws endpoint can either write data to the socket or read from the
 socket, depending on whether the endpoint is configured as the producer
 or the consumer, respectively.
 
-### Configuring URI to Write or Read Data
+== Configuring URI to Write or Read Data
 
 In the route below, Camel will write to the specified websocket
 connection.
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index 4fc2380..243e313 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -32,7 +32,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 To send notifications:
 
@@ -48,7 +48,7 @@ To consume feedback:
 apns:consumer[?options]
 -----------------------
 
-### Options
+== Options
 
 
 
@@ -149,7 +149,7 @@ The component supports 3 options, which are listed below.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-#### Component
+=== Component
 
 The `ApnsComponent` must be configured with a
 `com.notnoop.apns.ApnsService`. The service can be created and
@@ -159,20 +159,20 @@ further below for an example. And as well in the
 https://github.com/apache/camel/tree/master/components/camel-apns[test
 source code].
 
-##### SSL Setting
+==== SSL Setting
 In order to use secure connection, an instance of `org.apache.camel.util.jsse.SSLContextParameters`
  should be injected to `org.apache.camel.component.apns.factory.ApnsServiceFactory` which is
  used to configure the component. See the test resources for an example.
  https://github.com/apache/camel/blob/master/components/camel-apns/src/test/resources/org/apache/camel/component/apns/spring/SpringApnsConsumerTest-context.xml[ssl example]
 
-### Exchange data format
+== Exchange data format
 
 When Camel will fetch feedback data corresponding to inactive devices,
 it will retrieve a List of InactiveDevice objects. Each InactiveDevice
 object of the retrieved list will be setted as the In body, and then
 processed by the consumer endpoint.
 
-### Message Headers
+== Message Headers
 
 Camel Apns uses these headers.
 
@@ -187,7 +187,7 @@ onwards APNS_NOTIFICATION is used for sending message body as
 com.notnoop.apns.ApnsNotification types.
 |=======================================================================
 
-### ApnsServiceFactory builder callback
+== ApnsServiceFactory builder callback
 
 `ApnsServiceFactory` comes with the empty callback method that could be
 used to configure (or even replace) the default `ApnsServiceBuilder`
@@ -212,9 +212,9 @@ ApnsServiceFactory proxiedApnsServiceFactory = new ApnsServiceFactory(){
 };
 -------------------------------------------------------------------------------------------
 
-### Samples
+== Samples
 
-#### Camel Xml route
+=== Camel Xml route
 
 [source,xml]
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -270,7 +270,7 @@ ApnsServiceFactory proxiedApnsServiceFactory = new ApnsServiceFactory(){
 </beans>
 --------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Camel Java route
+=== Camel Java route
 
 [[APNS-Createcamelcontextanddeclareapnscomponentprogrammatically]]
 Create camel context and declare apns component programmatically
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index 0e5f1bc..7d8f675 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -6,7 +6,7 @@
 
 The ASN.1 Data Format Data Format [Intoduction to ASN.1](https://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx) is a Camel Frameworks's data format implementation based on Bouncy Castle's bcprov-jdk15on library and jASN.1's java compiler for the formal notation used for describing data transmitted by telecommunications protocols, regardless of language implementation and physical representation of these data, whatever the application, whether complex or very simple. Messages can be u [...]
 
-### ASN.1 Data Format Options
+== ASN.1 Data Format Options
 
 // dataformat options: START
 The ASN.1 File dataformat supports 3 options, which are listed below.
@@ -52,7 +52,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Unmarshal
+== Unmarshal
 
 There are 3 different ways to unmarshal ASN.1 structured messages. (Usually binary files)
 
@@ -86,7 +86,7 @@ from("direct:unmarshaldsl")
 .to("mock:unmarshaldsl");
 -----------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use ASN.1 data format in your camel routes you need to add a dependency on
 *camel-asn1* which implements this data format.
diff --git a/components/camel-asterisk/src/main/docs/asterisk-component.adoc b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
index 99c1e92..a6c82f2 100644
--- a/components/camel-asterisk/src/main/docs/asterisk-component.adoc
+++ b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
@@ -21,14 +21,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------------------------------------------------------------------------------------
 asterisk:name[?options]
 -------------------------------------------------------------------------------------------------------------------------
 
-### Options
+== Options
 
 // component options: START
 The Asterisk component has no options.
@@ -98,7 +98,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Action
+== Action
 Supported actions are:
 
 * QUEUE_STATUS, Queue Status
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index 8d83a51..0b74584 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -13,7 +13,7 @@ https://github.com/emcvipr/dataservices-sdk-java[Atmos Client].
 from("atmos:foo/get?remotePath=/path").to("mock:test");
 -------------------------------
 
-### Options
+== Options
 
 
 // component options: START
@@ -108,7 +108,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### Dependencies
+== Dependencies
 
 To use Atmos in your camel routes you need to add the dependency
 on *camel-atmos* which implements this data format.
@@ -129,7 +129,7 @@ the download page for the latest versions).
 
 [[Atmos-Integrations]]
 
-### Integrations
+== Integrations
 
 When you look at atmos integrations, there is one type of consumer, 
 GetConsumer, which is a type of ScheduledPollConsumer. 
@@ -143,7 +143,7 @@ Whereas there are 4 types of producers which are
 * `Move`
 * `Put`
 
-### Examples
+== Examples
 
 These example are taken from tests:
 
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index 027b809..e8eb325 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -31,7 +31,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Atmosphere-Websocket Options
+== Atmosphere-Websocket Options
 
 
 
@@ -161,20 +161,20 @@ The component supports 10 options, which are listed below.
 
 
 
-### URI Format
+== URI Format
 
 [source,java]
 -----------------------------------------------
 atmosphere-websocket:///relative path[?options]
 -----------------------------------------------
 
-### Reading and Writing Data over Websocket
+== Reading and Writing Data over Websocket
 
 An atmopshere-websocket endpoint can either write data to the socket or
 read from the socket, depending on whether the endpoint is configured as
 the producer or the consumer, respectively.
 
-### Configuring URI to Read or Write Data
+== Configuring URI to Read or Write Data
 
 In the route below, Camel will read from the specified websocket
 connection.
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index c439c6a..add1ded 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -23,7 +23,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------
@@ -32,7 +32,7 @@ atom://atomUri[?options]
 
 Where *atomUri* is the URI to the Atom feed to poll.
 
-### Options
+== Options
 
 
 // component options: START
@@ -128,7 +128,7 @@ The component supports 2 options, which are listed below.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Exchange data format
+== Exchange data format
 
 Camel will set the In body on the returned `Exchange` with the entries.
 Depending on the `splitEntries` flag Camel will either return one
@@ -147,7 +147,7 @@ Depending on the `splitEntries` flag Camel will either return one
 Camel can set the `Feed` object on the In header (see `feedHeader`
 option to disable this):
 
-### Message Headers
+== Message Headers
 
 Camel atom uses these headers.
 
@@ -158,7 +158,7 @@ Camel atom uses these headers.
 header.
 |=======================================================================
 
-### Samples
+== Samples
 
 In this sample we poll James Strachan's blog.
 
diff --git a/components/camel-atomix/src/main/docs/atomix-map-component.adoc b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
index e444129..36298e0 100644
--- a/components/camel-atomix/src/main/docs/atomix-map-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
@@ -17,14 +17,14 @@ Maven users will need to add the following dependency to their pom.xml for this
     </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
     atomix-map:mapName
 ----
 
-### Options
+== Options
 
 // component options: START
 The Atomix Map component supports 5 options, which are listed below.
@@ -123,7 +123,7 @@ The component supports 9 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Headers
+== Headers
 
 [width="100%",cols="10%,10%,20%a,60%",options="header",]
 |===
@@ -178,7 +178,7 @@ The component supports 9 options, which are listed below.
 
 |===
 
-### Configuring the component to connect to an Atomix cluster
+== Configuring the component to connect to an Atomix cluster
 
 The nodes of the Atomix cluster you want to join can be se at Endpoint or component level (recommended), below some examples:
 
@@ -212,7 +212,7 @@ The nodes of the Atomix cluster you want to join can be se at Endpoint or compon
 </beans>
 ----
 
-### Usage examples:
+== Usage examples:
 
 * *PUT an element with TTL of 1 second:*
 +
diff --git a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
index 2e3f1be..072de61 100644
--- a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
@@ -18,7 +18,7 @@ for this component:
     </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
diff --git a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
index 6170582..d058e1e 100644
--- a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
@@ -18,7 +18,7 @@ for this component:
     </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
diff --git a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
index 3c89c5a..56cda04 100644
--- a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
@@ -18,7 +18,7 @@ for this component:
     </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
diff --git a/components/camel-atomix/src/main/docs/atomix-set-component.adoc b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
index ac3fb2b..db63d9d 100644
--- a/components/camel-atomix/src/main/docs/atomix-set-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
@@ -18,7 +18,7 @@ for this component:
     </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
diff --git a/components/camel-atomix/src/main/docs/atomix-value-component.adoc b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
index fcdb023..95fc702 100644
--- a/components/camel-atomix/src/main/docs/atomix-value-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
@@ -18,7 +18,7 @@ for this component:
     </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
diff --git a/components/camel-avro/src/main/docs/avro-component.adoc b/components/camel-avro/src/main/docs/avro-component.adoc
index 2f5b2a6..bd311af 100644
--- a/components/camel-avro/src/main/docs/avro-component.adoc
+++ b/components/camel-avro/src/main/docs/avro-component.adoc
@@ -23,7 +23,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Apache Avro Overview
+== Apache Avro Overview
 
 Avro allows you to define message types and a protocol using a json like
 format and then generate java code for the specified types and messages.
@@ -90,7 +90,7 @@ class Value {
 _Note: Existing classes can be used only for RPC (see below), not in
 data format._
 
-### Using the Avro data format
+== Using the Avro data format
 
 Using the avro data format is as easy as specifying that the class that
 you want to marshal or unmarshal in your route.
@@ -127,7 +127,7 @@ reference it from your route.
 
 In the same manner you can umarshal using the avro data format.
 
-### Using Avro RPC in Camel
+== Using Avro RPC in Camel
 
 As mentioned above Avro also provides RPC support over multiple
 transports such as http and netty. Camel provides consumers and
@@ -166,7 +166,7 @@ got only one parameter, *since 2.12* you can use `singleParameter` URI
 option to receive it direcly in the "in" message body without array
 wrapping.
 
-### Avro RPC URI Options
+== Avro RPC URI Options
 
 
 
@@ -273,7 +273,7 @@ The component supports 15 options, which are listed below.
 
 
 
-### Avro RPC Headers
+== Avro RPC Headers
 
 [width="100%",cols="20%,80%",options="header",]
 |=======================================================================
@@ -283,7 +283,7 @@ The component supports 15 options, which are listed below.
 URI (if any)
 |=======================================================================
 
-### Examples
+== Examples
 
 An example of using camel avro producers via http:
 
diff --git a/components/camel-avro/src/main/docs/avro-dataformat.adoc b/components/camel-avro/src/main/docs/avro-dataformat.adoc
index 30f39a0..6c2e0b0 100644
--- a/components/camel-avro/src/main/docs/avro-dataformat.adoc
+++ b/components/camel-avro/src/main/docs/avro-dataformat.adoc
@@ -23,7 +23,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Apache Avro Overview
+== Apache Avro Overview
 
 Avro allows you to define message types and a protocol using a json like
 format and then generate java code for the specified types and messages.
@@ -90,7 +90,7 @@ class Value {
 _Note: Existing classes can be used only for RPC (see below), not in
 data format._
 
-### Using the Avro data format
+== Using the Avro data format
 
 Using the avro data format is as easy as specifying that the class that
 you want to marshal or unmarshal in your route.
@@ -128,7 +128,7 @@ reference it from your route.
 In the same manner you can umarshal using the avro data format.
 
 
-### Avro Dataformat Options
+== Avro Dataformat Options
 
 // dataformat options: START
 The Avro dataformat supports 2 options, which are listed below.
diff --git a/components/camel-aws-xray/src/main/docs/aws-xray.adoc b/components/camel-aws-xray/src/main/docs/aws-xray.adoc
index e980c3b..8d7763a 100644
--- a/components/camel-aws-xray/src/main/docs/aws-xray.adoc
+++ b/components/camel-aws-xray/src/main/docs/aws-xray.adoc
@@ -1,5 +1,5 @@
 [[AWSXRay-AWSXRayComponent]]
-## AWS XRay Component
+= AWS XRay Component
 
 *Available as of Camel 2.21*
 
@@ -7,7 +7,7 @@ The camel-aws-xray component is used for tracing and timing incoming and outgoin
 
 Events (subsegments) are captured for incoming and outgoing messages being sent to/from Camel.
 
-### Dependency
+== Dependency
 
 In order to include AWS XRay support into Camel, the archive containing the Camel related AWS XRay related classes need to be added to the project. In addition to that, AWS XRay libraries also need to be available.
 
@@ -44,7 +44,7 @@ To include both, AWS XRay and Camel, dependencies use the following Maven import
   <dependencies>
 ---------------------------------------------------------------------------------------------------------
 
-### Configuration
+== Configuration
 
 The configuration properties for the AWS XRay tracer are:
 
@@ -61,7 +61,7 @@ uses the rules from Intercept.
 
 There is currently only one way an AWS XRay tracer can be configured to provide distributed tracing for a Camel application:
 
-#### Explicit
+=== Explicit
 
 Include the `camel-aws-xray` component in your POM, along with any specific dependencies associated with the AWS XRay Tracer.
 
@@ -91,7 +91,7 @@ AWS XRay tracer bean. Camel will automatically discover and use it.
 
 In case of the default `NoopTracingStrategy` only the creation and deletion of exchanges is tracked but not the invocation of certain beans or EIP patterns.
 
-#### Tracking of comprehensive route execution
+=== Tracking of comprehensive route execution
 
 In order to track the execution of an exchange among multiple routes, on exchange creation a unique trace ID is generated and stored in the headers if no corresponding value was yet available. This trace ID is copied over to new exchanges in order to keep a consistent view of the processed exchange.
 
@@ -110,6 +110,6 @@ The component will use the following constants found in the headers of the excha
 
 Note that the AWS XRay `Entity` (i.e., `Segment` and `Subsegment`) are not serializable and therefore should not get passed to other JVM processes.
 
-### Example
+== Example
 
 You can find an example demonstrating the way to configure AWS XRay tracing within the tests accompanying this project.
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-cw-component.adoc b/components/camel-aws/src/main/docs/aws-cw-component.adoc
index aed5e9a..422ade8 100644
--- a/components/camel-aws/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-cw-component.adoc
@@ -15,7 +15,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon CloudWatch. More information are available at
 http://aws.amazon.com/cloudwatch/[Amazon CloudWatch].
 
-### URI Format
+== URI Format
 
 [source,java]
 ----------------------------
@@ -26,7 +26,7 @@ The metrics will be created if they don't already exists. +
  You can append query options to the URI in the following format,
 `?options=value&option2=value&...`
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -137,9 +137,9 @@ You have to provide the amazonCwClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/cloudwatch/[Amazon's CloudWatch].
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the CW producer
+=== Message headers evaluated by the CW producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -162,7 +162,7 @@ the http://aws.amazon.com/cloudwatch/[Amazon's CloudWatch].
 |`CamelAwsCwMetricDimensions` |`Map<String, String>` |*Camel 2.12:* A map of dimension names and dimension values.
 |=======================================================================
 
-#### Advanced AmazonCloudWatch configuration
+=== Advanced AmazonCloudWatch configuration
 
 If you need more control over the `AmazonCloudWatch` instance
 configuration you can create your own instance and refer to it from the
@@ -191,7 +191,7 @@ AmazonCloudWatch client = new AmazonCloudWatchClient(awsCredentials, clientConfi
 registry.bind("client", client);
 ------------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index 220cd92..d77b095 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon DynamoDB. More information are available at
 http://aws.amazon.com/dynamodb[Amazon DynamoDB].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -23,7 +23,7 @@ aws-ddb://domainName[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -138,9 +138,9 @@ You have to provide the amazonDDBClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/dynamodb[Amazon's DynamoDB].
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the DDB producer
+=== Message headers evaluated by the DDB producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -195,7 +195,7 @@ the query.*From Camel 2.16.0 this header doesn't exist anymore.*
 |`CamelAwsDdbUpdateValues` |`Map<String, AttributeValueUpdate>` |Map of attribute name to the new value and action for the update.
 |=======================================================================
 
-#### Message headers set during BatchGetItems operation
+=== Message headers set during BatchGetItems operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -207,7 +207,7 @@ the query.*From Camel 2.16.0 this header doesn't exist anymore.*
 processed with the current response.
 |=======================================================================
 
-#### Message headers set during DeleteItem operation
+=== Message headers set during DeleteItem operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -216,7 +216,7 @@ processed with the current response.
 |`CamelAwsDdbAttributes` |`Map<String, AttributeValue>` |The list of attributes returned by the operation.
 |=======================================================================
 
-#### Message headers set during DeleteTable operation
+=== Message headers set during DeleteTable operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -240,7 +240,7 @@ processed with the current response.
 |`CamelAwsDdbTableStatus` |`String` |The status of the table: CREATING, UPDATING, DELETING, ACTIVE
 |=======================================================================
 
-#### Message headers set during DescribeTable operation
+=== Message headers set during DescribeTable operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -267,7 +267,7 @@ not KeySchema*
 |`CamelAwsDdbWriteCapacity` |`Long` |WriteCapacityUnits property of this table.
 |=======================================================================
 
-#### Message headers set during GetItem operation
+=== Message headers set during GetItem operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -277,7 +277,7 @@ not KeySchema*
 
 |=======================================================================
 
-#### Message headers set during PutItem operation
+=== Message headers set during PutItem operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -287,7 +287,7 @@ not KeySchema*
 
 |=======================================================================
 
-#### Message headers set during Query operation
+=== Message headers set during Query operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -304,7 +304,7 @@ consumed during the operation.
 |`CamelAwsDdbCount` |`Integer` |Number of items in the response.
 |=======================================================================
 
-#### Message headers set during Scan operation
+=== Message headers set during Scan operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -323,7 +323,7 @@ consumed during the operation.
 |`CamelAwsDdbScannedCount` |`Integer` |Number of items in the complete scan before any filters are applied.
 |=======================================================================
 
-#### Message headers set during UpdateItem operation
+=== Message headers set during UpdateItem operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -333,7 +333,7 @@ consumed during the operation.
 
 |=======================================================================
 
-#### Advanced AmazonDynamoDB configuration
+=== Advanced AmazonDynamoDB configuration
 
 If you need more control over the `AmazonDynamoDB` instance
 configuration you can create your own instance and refer to it from the
@@ -362,7 +362,7 @@ AmazonDynamoDB client = new AmazonDynamoDBClient(awsCredentials, clientConfigura
 registry.bind("client", client);
 --------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
index 996b31c..425c47f 100644
--- a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon DynamoDB Streams. More information are available
 at http://aws.amazon.com/dynamodb/[AWS DynamoDB]
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------------
@@ -24,7 +24,7 @@ The stream needs to be created prior to it being used. +
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -155,7 +155,7 @@ You have to provide the amazonDynamoDbStreamsClient in the
 Registry with proxies and relevant credentials
 configured.
 
-### Sequence Numbers
+== Sequence Numbers
 
 You can provide a literal string as the sequence number or provide a
 bean in the registry. An example of using the bean would be to save your
@@ -165,7 +165,7 @@ It is an error to provide a sequence number that is greater than the
 largest sequence number in the describe-streams result, as this will
 lead to the AWS call returning an HTTP 400.
 
-### Batch Consumer
+== Batch Consumer
 
 This component implements the Batch Consumer.
 
@@ -173,9 +173,9 @@ This allows you for instance to know how many messages exists in this
 batch and for instance let the Aggregator
 aggregate this number of messages.
 
-### Usage
+== Usage
 
-#### AmazonDynamoDBStreamsClient configuration
+=== AmazonDynamoDBStreamsClient configuration
 
 You will need to create an instance of AmazonDynamoDBStreamsClient and
 bind it to the registry
@@ -193,7 +193,7 @@ region.createClient(AmazonDynamoDBStreamsClient.class, null, clientConfiguration
 registry.bind("kinesisClient", client);
 --------------------------------------------------------------------------------------------------------------------
 
-#### Providing AWS Credentials
+=== Providing AWS Credentials
 
 It is recommended that the credentials are obtained by using the
 http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
@@ -202,9 +202,9 @@ however, a
 different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
 can be specified when calling createClient(...).
 
-### Coping with Downtime
+== Coping with Downtime
 
-#### AWS DynamoDB Streams outage of less than 24 hours
+=== AWS DynamoDB Streams outage of less than 24 hours
 
 The consumer will resume from the last seen sequence number (as
 implemented
@@ -212,12 +212,12 @@ for https://issues.apache.org/jira/browse/CAMEL-9515[CAMEL-9515]), so
 you should receive a flood of events in quick succession, as long as the
 outage did not also include DynamoDB itself.
 
-#### AWS DynamoDB Streams outage of more than 24 hours
+=== AWS DynamoDB Streams outage of more than 24 hours
 
 Given that AWS only retain 24 hours worth of changes, you will have
 missed change events no matter what mitigations are in place.
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-ec2-component.adoc b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
index 248066b..6097524 100644
--- a/components/camel-aws/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon EC2. More information are available at
 https://aws.amazon.com/it/ec2/[Amazon EC2].
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------
@@ -23,7 +23,7 @@ aws-ec2://label[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -127,9 +127,9 @@ You have to provide the amazonEc2Client in the
 Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the EC2 producer
+=== Message headers evaluated by the EC2 producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc
index 1500930..4fbcee0 100644
--- a/components/camel-aws/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon IAM. More information are available at
 https://aws.amazon.com/it/iam/[Amazon IAM].
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------
@@ -23,7 +23,7 @@ aws-kms://label[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -127,9 +127,9 @@ You have to provide the amazonKmsClient in the
 Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/it/iam/[Amazon IAM] service.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the IAM producer
+=== Message headers evaluated by the IAM producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -144,7 +144,7 @@ the https://aws.amazon.com/it/iam/[Amazon IAM] service.
 |`CamelAwsIAMAccessKeyStatus` |`String` |The Status of the AccessKey you want to set, possible value are active and inactive
 |=======================================================================
 
-#### IAM Producer operations
+=== IAM Producer operations
 
 Camel-AWS IAM component provides the following operation on the producer side:
 
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
index cfa2675..efc0659 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon Kinesis. More information are available
 at http://aws.amazon.com/kinesis/[AWS Kinesis]
 
-### URI Format
+== URI Format
 
 [source,java]
 -----------------------------------
@@ -24,7 +24,7 @@ The stream needs to be created prior to it being used. +
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -161,7 +161,7 @@ You have to provide the amazonKinesisClient in the
 Registry with proxies and relevant credentials
 configured.
 
-### Batch Consumer
+== Batch Consumer
 
 This component implements the Batch Consumer.
 
@@ -169,9 +169,9 @@ This allows you for instance to know how many messages exists in this
 batch and for instance let the Aggregator
 aggregate this number of messages.
 
-### Usage
+== Usage
 
-#### Message headers set by the Kinesis consumer
+=== Message headers set by the Kinesis consumer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -185,7 +185,7 @@ size is not defined by the API. If it is to be used as a numerical type then use
 |`CamelAwsKinesisPartitionKey` |`String` |Identifies which shard in the stream the data record is assigned to.
 |=======================================================================
 
-#### AmazonKinesis configuration
+=== AmazonKinesis configuration
 
 You will need to create an instance of AmazonKinesisClient and
 bind it to the registry
@@ -211,7 +211,7 @@ from("aws-kinesis://mykinesisstream?amazonKinesisClient=#kinesisClient")
   .to("log:out?showAll=true");
 --------------------------------------------------------------------------------------------------------------------
 
-#### Providing AWS Credentials
+=== Providing AWS Credentials
 
 It is recommended that the credentials are obtained by using the
 http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
@@ -220,7 +220,7 @@ however, a
 different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
 can be specified when calling createClient(...).
 
-#### Message headers used by the Kinesis producer to write to Kinesis.  The producer expects that the message body is a `byte[]`.
+=== Message headers used by the Kinesis producer to write to Kinesis.  The producer expects that the message body is a `byte[]`.
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -232,7 +232,7 @@ can be specified when calling createClient(...).
 
 |=======================================================================
 
-#### Message headers set by the Kinesis producer on successful storage of a Record
+=== Message headers set by the Kinesis producer on successful storage of a Record
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -246,7 +246,7 @@ http://docs.aws.amazon.com/kinesis/latest/APIReference/API_PutRecord.html#API_Pu
 
 |=======================================================================
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
index 6a2a32d..f7ce451 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -12,7 +12,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon Kinesis Firehose. More information are available
 at https://aws.amazon.com/kinesis/firehose/[AWS Kinesis Firehose]
 
-### URI Format
+== URI Format
 
 [source,java]
 -----------------------------------
@@ -23,7 +23,7 @@ The stream needs to be created prior to it being used. +
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -133,9 +133,9 @@ Registry with proxies and relevant credentials
 configured.
 
 
-### Usage
+== Usage
 
-#### Amazon Kinesis Firehose configuration
+=== Amazon Kinesis Firehose configuration
 
 You will need to create an instance of AmazonKinesisClient and
 bind it to the registry
@@ -161,7 +161,7 @@ from("aws-kinesis-firehose://mykinesisdeliverystream?amazonKinesisFirehoseClient
   .to("log:out?showAll=true");
 --------------------------------------------------------------------------------------------------------------------
 
-#### Providing AWS Credentials
+=== Providing AWS Credentials
 
 It is recommended that the credentials are obtained by using the
 http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/DefaultAWSCredentialsProviderChain.html[DefaultAWSCredentialsProviderChain]
@@ -170,7 +170,7 @@ however, a
 different http://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/auth/AWSCredentialsProvider.html[AWSCredentialsProvider]
 can be specified when calling createClient(...).
 
-#### Message headers set by the Kinesis producer on successful storage of a Record
+=== Message headers set by the Kinesis producer on successful storage of a Record
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -182,7 +182,7 @@ http://docs.aws.amazon.com/firehose/latest/APIReference/API_PutRecord.html#API_P
 
 |=======================================================================
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-kms-component.adoc b/components/camel-aws/src/main/docs/aws-kms-component.adoc
index 8f4a908..4b6d16b 100644
--- a/components/camel-aws/src/main/docs/aws-kms-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kms-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon KMS. More information are available at
 https://aws.amazon.com/it/mq/[Amazon KMS].
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------
@@ -23,7 +23,7 @@ aws-kms://label[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -127,9 +127,9 @@ You have to provide the amazonKmsClient in the
 Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/it/kms/[Amazon KMS] service.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the MQ producer
+=== Message headers evaluated by the MQ producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -144,7 +144,7 @@ the https://aws.amazon.com/it/kms/[Amazon KMS] service.
 |`CamelAwsKMSKeyId` |`String` |The key Id 
 |=======================================================================
 
-#### KMS Producer operations
+=== KMS Producer operations
 
 Camel-AWS KMS component provides the following operation on the producer side:
 
diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
index c40b859..1f5730e 100644
--- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
@@ -19,7 +19,7 @@ When creating a Lambda function, you need to specify a IAM role which has at lea
 
 Lambda is regional service. Unlike S3 bucket, Lambda function created in a given region is not available on other regions.
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------
@@ -29,7 +29,7 @@ aws-lambda://functionName[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -134,9 +134,9 @@ You have to provide the awsLambdaClient in the
 Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/lambda/[Amazon Lambda] service.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the Lambda producer
+=== Message headers evaluated by the Lambda producer
 
 [width="100%",cols="5%,5%,10%,75%,5%",options="header",]
 |=======================================================================
@@ -195,7 +195,7 @@ The default is 3 seconds.|No
 
 |=======================================================================
 
-### List of Avalaible Operations
+== List of Avalaible Operations
 
 - listFunctions
 - getFunction,
@@ -207,12 +207,12 @@ The default is 3 seconds.|No
 - deleteEventSourceMapping
 - listEventSourceMapping
 
-### Example
+== Example
 
 To have a full understanding of how the component works, you may have a look at this https://github.com/apache/camel/blob/master/components/camel-aws/src/test/java/org/apache/camel/component/aws/lambda/integration/LambdaComponentIntegrationTest.java[integration test]
 
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-mq-component.adoc b/components/camel-aws/src/main/docs/aws-mq-component.adoc
index 17910b8..8698b34 100644
--- a/components/camel-aws/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-mq-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon MQ. More information are available at
 https://aws.amazon.com/it/mq/[Amazon MQ].
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------
@@ -23,7 +23,7 @@ aws-mq://label[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -127,9 +127,9 @@ You have to provide the amazonEc2Client in the
 Registry or your accessKey and secretKey to access
 the https://aws.amazon.com/it/ec2/[Amazon EC2] service.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the MQ producer
+=== Message headers evaluated by the MQ producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
diff --git a/components/camel-aws/src/main/docs/aws-s3-component.adoc b/components/camel-aws/src/main/docs/aws-s3-component.adoc
index b2a651a..9b22943 100644
--- a/components/camel-aws/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-s3-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon S3. More information are available at
 http://aws.amazon.com/s3[Amazon S3].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -33,7 +33,7 @@ from("aws-s3:helloBucket?accessKey=yourAccessKey&secretKey=yourSecretKey&prefix=
 --------------------------------------------------------------------------------
 
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -214,7 +214,7 @@ You have to provide the amazonS3Client in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/s3[Amazon's S3].
 
-### Batch Consumer
+== Batch Consumer
 
 This component implements the Batch Consumer.
 
@@ -222,9 +222,9 @@ This allows you for instance to know how many messages exists in this
 batch and for instance let the Aggregator
 aggregate this number of messages.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the S3 producer
+=== Message headers evaluated by the S3 producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -271,7 +271,7 @@ the object using AWS-managed keys. For example use AES256.
 |`CamelAwsS3VersionId` |`String` |The version Id of the object to be stored or returned from the current operation
 |=======================================================================
 
-#### Message headers set by the S3 producer
+=== Message headers set by the S3 producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -284,7 +284,7 @@ the object using AWS-managed keys. For example use AES256.
 
 |=======================================================================
 
-#### Message headers set by the S3 consumer
+=== Message headers set by the S3 consumer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -333,7 +333,7 @@ specify caching behavior along the HTTP request/reply chain.
 object using AWS-managed keys.
 |=======================================================================
 
-#### S3 Producer operations
+=== S3 Producer operations
 
 Camel-AWS s3 component provides the following operation on the producer side:
 
@@ -344,7 +344,7 @@ Camel-AWS s3 component provides the following operation on the producer side:
 - downloadLink
 - listObjects
 
-#### Advanced AmazonS3 configuration
+=== Advanced AmazonS3 configuration
 
 If your Camel Application is running behind a firewall or if you need to
 have more control over the `AmazonS3` instance configuration, you can
@@ -371,7 +371,7 @@ from("aws-s3://MyBucket?amazonS3Client=#client&delay=5000&maxMessagesPerPoll=5")
 .to("mock:result");
 --------------------------------------------------------------------------------
 
-#### Use KMS with the S3 component
+=== Use KMS with the S3 component
 
 To use AWS KMS to encrypt/decrypt data by using AWS infrastructure you can use the options introduced in 2.21.x like in the following example
 
@@ -384,7 +384,7 @@ from("file:tmp/test?fileName=test.txt")
 
 In this way you'll ask to S3, to use the KMS key 3f0637ad-296a-3dfe-a796-e60654fb128c, to encrypt the file test.txt. When you'll ask to download this file, the decryption will be done directly before the download.
 
-#### Use "useIAMCredentials" with the s3 component
+=== Use "useIAMCredentials" with the s3 component
 
 To use AWS IAM credentials, you must first verify that the EC2 in which you are launching the Camel application on has an IAM role associated with it containing the appropriate policies attached to run effectively.
 Keep in mind that this feature should only be set to "true" on remote instances. To clarify even further, you must still use static credentials locally since IAM is an AWS specific component,
@@ -394,7 +394,7 @@ when the system environment variable called "isRemote" is set to true (there are
 using IAM credentials on AWS environments takes away the need to refresh on remote environments and adds a major security boost (IAM credentials are refreshed automatically every 6 hours and update when their
 policies are updated). This is the AWS recommended way to manage credentials and therefore should be used as often as possible.
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-sdb-component.adoc b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
index 1078ade..1b8aa22 100644
--- a/components/camel-aws/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon SDB. More information are available at
 http://aws.amazon.com/sdb[Amazon SDB].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -23,7 +23,7 @@ aws-sdb://domainName[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -107,9 +107,9 @@ You have to provide the amazonSDBClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/sdb[Amazon's SDB].
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the SDB producer
+=== Message headers evaluated by the SDB producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -145,7 +145,7 @@ to 100.
 specified attributes will be updated/deleted or not.
 |=======================================================================
 
-#### Message headers set during DomainMetadata operation
+=== Message headers set during DomainMetadata operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -166,7 +166,7 @@ specified attributes will be updated/deleted or not.
 |`CamelAwsSdbItemNameSize` |`Long` |The total size of all item names in the domain, in bytes.
 |=======================================================================
 
-#### Message headers set during GetAttributes operation
+=== Message headers set during GetAttributes operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -175,7 +175,7 @@ specified attributes will be updated/deleted or not.
 |`CamelAwsSdbAttributes` |`List<Attribute>` |The list of attributes returned by the operation.
 |=======================================================================
 
-#### Message headers set during ListDomains operation
+=== Message headers set during ListDomains operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -187,7 +187,7 @@ specified attributes will be updated/deleted or not.
 specified MaxNumberOfDomains still available.
 |=======================================================================
 
-#### Message headers set during Select operation
+=== Message headers set during Select operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -200,7 +200,7 @@ matched, the response size exceeded 1 megabyte, or the execution time
 exceeded 5 seconds.
 |=======================================================================
 
-#### Advanced AmazonSimpleDB configuration
+=== Advanced AmazonSimpleDB configuration
 
 If you need more control over the `AmazonSimpleDB` instance
 configuration you can create your own instance and refer to it from the
@@ -229,7 +229,7 @@ AmazonSimpleDB client = new AmazonSimpleDBClient(awsCredentials, clientConfigura
 registry.bind("client", client);
 --------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-ses-component.adoc b/components/camel-aws/src/main/docs/aws-ses-component.adoc
index 391b37d..32af14f 100644
--- a/components/camel-aws/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ses-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon SES. More information are available at
 http://aws.amazon.com/ses[Amazon SES].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------
@@ -23,7 +23,7 @@ aws-ses://from[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -134,9 +134,9 @@ You have to provide the amazonSESClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/ses[Amazon's SES].
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the SES producer
+=== Message headers evaluated by the SES producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -155,7 +155,7 @@ the http://aws.amazon.com/ses[Amazon's SES].
 |`CamelAwsSesHtmlEmail` |`Boolean` |*Since Camel 2.12.3* The flag to show if email content is HTML.
 |=======================================================================
 
-#### Message headers set by the SES producer
+=== Message headers set by the SES producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -164,7 +164,7 @@ the http://aws.amazon.com/ses[Amazon's SES].
 |`CamelAwsSesMessageId` |`String` |The Amazon SES message ID.
 |=======================================================================
 
-#### Advanced AmazonSimpleEmailService configuration
+=== Advanced AmazonSimpleEmailService configuration
 
 If you need more control over the `AmazonSimpleEmailService` instance
 configuration you can create your own instance and refer to it from the
@@ -192,7 +192,7 @@ AmazonSimpleEmailService client = new AmazonSimpleEmailServiceClient(awsCredenti
 registry.bind("client", client);
 ----------------------------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-sns-component.adoc b/components/camel-aws/src/main/docs/aws-sns-component.adoc
index 90a3515..dd01a2c 100644
--- a/components/camel-aws/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sns-component.adoc
@@ -15,7 +15,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon SNS. More information are available at
 http://aws.amazon.com/sns[Amazon SNS].
 
-### URI Format
+== URI Format
 
 [source,java]
 -----------------------------
@@ -26,7 +26,7 @@ The topic will be created if they don't already exists. +
  You can append query options to the URI in the following format,
 `?options=value&option2=value&...`
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -139,9 +139,9 @@ You have to provide the amazonSNSClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/sns[Amazon's SNS].
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the SNS producer
+=== Message headers evaluated by the SNS producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -151,7 +151,7 @@ the http://aws.amazon.com/sns[Amazon's SNS].
 `SnsConfiguration` is used.
 |=======================================================================
 
-#### Message headers set by the SNS producer
+=== Message headers set by the SNS producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -160,7 +160,7 @@ the http://aws.amazon.com/sns[Amazon's SNS].
 |`CamelAwsSnsMessageId` |`String` |The Amazon SNS message ID.
 |=======================================================================
 
-#### Advanced AmazonSNS configuration
+=== Advanced AmazonSNS configuration
 
 If you need more control over the `AmazonSNS` instance configuration you
 can create your own instance and refer to it from the URI:
@@ -187,7 +187,7 @@ AmazonSNS client = new AmazonSNSClient(awsCredentials, clientConfiguration);
 registry.bind("client", client);
 --------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-aws/src/main/docs/aws-sqs-component.adoc b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
index 5e24892..dfbb2e0 100644
--- a/components/camel-aws/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon SQS. More information are available at
 http://aws.amazon.com/sqs[Amazon SQS].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -24,7 +24,7 @@ The queue will be created if they don't already exists. +
  You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -201,7 +201,7 @@ You have to provide the amazonSQSClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/sqs[Amazon's SQS].
 
-### Batch Consumer
+== Batch Consumer
 
 This component implements the Batch Consumer.
 
@@ -209,9 +209,9 @@ This allows you for instance to know how many messages exists in this
 batch and for instance let the Aggregator
 aggregate this number of messages.
 
-### Usage
+== Usage
 
-#### Message headers set by the SQS producer
+=== Message headers set by the SQS producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -225,7 +225,7 @@ aggregate this number of messages.
 see by others.
 |=======================================================================
 
-#### Message headers set by the SQS consumer
+=== Message headers set by the SQS consumer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -240,7 +240,7 @@ see by others.
 |`CamelAwsSqsMessageAttributes` |`Map<String, String>` |The Amazon SQS message attributes.
 |=======================================================================
 
-#### Advanced AmazonSQS configuration
+=== Advanced AmazonSQS configuration
 
 If your Camel Application is running behind a firewall or if you need to
 have more control over the AmazonSQS instance configuration, you can
@@ -267,7 +267,7 @@ from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5"
 .to("mock:result");
 ---------------------------------------------------------------------------------
 
-#### Creating or updating an SQS Queue
+=== Creating or updating an SQS Queue
 
 In the SQS Component, when an endpoint is started, a check is executed to obtain information 
 about the existence of the queue or not. You're able to customize the creation through the QueueAttributeName 
@@ -282,7 +282,7 @@ from("aws-sqs://MyQueue?amazonSQSClient=#client&delay=5000&maxMessagesPerPoll=5"
 In this example if the MyQueue queue is not already created on AWS, it will be created with default parameters from the 
 SQS configuration. If it's already up on AWS, the SQS configuration options will be used to override the existent AWS configuration.
 
-#### DelayQueue VS Delay for Single message
+=== DelayQueue VS Delay for Single message
 
 From 2.23.0 the component has a new option: delayQueue. When the option is set to true, the SQS Queue will be a DelayQueue with the 
 DelaySeconds option as delay. For more information about DelayQueue you can read the https://docs.aws.amazon.com/en_us/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-delay-queues.html[AWS SQS documentation].
@@ -294,12 +294,12 @@ One important information to take into account is the following:
 as stated in the official documentation. If you want to specify a delay on single messages, you can ignore the delayQueue option, while you can set this option 
 to true, if you need to add a fixed delay to all messages enqueued.
 
-#### Server Side Encryption
+=== Server Side Encryption
 
 From 2.24.0 we introduce the Server Side Encryption attributes for a queue. The related option are serverSideEncryptionEnabled, keyMasterKeyId and kmsDataKeyReusePeriod.
 The SSE is disabled by default. You need to explicitly set the option to true and set the related parameters as queue attributes.
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
@@ -317,7 +317,7 @@ Maven users will need to add the following dependency to their pom.xml.
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.6 or higher).
 
-### JMS-style Selectors
+== JMS-style Selectors
 
 SQS does not allow selectors, but you can effectively achieve this by
 using the Camel Filter EIP and setting an
diff --git a/components/camel-aws/src/main/docs/aws-swf-component.adoc b/components/camel-aws/src/main/docs/aws-swf-component.adoc
index ee2df71..911a91e 100644
--- a/components/camel-aws/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-swf-component.adoc
@@ -13,7 +13,7 @@ You must have a valid Amazon Web Services developer account, and be
 signed up to use Amazon Simple Workflow. More information are available
 at http://aws.amazon.com/swf/[Amazon Simple Workflow].
 
-### URI Format
+== URI Format
 
 [source,java]
 ---------------------------------------
@@ -23,7 +23,7 @@ aws-swf://<workflow|activity>[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -169,9 +169,9 @@ You have to provide the amazonSWClient in the
 Registry or your accessKey and secretKey to access
 the http://aws.amazon.com/swf[Amazon's Simple Workflow Service].
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the SWF Workflow Producer
+=== Message headers evaluated by the SWF Workflow Producer
 
 A workflow producer allows interacting with a workflow. It can start a
 new workflow execution, query its state, send signals to a running
@@ -201,7 +201,7 @@ workflow, or terminate and cancel it.
 |`CamelSWFChildPolicy` |`String` |The policy to use on child workflows when terminating a workflow.
 |=======================================================================
 
-#### Message headers set by the SWF Workflow Producer
+=== Message headers set by the SWF Workflow Producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -212,7 +212,7 @@ workflow, or terminate and cancel it.
 |`CamelAwsDdbKeyCamelSWFRunId` |`String` |The worfklow run ID used or generated.
 |=======================================================================
 
-#### Message headers set by the SWF Workflow Consumer
+=== Message headers set by the SWF Workflow Consumer
 
 A workflow consumer represents the workflow logic. When it is started,
 it will start polling workflow decision tasks and process them. In
@@ -234,7 +234,7 @@ CamelSWFSignalReceivedAction or CamelSWFGetStateAction.
 |`CamelSWFWorkflowStartTime` |`long` |The time of the start event for this decision task.
 |=======================================================================
 
-#### Message headers set by the SWF Activity Producer
+=== Message headers set by the SWF Activity Producer
 
 An activity producer allows scheduling activity tasks. An activity
 producer can be used only from a thread started by a workflow consumer
@@ -249,7 +249,7 @@ ie, it can process synchronous exchanges started by a workflow consumer.
 |`CamelSWFVersion` |`String` |The activity version to schedule.
 |=======================================================================
 
-#### Message headers set by the SWF Activity Consumer
+=== Message headers set by the SWF Activity Consumer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -259,7 +259,7 @@ ie, it can process synchronous exchanges started by a workflow consumer.
 completed tasks.
 |=======================================================================
 
-#### Advanced amazonSWClient configuration
+=== Advanced amazonSWClient configuration
 
 If you need more control over the AmazonSimpleWorkflowClient instance
 configuration you can create your own instance and refer to it from the
@@ -282,7 +282,7 @@ AmazonSimpleWorkflowClient client = new AmazonSimpleWorkflowClient(awsCredential
 registry.bind("client", client);
 --------------------------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index df70645..279ded5 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -12,7 +12,7 @@ Prerequisites
 You must have a valid Windows Azure Storage account. More information is available at
 https://docs.microsoft.com/azure/[Azure Documentation Portal].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -32,7 +32,7 @@ from("azure-blob:/camelazure/container1/blockBlob").
 to("file://blobdirectory");
 --------------------------------------------------------------------------------
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -130,9 +130,9 @@ Required Azure Storage Blob Service component options
 
 You have to provide the containerOrBlob name and the credentials if the private blob needs to be accessed.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the Azure Storage Blob Service producer
+=== Message headers evaluated by the Azure Storage Blob Service producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -140,7 +140,7 @@ You have to provide the containerOrBlob name and the credentials if the private
 | | |
 |=======================================================================
 
-#### Message headers set by the Azure Storage Blob Service producer
+=== Message headers set by the Azure Storage Blob Service producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -148,7 +148,7 @@ You have to provide the containerOrBlob name and the credentials if the private
 |`CamelFileName` |`String` |The file name for the downloaded blob content.
 |=======================================================================
 
-#### Message headers set by the Azure Storage Blob Service producer consumer
+=== Message headers set by the Azure Storage Blob Service producer consumer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -159,7 +159,7 @@ You have to provide the containerOrBlob name and the credentials if the private
 |=======================================================================
 
 
-#### Azure Blob Service operations
+=== Azure Blob Service operations
 
 *Operations common to all block types*
 
@@ -215,7 +215,7 @@ You have to provide the containerOrBlob name and the credentials if the private
 
 
 
-#### Azure Blob Client configuration
+=== Azure Blob Client configuration
 
 If your Camel Application is running behind a firewall or if you need to
 have more control over the Azure Blob Client configuration, you can
@@ -238,7 +238,7 @@ from("azure-blob:/camelazure/container1/blockBlob?azureBlobClient=#client")
 .to("mock:result");
 --------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index a6e3691..b0b87a7 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -12,7 +12,7 @@ Prerequisites
 You must have a valid Microsoft Azure account. More information is available at
 https://azure.microsoft.com/en-us/free/[Azure Portal].
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -32,7 +32,7 @@ from("azure-queue:/camelazure/messageQueue").
 to("file://queuedirectory");
 --------------------------------------------------------------------------------
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -121,9 +121,9 @@ Required Azure Storage Queue Service component options
 
 You have to provide the containerAndQueue URI  and the credentials.
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the Azure Storage Queue Service producer
+=== Message headers evaluated by the Azure Storage Queue Service producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -131,7 +131,7 @@ You have to provide the containerAndQueue URI  and the credentials.
 | | |
 |=======================================================================
 
-#### Message headers set by the Azure Storage Queue Service producer
+=== Message headers set by the Azure Storage Queue Service producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -139,7 +139,7 @@ You have to provide the containerAndQueue URI  and the credentials.
 | | |
 |=======================================================================
 
-#### Message headers set by the Azure Storage Queue Service producer consumer
+=== Message headers set by the Azure Storage Queue Service producer consumer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -149,7 +149,7 @@ You have to provide the containerAndQueue URI  and the credentials.
 
 
 
-#### Azure Queue Service operations
+=== Azure Queue Service operations
 
 [width="100%",cols="20%,80%",options="header",]
 |===
@@ -168,7 +168,7 @@ You have to provide the containerAndQueue URI  and the credentials.
 
 
 
-#### Azure Queue Client configuration
+=== Azure Queue Client configuration
 
 If your Camel Application is running behind a firewall or if you need to
 have more control over the Azure Queue Client configuration, you can
@@ -191,7 +191,7 @@ from("azure-queue:/camelazure/messageQueue?azureQueueClient=#client")
 .to("mock:result");
 --------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-bam/src/main/docs/bam-example.adoc b/components/camel-bam/src/main/docs/bam-example.adoc
index 240c7dc..638b785 100644
--- a/components/camel-bam/src/main/docs/bam-example.adoc
+++ b/components/camel-bam/src/main/docs/bam-example.adoc
@@ -1,4 +1,4 @@
-## Business Activity Monitor (BAM) Example
+= Business Activity Monitor (BAM) Example
 
 The BAM (Business Activity Monitor) example shows how to
 monitor your transaction flows using Camel.
@@ -15,7 +15,7 @@ amount of time (2 seconds in this example). If an invoice is not
 generated within the allowed amount of time and error is generated and
 sent to an Endpoint.
 
-### Overview
+== Overview
 
 This example lives in the _examples/camel-example-bam_ directory. It
 will poll the following directories
@@ -39,7 +39,7 @@ http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/
 which defines the JPA `EntityManagerFactory` and tells Camel to look in
 the *org.apache.camel.example.bam* package to find its routes.
 
-### Using BAM
+== Using BAM
 
 So lets start with the activities definition in
 http://svn.apache.org/repos/asf/camel/trunk/examples/camel-example-bam/src/main/java/org/apache/camel/example/bam/MyActivities.java[MyActivities]
@@ -65,7 +65,7 @@ Components such as ActiveMQ,
 <<jms-component,JMS>>, <<jms-component,IRC>>, <<jms-component,Mail>>,
 <<xmpp-component,XMPP>> etc.
 
-### Running the example
+== Running the example
 
 To run the example we use the link:camel-maven-plugin.html[Camel Maven
 Plugin]. For example from the source or binary distribution the
diff --git a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
index 12854f2..2e939ef 100644
--- a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
+++ b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
@@ -10,7 +10,7 @@ component is to create a barcode image from a String (marshal) and a
 String from a barcode image (unmarshal). You're free to use all features
 that zxing offers.
 
-### Dependencies
+== Dependencies
 
 To use the barcode data format in your camel routes you need to add the
 a dependency on *camel-barcode* which implements this data format.
@@ -28,7 +28,7 @@ the download page for the latest versions).
 </dependency>
 ----------------------------------------
 
-### Barcode Options
+== Barcode Options
 
 // dataformat options: START
 The Barcode dataformat supports 5 options, which are listed below.
@@ -78,7 +78,7 @@ The component supports 6 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Using the Java DSL
+== Using the Java DSL
 
 First you have to initialize the barcode data fomat class. You can use
 the default constructor, or one of parameterized (see JavaDoc). The
@@ -114,7 +114,7 @@ code.addToHintMap(DecodeHintType.TRY_HARDER, Boolean.true);
 
 For possible hints, please consult the xzing documentation.
 
-#### Marshalling
+=== Marshalling
 
 [source,java]
 ----------------------------
@@ -134,7 +134,7 @@ You should find inside the 'barcode_out' folder this image:
 
 image:qr-code.png[image]
 
-#### Unmarshalling
+=== Unmarshalling
 
 The unmarshaller is generic. For unmarshalling you can use any
 BarcodeDataFormat instance. If you've two instances, one for
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index d6ca806..f4d228a 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -24,7 +24,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------
@@ -42,7 +42,7 @@ Where *label* is an arbitrary text value describing the endpoint. +
  You can append query options to the URI in the following format,
 ?option=value&option=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -114,7 +114,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### OSGi deployment
+== OSGi deployment
 
 To use Hibernate Validator in the OSGi environment use dedicated
 `ValidationProviderResolver` implementation, just as
@@ -139,7 +139,7 @@ If no custom `ValidationProviderResolver` is defined and the validator
 component has been deployed into the OSGi environment,
 the `HibernateValidationProviderResolver` will be automatically used.
 
-### Example
+== Example
 
 Assumed we have a java bean with the following annotations
 
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
index 6b3672d..05d284b 100644
--- a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -13,7 +13,7 @@ http://beanio.org/2.0/docs/reference/index.html#TheMappingFile[mappings
 XML] file where you define the mapping from the flat format to Objects
 (POJOs). This mapping file is mandatory to use.
 
-### Options
+== Options
 
 // dataformat options: START
 The BeanIO dataformat supports 9 options, which are listed below.
@@ -71,13 +71,13 @@ The component supports 10 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Usage
+== Usage
 
 An example of a
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-beanio/src/test/resources/org/apache/camel/dataformat/beanio/mappings.xml[mapping
 file is here].
 
-#### Using Java DSL
+=== Using Java DSL
 
 To use the `BeanIODataFormat` you need to configure the data format with
 the mapping file, as well the name of the stream. +
@@ -94,13 +94,13 @@ List<Employee> into a stream of CSV data.
 
 The CSV data could for example be as below:
 
-#### Using XML DSL
+=== Using XML DSL
 
 To use the BeanIO data format in XML, you need to configure it using the
 <beanio> XML tag as shown below. The routes is similar to the example
 above.
 
-### Dependencies
+== Dependencies
 
 To use BeanIO in your Camel routes you need to add a dependency on
 *camel-beanio* which implements this data format.
diff --git a/components/camel-blueprint/src/main/docs/blueprint.adoc b/components/camel-blueprint/src/main/docs/blueprint.adoc
index e372c74..dc091e3 100644
--- a/components/camel-blueprint/src/main/docs/blueprint.adoc
+++ b/components/camel-blueprint/src/main/docs/blueprint.adoc
@@ -1,10 +1,10 @@
-## Using OSGi blueprint with Camel
+= Using OSGi blueprint with Camel
 
 A custom XML namespace for Blueprint has been created to let you leverage the nice XML dialect.
 Given Blueprint custom namespaces are not standardized yet, this namespace can only be used on the Apache Aries Blueprint
 implementation, which is the one used by Apache Karaf.
 
-### Overview
+== Overview
 
 The XML schema is mostly the same as the one for Spring, so all the xml snippets throughout the documentation
 referring to Spring XML also apply to Blueprint routes.
@@ -37,7 +37,7 @@ However, using blueprint when you deploy your applications in an OSGi enviroment
 - you can use Blueprint property placeholders
 
 
-### Using camel-blueprint
+== Using camel-blueprint
 
 To leverage camel-blueprint in OSGi, you only need the Aries Blueprint bundle and the camel-blueprint bundle,
 in addition to camel-core and its dependencies.
diff --git a/components/camel-bonita/src/main/docs/bonita-component.adoc b/components/camel-bonita/src/main/docs/bonita-component.adoc
index 68c4247..63b961a 100644
--- a/components/camel-bonita/src/main/docs/bonita-component.adoc
+++ b/components/camel-bonita/src/main/docs/bonita-component.adoc
@@ -6,7 +6,7 @@
 
 Used for communicating with a remote Bonita BPM process engine.
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------
@@ -15,7 +15,7 @@ bonita://[operation]?[options]
 
 Where *operation* is the specific action to perform on Bonita.
 
-### General Options
+== General Options
 
 // component options: START
 The Bonita component has no options.
@@ -87,12 +87,12 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Body content
+== Body content
 
 For the startCase operation, the input variables are retrieved from the body message. This one has to contains a Map<String,Serializable>.
 
 
-### Examples
+== Examples
 
 The following example start a new case in Bonita:
 
@@ -101,7 +101,7 @@ The following example start a new case in Bonita:
 from("direct:start").to("bonita:startCase?hostname=localhost&amp;port=8080&amp;processName=TestProcess&amp;username=install&amp;password=install")
 ----------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use Bonita in your Camel routes you need to add a dependency on
 *camel-bonita*, which implements the component.
diff --git a/components/camel-boon/src/main/docs/boon-dataformat.adoc b/components/camel-boon/src/main/docs/boon-dataformat.adoc
index 3693cca..3109c7f 100644
--- a/components/camel-boon/src/main/docs/boon-dataformat.adoc
+++ b/components/camel-boon/src/main/docs/boon-dataformat.adoc
@@ -12,7 +12,7 @@ simple
 and https://github.com/RichardHightower/json-parsers-benchmark[fast
 parser] than other common parsers currently used.
 
-### Options
+== Options
 
 
 
@@ -65,7 +65,7 @@ ND
 
 
 
-### Using the Java DSL
+== Using the Java DSL
 
 [source,java]
 ------------------------------------------------------------------------
@@ -76,7 +76,7 @@ from("activemq:My.Queue")
   .to("mqseries:Another.Queue");
 ------------------------------------------------------------------------
 
-### Using Blueprint XML
+== Using Blueprint XML
 
 [source,java]
 ---------------------------------------------------------------------------------
@@ -93,7 +93,7 @@ from("activemq:My.Queue")
 </camelContext>
 ---------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 [source,java]
 -------------------------------------
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 89523c9..2ce3d48 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -31,7 +31,7 @@ for this component:
 
  
 
-### Braintree Options
+== Braintree Options
 
 
 
@@ -137,7 +137,7 @@ The component supports 14 options, which are listed below.
 
 
 
-### URI format
+== URI format
 
  
 
@@ -170,7 +170,7 @@ Endpoint prefix can be one of:
 
  
 
-### BraintreeComponent
+== BraintreeComponent
 
 The Braintree Component can be configured with the options below. These
 options can be provided using the component's bean
@@ -198,7 +198,7 @@ of the environment, merchantId, publicKey and privateKey options.
 
 All the options above are provided by Braintree Payments
 
-### Producer Endpoints:
+== Producer Endpoints:
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -222,7 +222,7 @@ at https://developers.braintreepayments.com/reference/overview[https://develope
 
  
 
-#### Endpoint prefix _addOn_
+=== Endpoint prefix _addOn_
 
 The following endpoints can be invoked with the prefix *addOn* as
 follows:
@@ -240,7 +240,7 @@ braintree://addOn/endpoint
 |all |  |  |List<com.braintreegateway.Addon>
 |====================================================
 
-#### Endpoint prefix _address_
+=== Endpoint prefix _address_
 
 The following endpoints can be invoked with the prefix *address* as
 follows:
@@ -278,7 +278,7 @@ URI Options for _address_
 |id |String
 |============================================
 
-#### Endpoint prefix _clientToken_
+=== Endpoint prefix _clientToken_
 
 The following endpoints can be invoked with the prefix *clientToken* as
 follows:
@@ -305,7 +305,7 @@ URI Options for _clientToken_
 |request |com.braintreegateway.ClientTokenrequest
 |================================================
 
-#### Endpoint prefix _creditCardVerification_
+=== Endpoint prefix _creditCardVerification_
 
 The following endpoints can be invoked with the
 prefix *creditCardverification* as follows:
@@ -336,7 +336,7 @@ URI Options for _creditCardVerification_
 |query |com.braintreegateway.CreditCardVerificationSearchRequest
 |===============================================================
 
-#### Endpoint prefix _customer_
+=== Endpoint prefix _customer_
 
 The following endpoints can be invoked with the prefix *customer* as
 follows:
@@ -379,7 +379,7 @@ URI Options for _customer_
 |query |com.braintreegateway.CustomerSearchRequest
 |=================================================
 
-#### Endpoint prefix _discount_
+=== Endpoint prefix _discount_
 
 The following endpoints can be invoked with the prefix *discount* as
 follows:
@@ -401,7 +401,7 @@ braintree://discount/endpoint
 
  +
 
-#### Endpoint prefix _dispute_
+=== Endpoint prefix _dispute_
 
 The following endpoints can be invoked with the prefix *dispute* as
 follows:
@@ -458,7 +458,7 @@ URI Options for _dispute_
 |==========================================================
 
 
-#### Endpoint prefix _documentUpload_
+=== Endpoint prefix _documentUpload_
 
 The following endpoints can be invoked with the prefix *documentUpload* as
 follows:
@@ -485,7 +485,7 @@ URI Options for _documentUpload_
 |==========================================================
 
 
-#### Endpoint prefix _merchantAccount_
+=== Endpoint prefix _merchantAccount_
 
 The following endpoints can be invoked with the
 prefix *merchantAccount* as follows:
@@ -523,7 +523,7 @@ URI Options for _merchantAccount_
 |currencyRequest |com.braintreegateway.MerchantAccountCreateForCurrencyRequest
 |====================================================
 
-#### Endpoint prefix _paymentMethod_
+=== Endpoint prefix _paymentMethod_
 
 The following endpoints can be invoked with the
 prefix *paymentMethod* as follows:
@@ -561,7 +561,7 @@ URI Options for _paymentMethod_
 |deleteRequest |com.braintreegateway.PaymentMethodDeleteRequest
 |==================================================
 
-#### Endpoint prefix _paymentMethodNonce_
+=== Endpoint prefix _paymentMethodNonce_
 
 The following endpoints can be invoked with the
 prefix *paymentMethodNonce* as follows:
@@ -592,7 +592,7 @@ URI Options for _paymentMethodNonce_
 |paymentMethodNonce |String
 |==========================
 
-#### Endpoint prefix _plan_
+=== Endpoint prefix _plan_
 
 The following endpoints can be invoked with the prefix *plan* as
 follows:
@@ -611,7 +611,7 @@ braintree://plan/endpoint
 |====================================================
 
 
-#### Endpoint prefix _report_
+=== Endpoint prefix _report_
 
 The following endpoints can be invoked with the prefix *report* as
 follows:
@@ -637,7 +637,7 @@ URI Options for _report_
 |==============================================================
 
 
-#### Endpoint prefix _settlementBatchSummary_
+=== Endpoint prefix _settlementBatchSummary_
 
 The following endpoints can be invoked with the
 prefix *settlementBatchSummary* as follows:
@@ -666,7 +666,7 @@ URI Options for _settlementBatchSummary_
 |groupByCustomField |String
 |==========================
 
-#### Endpoint prefix _subscription_
+=== Endpoint prefix _subscription_
 
 The following endpoints can be invoked with the prefix *subscription* as
 follows:
@@ -718,7 +718,7 @@ URI Options for _subscription_
 
  
 
-#### Endpoint prefix _transaction_
+=== Endpoint prefix _transaction_
 
 The following endpoints can be invoked with the prefix *transaction* as
 follows:
@@ -783,7 +783,7 @@ URI Options for _transaction_
 |query |com.braintreegateway.TransactionSearchRequest
 |==========================================================
 
-#### Endpoint prefix _webhookNotification_
+=== Endpoint prefix _webhookNotification_
 
 The following endpoints can be invoked with the
 prefix *webhookNotification* as follows:
@@ -815,7 +815,7 @@ URI Options for _webhookNotification_
 
  
 
-### Consumer Endpoints
+== Consumer Endpoints
 
 Any of the producer endpoints can be used as a consumer endpoint.
 Consumer endpoints can
@@ -827,12 +827,12 @@ be executed once for each exchange. To change this behavior use the
 property *consumer.splitResults=true* to return a single exchange for
 the entire list or array. 
 
-### Message Headers
+== Message Headers
 
 Any URI option can be provided in a message header for producer
 endpoints with a *CamelBraintree.* prefix.
 
-### Message body
+== Message body
 
 All result message bodies utilize objects provided by the Braintree Java
 SDK. Producer endpoints can specify the option name for incoming message
@@ -842,7 +842,7 @@ body in the *inBody* endpoint parameter.
 
  
 
-### Examples
+== Examples
 
 *Blueprint*
 
diff --git a/components/camel-cache/src/main/docs/cache-component.adoc b/components/camel-cache/src/main/docs/cache-component.adoc
index 711937d..91c9e12 100644
--- a/components/camel-cache/src/main/docs/cache-component.adoc
+++ b/components/camel-cache/src/main/docs/cache-component.adoc
@@ -29,7 +29,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------
@@ -39,7 +39,7 @@ cache://cacheName[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=#beanRef&...`
 
-### Options
+== Options
 
 
 
@@ -156,9 +156,9 @@ The component supports 17 options, which are listed below.
 
 
 
-### Sending/Receiving Messages to/from the cache
+== Sending/Receiving Messages to/from the cache
 
-#### Message Headers up to Camel 2.7
+=== Message Headers up to Camel 2.7
 
 [width="100%",cols="20%,80%",options="header",]
 |=======================================================================
@@ -177,7 +177,7 @@ The component supports 17 options, which are listed below.
 |`CACHE_KEY` |The cache key used to store the Message in the cache. The cache key is
 optional if the CACHE_OPERATION is DELETEALL
 |=======================================================================
-#### Message Headers Camel 2.8+
+=== Message Headers Camel 2.8+
 
 Header changes in Camel 2.8
 
@@ -220,7 +220,7 @@ headers:
 |`CamelCacheEternal` |`Boolean` |*Camel 2.11:* Whether the content is eternal.
 |=======================================================================
 
-#### Cache Producer
+=== Cache Producer
 
 Sending data to the cache involves the ability to direct payloads in
 exchanges to be stored in a pre-existing or created-on-demand cache. The
@@ -230,7 +230,7 @@ mechanics of doing this involve
 * ensuring that the Message Exchange Body contains the message directed
 to the cache
 
-#### Cache Consumer
+=== Cache Consumer
 
 Receiving data from the cache involves the ability of the CacheConsumer
 to listen on a pre-existing or created-on-demand Cache using an event
@@ -244,7 +244,7 @@ Body containing the just added/updated payload is placed and sent.
 * in case of a CamelCacheDeleteAll operation, the Message Exchange
 Header CamelCacheKey and the Message Exchange Body are not populated.
 
-#### Cache Processors
+=== Cache Processors
 
 There are a set of nice processors with the ability to perform cache
 lookups and selectively replace payload content at the
@@ -253,9 +253,9 @@ lookups and selectively replace payload content at the
 * token
 * xpath level
 
-### Cache Usage Samples
+== Cache Usage Samples
 
-#### Example 1: Configuring the cache
+=== Example 1: Configuring the cache
 
 [source,java]
 -------------------------------------------------
@@ -271,7 +271,7 @@ from("cache://MyApplicationCache" +
           "&diskExpiryThreadIntervalSeconds=300")
 -------------------------------------------------
 
-#### Example 2: Adding keys to the cache
+=== Example 2: Adding keys to the cache
 
 [source,java]
 ---------------------------------------------------------------------------------------------
@@ -285,7 +285,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ---------------------------------------------------------------------------------------------
 
-#### Example 2: Updating existing keys in a cache
+=== Example 2: Updating existing keys in a cache
 
 [source,java]
 ------------------------------------------------------------------------------------------------
@@ -299,7 +299,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ------------------------------------------------------------------------------------------------
 
-#### Example 3: Deleting existing keys in a cache
+=== Example 3: Deleting existing keys in a cache
 
 [source,java]
 --------------------------------------------------------------------------------------
@@ -313,7 +313,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 --------------------------------------------------------------------------------------
 
-#### Example 4: Deleting all existing keys in a cache
+=== Example 4: Deleting all existing keys in a cache
 
 [source,java]
 -----------------------------------------------------------------------------------------
@@ -326,7 +326,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 -----------------------------------------------------------------------------------------
 
-#### Example 5: Notifying any changes registering in a Cache to Processors and other Producers
+=== Example 5: Notifying any changes registering in a Cache to Processors and other Producers
 
 [source,java]
 --------------------------------------------------------------------------------------------------
@@ -346,7 +346,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 --------------------------------------------------------------------------------------------------
 
-#### Example 6: Using Processors to selectively replace payload with cache values
+=== Example 6: Using Processors to selectively replace payload with cache values
 
 [source,java]
 ---------------------------------------------------------------------------------------
@@ -376,7 +376,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ---------------------------------------------------------------------------------------
 
-#### Example 7: Getting an entry from the Cache
+=== Example 7: Getting an entry from the Cache
 
 [source,java]
 ------------------------------------------------------------------------------------------------
@@ -396,7 +396,7 @@ from("direct:start")
     .to("direct:nextPhase");
 ------------------------------------------------------------------------------------------------
 
-#### Example 8: Checking for an entry in the Cache
+=== Example 8: Checking for an entry in the Cache
 
 Note: The CHECK command tests existence of an entry in the cache but
 doesn't place a message in the body.
@@ -418,7 +418,7 @@ from("direct:start")
     .end();
 ------------------------------------------------------------------------------------------------
 
-### Management of EHCache
+== Management of EHCache
 
 http://ehcache.org/[EHCache] has its own statistics and management from
 JMX.
@@ -452,7 +452,7 @@ ManagementService.registerMBeans(CacheManager.getInstance(), mbeanServer, true,
 You can get cache hits, misses, in-memory hits, disk hits, size stats
 this way. You can also change CacheConfiguration parameters on the fly.
 
-### Cache replication Camel 2.8
+== Cache replication Camel 2.8
 
 The Camel Cache component is able to distribute a cache across server
 nodes using several different replication mechanisms including: RMI,
@@ -485,7 +485,7 @@ phase.
 manual] to get a better understanding of the Camel Cache replication
 mechanism.
 
-#### Example: JMS cache replication
+=== Example: JMS cache replication
 
 JMS replication is the most powerful and secured replication method.
 Used together with Camel Cache replication makes it also rather
diff --git a/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc b/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
index a84bc10..31f7c7a 100644
--- a/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
+++ b/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
@@ -20,7 +20,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -30,7 +30,7 @@ caffeine-cache://cacheName[?options]
 You can append query options to the URI in the following
 format, `?option=value&option=#beanRef&...`
 
-### Options
+== Options
 
 
 // component options: START
@@ -138,7 +138,7 @@ The component supports 17 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Examples
+== Examples
 
 You can use your cache with the following code:
 
@@ -160,7 +160,7 @@ You can use your cache with the following code:
 
 In this way you'll work always on the same cache in the registry.
 
-### Check operation result
+== Check operation result
 
 Each time you'll use an operation on the cache you'll have two different headers to check for status:
 
diff --git a/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc b/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
index 1ca473b..2ea19cd 100644
--- a/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
+++ b/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
@@ -20,7 +20,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -30,7 +30,7 @@ caffeine-loadcache://cacheName[?options]
 You can append query options to the URI in the following
 format, `?option=value&option=#beanRef&...`
 
-### Options
+== Options
 
 
 // component options: START
diff --git a/components/camel-castor/src/main/docs/castor-dataformat.adoc b/components/camel-castor/src/main/docs/castor-dataformat.adoc
index 65b87b6..a1a4076 100644
--- a/components/camel-castor/src/main/docs/castor-dataformat.adoc
+++ b/components/camel-castor/src/main/docs/castor-dataformat.adoc
@@ -11,7 +11,7 @@ into Java objects or to marshal Java objects into an XML payload.
 As usually you can use either Java DSL or Spring XML to work with Castor
 Data Format.
 
-### Using the Java DSL
+== Using the Java DSL
 
 [source,java]
 -----------------------------
@@ -60,7 +60,7 @@ castor.getMarshaller();
 castor.getUnmarshaller();
 -------------------------
 
-### Using Spring XML
+== Using Spring XML
 
 The following example shows how to use Castor to unmarshal using Spring
 configuring the castor data type
@@ -104,7 +104,7 @@ on multiple routes. You have to set the <castor> element directly in
 </camelContext>
 -----------------------------------------------------------------------
 
-### Options
+== Options
 
 // dataformat options: START
 The Castor dataformat supports 9 options, which are listed below.
@@ -162,7 +162,7 @@ The component supports 10 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Dependencies
+== Dependencies
 
 To use Castor in your camel routes you need to add the a dependency on
 *camel-castor* which implements this data format.
diff --git a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
index 1ffeb7e..1155057 100644
--- a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
+++ b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
@@ -9,7 +9,7 @@
 
 The camel chronicle-engine component let you leverage the power of OpenHFT's Chronicle-Engine
 
-### URI Format
+== URI Format
 
 [source,java]
 ----------------------------
@@ -17,7 +17,7 @@ chronicle-engine:addresses/path[?options]
 ----------------------------
 
 
-### URI Options
+== URI Options
 
 
 // component options: START
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index e8bcc27..e8ca840 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -21,7 +21,7 @@ their `pom.xml` for this component:
 </dependency>
 ---------------------------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ----------------------------
@@ -34,7 +34,7 @@ invoke.
 You can append query options to the URI in the following
 format, `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 // component options: START
@@ -112,7 +112,7 @@ with extensions _.chtml_ or _.cxml. _If you need to specify a different
 folder or extensions, you will need to use the specific options listed
 above.
 
-### Chunk Context
+== Chunk Context
 
 Camel will provide exchange information in the Chunk context (just
 a `Map`). The `Exchange` is transferred as:
@@ -137,7 +137,7 @@ a `Map`). The `Exchange` is transferred as:
 |`response` |The Out message (only for InOut message exchange pattern).
 |=======================================================================
 
-### Dynamic templates
+== Dynamic templates
 
 Camel provides two headers by which you can define a different resource
 location for a template or the template content itself. If any of these
@@ -154,7 +154,7 @@ configured. |
 |ChunkConstants.CHUNK_TEMPLATE |String |The template to use instead of the endpoint configured. |
 |=======================================================================
 
-### Samples
+== Samples
 
 For example you could use something like:
 
@@ -198,7 +198,7 @@ to("chunk:file_example?themeFolder=template&themeSubfolder=subfolder&extension=c
 In this example Chunk component will look for the file
 _file_example.chunk_ in the folder _template/subfolder._
 
-### The Email Sample
+== The Email Sample
 
 In this sample we want to use Chunk templating for an order confirmation
 email. The email template is laid out in Chunk as:
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index e330718..fd29c97 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -9,7 +9,7 @@ http://chemistry.apache.org/java/opencmis.html[Apache Chemistry] client
 API and allows you to add/read nodes to/from a CMIS compliant content
 repositories.
 
-### URI Format
+== URI Format
 
 [source,java]
 ------------------------------
@@ -19,7 +19,7 @@ cmis://cmisServerUrl[?options]
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### CMIS Options
+== CMIS Options
 
 
 // component options: START
@@ -108,9 +108,9 @@ The component supports 3 options, which are listed below.
 
 
 
-### Usage
+== Usage
 
-#### Message headers evaluated by the producer
+=== Message headers evaluated by the producer
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -135,7 +135,7 @@ the node from this cmis property and it is path
 |`cmis:contentStreamMimeType` |`null` |The mimetype to set for a document
 |=======================================================================
 
-#### Message headers set during querying Producer operation
+=== Message headers set during querying Producer operation
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -149,7 +149,7 @@ map is cmis property and its value. If `CamelCMISRetrieveContent` header is set
 entry in the map with key `CamelCMISContent` will contain `InputStream`
 of the document type of nodes.
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-coap/src/main/docs/coap-component.adoc b/components/camel-coap/src/main/docs/coap-component.adoc
index 5f66134..f3fcf70 100644
--- a/components/camel-coap/src/main/docs/coap-component.adoc
+++ b/components/camel-coap/src/main/docs/coap-component.adoc
@@ -39,7 +39,7 @@ for this component:
 </dependency>
 ---------------------------------------------------------
 
-### Options
+== Options
 
 
 // component options: START
@@ -118,7 +118,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,20%,70%",options="header",]
 |=======================================================================
@@ -133,7 +133,7 @@ of what each code means.
 |`CamelCoapUri` |`String` |The URI of a CoAP server to call. Will override any existing URI configured directly on the endpoint.
 |=======================================================================
 
-#### Configuring the CoAP producer request method
+=== Configuring the CoAP producer request method
 
 The following rules determine which request method the CoAP producer will use to invoke the target URI:
 
diff --git a/components/camel-consul/src/main/docs/consul-component.adoc b/components/camel-consul/src/main/docs/consul-component.adoc
index 250fee1..1f9bec2 100644
--- a/components/camel-consul/src/main/docs/consul-component.adoc
+++ b/components/camel-consul/src/main/docs/consul-component.adoc
@@ -18,7 +18,7 @@ for this component:
     </dependency>
 -------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------
@@ -31,7 +31,7 @@ You can append query options to the URI in the following format:
     ?option=value&option=value&...
 ---------------------------------------
 
-### Options
+== Options
 
 
 
@@ -212,7 +212,7 @@ The component supports 90 options, which are listed below.
 
 
 
-### Headers
+== Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
diff --git a/components/camel-context/src/main/docs/context-component.adoc b/components/camel-context/src/main/docs/context-component.adoc
index 9b10436..4f98e0d 100644
--- a/components/camel-context/src/main/docs/context-component.adoc
+++ b/components/camel-context/src/main/docs/context-component.adoc
@@ -27,7 +27,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 --------------------------------------------------
@@ -114,12 +114,12 @@ The component supports 2 options, which are listed below.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Example
+== Example
 
 In this example we'll create a black box context, then we'll use it from
 another CamelContext.
 
-#### Defining the context component
+=== Defining the context component
 
 First you need to create a CamelContext, add some routes in it, start it
 and then register the CamelContext into the Registry
@@ -165,7 +165,7 @@ ID. We can do the same thing in Spring via
 </camelContext>
 --------------------------------------------------------------------------
 
-#### Using the context component
+=== Using the context component
 
 Then in another CamelContext we can then refer to this "accounts black
 box" by just sending to *accounts:purchaseOrder* and consuming from
@@ -196,7 +196,7 @@ middleware (outside of the black box) we can do things like...
 </camelContext>
 --------------------------------------------------------------------------------
 
-#### Naming endpoints
+=== Naming endpoints
 
 A context component instance can have many public input and output
 endpoints that can be accessed from outside it's CamelContext. When
diff --git a/components/camel-corda/src/main/docs/corda-component.adoc b/components/camel-corda/src/main/docs/corda-component.adoc
index f5ac0b4..bb31e2b 100644
--- a/components/camel-corda/src/main/docs/corda-component.adoc
+++ b/components/camel-corda/src/main/docs/corda-component.adoc
@@ -121,7 +121,7 @@ You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -133,7 +133,7 @@ You can append query options to the URI in the following format,
 
 
 
-### Samples
+== Samples
 
 Subscribe for new vault state changes:
 
diff --git a/components/camel-couchbase/src/main/docs/couchbase-component.adoc b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
index e4b3a9f..af5df47 100644
--- a/components/camel-couchbase/src/main/docs/couchbase-component.adoc
+++ b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
@@ -21,14 +21,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------------
 couchbase:url
 -------------------------------------------------
 
-### Options
+== Options
 
 // component options: START
 The Couchbase component has no options.
diff --git a/components/camel-couchdb/src/main/docs/couchdb-component.adoc b/components/camel-couchdb/src/main/docs/couchdb-component.adoc
index 63a5a0d..f994403 100644
--- a/components/camel-couchdb/src/main/docs/couchdb-component.adoc
+++ b/components/camel-couchdb/src/main/docs/couchdb-component.adoc
@@ -33,7 +33,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------------
@@ -43,7 +43,7 @@ couchdb:http://hostname[:port]/database?[options]
 Where *hostname* is the hostname of the running couchdb instance. Port
 is optional and if not specified then defaults to 5984.
 
-### Options
+== Options
 
 // component options: START
 The CouchDB component has no options.
@@ -120,7 +120,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Headers
+== Headers
 
 The following headers are set on exchanges during message transport.
 
@@ -146,7 +146,7 @@ ignored. That means for example, if you set CouchDbId as a header, it
 will not be used as the id for insertion, the id of the document will
 still be used.
 
-### Message Body
+== Message Body
 
 The component will use the message body as the document to be inserted.
 If the body is an instance of String, then it will be marshalled into a
@@ -155,7 +155,7 @@ or the insert / update will fail. If the body is an instance of a
 com.google.gson.JsonElement then it will be inserted as is. Otherwise
 the producer will throw an exception of unsupported body type.
 
-### Samples
+== Samples
 
 For example if you wish to consume all inserts, updates and deletes from
 a CouchDB instance running locally, on port 9999 then you could use the
diff --git a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
index 83f4117..82fb77c 100644
--- a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
+++ b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
@@ -32,7 +32,7 @@ Security.addProvider(new BouncyCastleProvider());
 
 If the Bouncy Castle security provider is not registered then the Crypto CMS component will register the provider.
 
-### Options
+== Options
 
 // component options: START
 The Crypto CMS component supports 3 options, which are listed below.
@@ -122,7 +122,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Enveloped Data
+== Enveloped Data
 
 Note, that a `crypto-cms:encypt` endpoint is typically defined in one route and the complimentary `crypto-cms:decrypt` in another, though for simplicity in the
 examples they appear one after the other.
@@ -232,7 +232,7 @@ from("direct:start")
     </route> 
 ----
 
-### Signed Data
+== Signed Data
 
 Note, that a `crypto-cms:sign` endpoint is typically defined in one route and the complimentary `crypto-cms:verify` in another, though for simplicity in the
 examples they appear one after the other.
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index a6f3b66..2f9f1b2 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -12,7 +12,7 @@ encryption to cyphertext and unmarshalling to mean decryption back to
 the original plaintext. This data format implements only symmetric
 (shared-key) encryption and decyption.
 
-### CryptoDataFormat Options
+== CryptoDataFormat Options
 
 // dataformat options: START
 The Crypto (Java Cryptographic Extension) dataformat supports 10 options, which are listed below.
@@ -95,7 +95,7 @@ The component supports 33 options, which are listed below.
 ND
 
 
-### Basic Usage
+== Basic Usage
 
 At its most basic all that is required to encrypt/decrypt an exchange is a shared secret key.
 If one or more instances of the Crypto data format are configured with this key the format can
@@ -136,7 +136,7 @@ In Spring the dataformat is configured first and then used in routes
 ----------------------------------------------------------
 
 
-### Specifying the Encryption Algorithm
+== Specifying the Encryption Algorithm
 
 Changing the algorithm is a matter of supplying the JCE algorithm name. If you change the algorithm you will need to use a compatible key.
 
@@ -158,7 +158,7 @@ from("direct:hmac-algorithm")
 A list of the available algorithms in Java 7 is available via the Java Cryptography Architecture Standard Algorithm Name Documentation.
 
 
-### Specifying an Initialization Vector
+== Specifying an Initialization Vector
 
 Some crypto algorithms, particularly block algorithms, require configuration with an initial block of data known as an Initialization Vector.
 In the JCE this is passed as an AlgorithmParameterSpec when the Cipher is initialized.
@@ -226,7 +226,7 @@ For more information of the use of Initialization Vectors, consult
 * http://en.wikipedia.org/wiki/Block_cipher_modes_of_operation
 
 
-### Hashed Message Authentication Codes (HMAC)
+== Hashed Message Authentication Codes (HMAC)
 To avoid attacks against the encrypted data while it is in transit the CryptoDataFormat can also calculate a Message Authentication
 Code for the encrypted exchange contents based on a configurable MAC algorithm. The calculated HMAC is appended to the stream after encryption.
 It is separated from the stream in the decryption phase. The MAC is recalculated and verified against the transmitted version to insure nothing
@@ -279,7 +279,7 @@ or with spring.
 ----------------------------------------------------------
 
 
-### Supplying Keys Dynamically
+== Supplying Keys Dynamically
 
 When using a Recipient list or similar EIP the recipient of an exchange can vary dynamically.
 Using the same key across all recipients may neither be feasible or desirable. It would be useful to be able to specify
@@ -320,7 +320,7 @@ or with spring.
 ----------------------------------------------------------
 
 
-### Dependencies
+== Dependencies
 
 To use the <<crypto-component,Crypto>> dataformat in your camel routes you
 need to add the following dependency to your pom.
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index 6518497..a10bd61 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -12,7 +12,7 @@ encryption to cyphertext and unmarshalling to mean decryption back to
 the original plaintext. This data format implements only symmetric
 (shared-key) encryption and decyption.
 
-### PGPDataFormat Options
+== PGPDataFormat Options
 
 // dataformat options: START
 The PGP dataformat supports 15 options, which are listed below.
@@ -40,7 +40,7 @@ The PGP dataformat supports 15 options, which are listed below.
 |===
 // dataformat options: END
 
-### PGPDataFormat Message Headers
+== PGPDataFormat Message Headers
 
 You can override the PGPDataFormat options by applying below headers
 into message dynamically.
@@ -95,7 +95,7 @@ symmectric key, set by PGPDataFormat during encryptiion process
 signatures, set by PGPDataFormat during signing process
 |=======================================================================
 
-### Encrypting with PGPDataFormat
+== Encrypting with PGPDataFormat
 
 The following sample uses the popular PGP format for
 encrypting/decrypting files using the
@@ -107,7 +107,7 @@ encryption, but you can obviously use different keys:
 
 Or using Spring:
 
-#### To work with the previous example you need the following
+=== To work with the previous example you need the following
 
 * A public keyring file which contains the public keys used to encrypt
 the data
@@ -115,7 +115,7 @@ the data
 data
 * The keyring password
 
-#### Managing your keyring
+=== Managing your keyring
 
 To manage the keyring, I use the command line tools, I find this to be
 the simplest approach in managing the keys. There are also Java
@@ -150,7 +150,7 @@ ls -l ~/.gnupg/pubring.gpg ~/.gnupg/secring.gpg
 
 [[Crypto-PGPDecrypting/VerifyingofMessagesEncrypted/SignedbyDifferentPrivate/PublicKeys]]
 PGP Decrypting/Verifying of Messages Encrypted/Signed by Different
-### Private/Public Keys
+== Private/Public Keys
 
 Since *Camel 2.12.2*.
 
@@ -195,7 +195,7 @@ same mechanism is also used to locate the public key for verifying a
 signature. Therefore you no longer must specify User IDs for the
 unmarshaling.
 
-### Restricting the Signer Identities during PGP Signature Verification
+== Restricting the Signer Identities during PGP Signature Verification
 
 Since *Camel 2.12.3.*
 
@@ -232,7 +232,7 @@ successful as soon as one signature can be verified.
 then do not specify the signature key User IDs. In this case all public
 keys in the public keyring are taken into account.
 
-### Several Signatures in One PGP Data Format
+== Several Signatures in One PGP Data Format
 
 Since *Camel 2.12.3.*
 
@@ -262,7 +262,7 @@ from("direct:start")
         ...      
 -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Support of Sub-Keys and Key Flags in PGP Data Format Marshaler
+== Support of Sub-Keys and Key Flags in PGP Data Format Marshaler
 
 Since *Camel 2.12.3. +
 *An https://tools.ietf.org/html/rfc4880#section-12.1[OpenPGP V4 key] can
@@ -277,7 +277,7 @@ these Key Flags of the primary key and sub-keys in order to determine
 the right key for signing and encryption. This is necessary because the
 primary key and its sub-keys have the same User IDs.
 
-### Support of Custom Key Accessors
+== Support of Custom Key Accessors
 
 Since *Camel 2.13.0. +
 *You can implement custom key accessors for encryption/signing. The
@@ -301,7 +301,7 @@ PGPKeyAccessDataFormat has the same options as PGPDataFormat except
 password, keyFileName, encryptionKeyRing, signaturePassword,
 signatureKeyFileName, and signatureKeyRing.
 
-### Dependencies
+== Dependencies
 
 To use the PGP dataformat in your camel routes you
 need to add the following dependency to your pom.
diff --git a/components/camel-csv/src/main/docs/csv-dataformat.adoc b/components/camel-csv/src/main/docs/csv-dataformat.adoc
index ada72e2..c59ac90 100644
--- a/components/camel-csv/src/main/docs/csv-dataformat.adoc
+++ b/components/camel-csv/src/main/docs/csv-dataformat.adoc
@@ -10,7 +10,7 @@ handle CSV payloads (Comma Separated Values) such as those
 exported/imported by Excel.
 
 
-### Options
+== Options
 
 // dataformat options: START
 The CSV dataformat supports 28 options, which are listed below.
@@ -108,7 +108,7 @@ ND
 
 
 
-### Marshalling a Map to CSV
+== Marshalling a Map to CSV
 
 The component allows you to marshal a Java Map (or any other message
 type that can be converted in a Map) into a
@@ -152,7 +152,7 @@ then it will produce
 abc,123
 ----
 
-### Unmarshalling a CSV message into a Java List
+== Unmarshalling a CSV message into a Java List
 
 Unmarshalling will transform a CSV messsage into a Java List with CSV
 file lines (containing another List with all the field values).
@@ -188,7 +188,7 @@ for (List<String> line : data) {
 }
 --------------------------------------------------------------------------------------------------------------
 
-### Marshalling a List<Map> to CSV
+== Marshalling a List<Map> to CSV
 
 *Available as of Camel 2.1*
 
@@ -197,7 +197,7 @@ format you can now store the message payload as a
 `List<Map<String, Object>>` object where the list contains a Map for
 each row.
 
-### File Poller of CSV, then unmarshaling
+== File Poller of CSV, then unmarshaling
 
 Given a bean which can handle the incoming data...
 
@@ -224,7 +224,7 @@ public void doHandleCsvData(List<List<String>> csvData)
 </route>
 ------------------------------------------------------------------------------------------------
 
-### Marshaling with a pipe as delimiter
+== Marshaling with a pipe as delimiter
 Considering the following body
 
 [source,java]
@@ -273,7 +273,7 @@ abc|123
 
 [[CSV-UsingautogenColumns,configRefandstrategyRefattributesinsideXMLDSL]]
 Using autogenColumns, configRef and strategyRef attributes inside XML
-### DSL
+== DSL
 
 *Available as of Camel 2.9.2 / 2.10 and deleted for Camel 2.15*
 
@@ -312,7 +312,7 @@ should illustrate this customization.
 </bean>
 -----------------------------------------------------------------------------------------------------------------------------
 
-### Using skipFirstLine option while unmarshaling
+== Using skipFirstLine option while unmarshaling
 
 *Available as of Camel 2.10 and deleted for Camel 2.15*
 
@@ -342,7 +342,7 @@ from("direct:start")
 .to("bean:myCsvHandler?method=doHandleCsv");
 --------------------------------------------
 
-### Unmarshaling with a pipe as delimiter
+== Unmarshaling with a pipe as delimiter
 
 Using the Spring/XML DSL:
 
@@ -405,7 +405,7 @@ csvConfig.setDelimiter(';');
 
 doesn't work. You have to set the delimiter as a String!
 
-### Dependencies
+== Dependencies
 
 To use CSV in your Camel routes you need to add a dependency on
 *camel-csv*, which implements this data format.
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index 2c18682..8b0b8cb 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -77,7 +77,7 @@ for this component:
 ------------------------------------------------------------
 
 
-### URI format
+== URI format
 There are two URI formats for this endpoint: *cxfEndpoint* and *someAddress*.
 
 [source,java]
@@ -105,7 +105,7 @@ For either style above, you can append options to the URI as follows:
 cxf:bean:cxfEndpoint?wsdlURL=wsdl/hello_world.wsdl&dataFormat=PAYLOAD
 ---------------------------------------------------------------------
 
-### Options
+== Options
 
 
 
@@ -228,7 +228,7 @@ http://en.wikipedia.org/wiki/QName[QNames], so if you provide them be
 sure to prefix them with their \{namespace} as shown in the examples
 above.
 
-#### Descriptions of the dataformats
+=== Descriptions of the dataformats
 In Apache Camel, the Camel CXF component is the key to integrating routes with Web services. You can use the Camel CXF component to create a CXF endpoint, which can be used in either of the following ways:
 
 * *Consumer* — (at the start of a route) represents a Web service instance, which integrates with the route. The type of payload injected into the route depends on the value of the endpoint's dataFormat option.
@@ -290,7 +290,7 @@ following is an example.
 </cxf:cxfEndpoint>
 -------------------------------------------------------------------------------------------------------
 
-#### Description of relayHeaders option
+=== Description of relayHeaders option
 
 There are _in-band_ and _out-of-band_ on-the-wire headers from the
 perspective of a JAXWS WSDL-first developer.
@@ -433,7 +433,7 @@ value is `false`, it will throw an exception
  _Default_: `false`
 |=======================================================================
 
-### Configure the CXF endpoints with Spring
+== Configure the CXF endpoints with Spring
 
 You can configure the CXF endpoint with the Spring configuration file
 shown below, and you can also embed the endpoint into the `camelContext`
@@ -563,7 +563,7 @@ and setDefaultBus properties from spring configuration file.
    </cxf:cxfEndpoint>
 -------------------------------------------------------------------------
 
-### Configuring the CXF Endpoints with Apache Aries Blueprint
+== Configuring the CXF Endpoints with Apache Aries Blueprint
 
 Since Camel 2.8 there is support for utilizing aries blueprint
 dependency injection for your CXF endpoints. 
@@ -639,7 +639,7 @@ You can also use the bean references just as in spring
 </blueprint>
 ----------------------------------------------------------------------------------------------------------------
 
-### How to make the camel-cxf component use log4j instead of java.util.logging
+== How to make the camel-cxf component use log4j instead of java.util.logging
 
 CXF's default logger is `java.util.logging`. If you want to change it to
 log4j, proceed as follows. Create a file, in the classpath, named
@@ -648,7 +648,7 @@ fully-qualified name of the class,
 `org.apache.cxf.common.logging.Log4jLogger`, with no comments, on a
 single line.
 
-### How to let camel-cxf response message with xml start document
+== How to let camel-cxf response message with xml start document
 
 If you are using some SOAP client such as PHP, you will get this kind of
 error, because CXF doesn't add the XML start document "<?xml
@@ -676,7 +676,7 @@ Or adding a message header for it like this if you are using *Camel
  exchange.getOut().setHeader(Client.RESPONSE_CONTEXT, map);
 -------------------------------------------------------------------
 
-### How to override the CXF producer address from message header
+== How to override the CXF producer address from message header
 
 The `camel-cxf` producer supports to override the services address by
 setting the message with the key of "CamelDestinationOverrideUrl".
@@ -687,7 +687,7 @@ setting the message with the key of "CamelDestinationOverrideUrl".
  exchange.getIn().setHeader(Exchange.DESTINATION_OVERRIDE_URL, constant(getServiceAddress()));
 ----------------------------------------------------------------------------------------------
 
-### How to consume a message from a camel-cxf endpoint in POJO data format
+== How to consume a message from a camel-cxf endpoint in POJO data format
 
 The `camel-cxf` endpoint consumer POJO data format is based on the
 http://cxf.apache.org/docs/invokers.html[CXF invoker], so the
@@ -695,7 +695,7 @@ message header has a property with the name of
 `CxfConstants.OPERATION_NAME` and the message body is a list of the SEI
 method parameters.
 
-### How to prepare the message for the camel-cxf endpoint in POJO data format
+== How to prepare the message for the camel-cxf endpoint in POJO data format
 
 The `camel-cxf` endpoint producer is based on the
 https://github.com/apache/cxf/blob/master/core/src/main/java/org/apache/cxf/endpoint/Client.java[CXF
@@ -713,7 +713,7 @@ list.
 If you want to get the object array from the message body, you can get
 the body using `message.getbody(Object[].class)`, as follows:
 
-### How to deal with the message for a camel-cxf endpoint in PAYLOAD data format
+== How to deal with the message for a camel-cxf endpoint in PAYLOAD data format
 
 `PAYLOAD` means that you process the payload message from the SOAP
 envelope. You can use the `Header.HEADER_LIST` as the key to set or get
@@ -724,7 +724,7 @@ elements.
 for SOAP message headers and Body elements. This change enables
 decoupling the native CXF message from the Camel message.
 
-### How to get and set SOAP headers in POJO mode
+== How to get and set SOAP headers in POJO mode
 
 `POJO` means that the data format is a "list of Java objects" when the
 Camel-cxf endpoint produces or consumes Camel exchanges. Even though
@@ -753,7 +753,7 @@ InsertResponseOutHeaderProcessor and InsertRequestOutHeaderProcessor are
 actually the same. The only difference between the two processors is
 setting the direction of the inserted SOAP header.
 
-### How to get and set SOAP headers in PAYLOAD mode
+== How to get and set SOAP headers in PAYLOAD mode
 
 We've already shown how to access SOAP message (CxfPayload object) in
 PAYLOAD mode (See "How to deal with the message for a camel-cxf endpoint
@@ -774,12 +774,12 @@ forwarded to the CXF service. If you do not want that these headers are
 forwarded you have to remove them in the Camel header
 "org.apache.cxf.headers.Header.list".
 
-### SOAP headers are not available in MESSAGE mode
+== SOAP headers are not available in MESSAGE mode
 
 SOAP headers are not available in MESSAGE mode as SOAP processing is
 skipped.
 
-### How to throw a SOAP Fault from Camel
+== How to throw a SOAP Fault from Camel
 
 If you are using a `camel-cxf` endpoint to consume the SOAP request, you
 may need to throw the SOAP Fault from the camel context. +
@@ -796,7 +796,7 @@ code in the message header.
 Same for using POJO data format. You can set the SOAPFault on the out
 body and also indicate it's a fault by calling Message.setFault(true):
 
-### How to propagate a camel-cxf endpoint's request and response context
+== How to propagate a camel-cxf endpoint's request and response context
 
 https://github.com/apache/cxf/blob/master/core/src/main/java/org/apache/cxf/endpoint/Client.java[CXF
 client API] provides a way to invoke the operation with request and
@@ -829,7 +829,7 @@ response context with the following code:
                       responseContext.get("javax.xml.ws.wsdl.operation").toString());
 -------------------------------------------------------------------------------------------------------------
 
-### Attachment Support
+== Attachment Support
 
 *POJO Mode:* Both SOAP with Attachment and MTOM are supported (see
 example in Payload Mode for enabling MTOM).  However, SOAP with
@@ -870,7 +870,7 @@ you require just the SOAP XML as a String, you can set the message body
 with message.getSOAPPart(), and Camel convert can do the rest of work
 for you.
 
-### Streaming Support in PAYLOAD mode
+== Streaming Support in PAYLOAD mode
 
 In Camel 2.8.2, the camel-cxf component now supports streaming of incoming
 messages when using PAYLOAD mode. Previously, the incoming messages
@@ -902,7 +902,7 @@ Global system property: you can add a system property of
 That sets the global default, but setting the endpoint property above
 will override this value for that endpoint.
 
-### Using the generic CXF Dispatch mode
+== Using the generic CXF Dispatch mode
 
 From Camel 2.8.0, the camel-cxf component supports the generic
 https://cxf.apache.org/docs/jax-ws-dispatch-api.html[CXF dispatch
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index 0df1b0f..e82a112 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -27,7 +27,7 @@ for this component:
 </dependency>
 -------------------------------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------
@@ -51,7 +51,7 @@ For either style above, you can append options to the URI as follows:
 cxfrs:bean:cxfEndpoint?resourceClasses=org.apache.camel.rs.Example
 ------------------------------------------------------------------
 
-### Options
+== Options
 
 
 
@@ -170,7 +170,7 @@ https://github.com/apache/camel/blob/master/components/camel-cxf/src/main/resour
 file] and http://cxf.apache.org/docs/jax-rs.html[CXF JAX-RS
 documentation] for more information.
 
-### How to configure the REST endpoint in Camel
+== How to configure the REST endpoint in Camel
 
 In
 https://github.com/apache/camel/blob/master/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd[camel-cxf
@@ -178,7 +178,7 @@ schema file], there are two elements for the REST endpoint definition.
 *cxf:rsServer* for REST consumer, *cxf:rsClient* for REST producer. +
  You can find a Camel REST service route configuration example here.
 
-### How to override the CXF producer address from message header
+== How to override the CXF producer address from message header
 
 The `camel-cxfrs` producer supports to override the services address by
 setting the message with the key of "CamelDestinationOverrideUrl".
@@ -189,7 +189,7 @@ setting the message with the key of "CamelDestinationOverrideUrl".
  exchange.getIn().setHeader(Exchange.DESTINATION_OVERRIDE_URL, constant(getServiceAddress()));
 ----------------------------------------------------------------------------------------------
 
-### Consuming a REST Request - Simple Binding Style
+== Consuming a REST Request - Simple Binding Style
 
 *Available as of Camel 2.11*
 
@@ -227,7 +227,7 @@ respected and it becomes the final response.
 * In all cases, Camel headers permitted by custom or default
 `HeaderFilterStrategy` are added to the HTTP response.
 
-#### Enabling the Simple Binding Style
+=== Enabling the Simple Binding Style
 
 This binding style can be activated by setting the `bindingStyle`
 parameter in the consumer endpoint to value `SimpleConsumer`:
@@ -238,7 +238,7 @@ parameter in the consumer endpoint to value `SimpleConsumer`:
     .to("log:TEST?showAll=true");
 ---------------------------------------------------------
 
-#### Examples of request binding with different method signatures
+=== Examples of request binding with different method signatures
 
 Below is a list of method signatures along with the expected result from
 the Simple binding.
@@ -270,7 +270,7 @@ as the IN message body.
  The DataHandler is unwrapped from the MessageContentsList and preserved
 as the IN message body.
 
-#### More examples of the Simple Binding Style
+=== More examples of the Simple Binding Style
 
 Given a JAX-RS resource class with this method:
 
@@ -319,7 +319,7 @@ For more examples on how to process requests and write responses can be
 found
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/test/java/org/apache/camel/component/cxf/jaxrs/simplebinding/[here].
 
-### Consuming a REST Request - Default Binding Style
+== Consuming a REST Request - Default Binding Style
 
 The http://cxf.apache.org/docs/jax-rs.html[CXF JAXRS front end]
 implements the https://javaee.github.io/jsr311/[JAX-RS (JSR-311) API], so we can
@@ -411,7 +411,7 @@ public interface CustomerServiceResource {
 }
 ----
 
-### How to invoke the REST service through camel-cxfrs producer
+== How to invoke the REST service through camel-cxfrs producer
 
 The http://cxf.apache.org/docs/jax-rs.html[CXF JAXRS front end]
 implements
diff --git a/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc b/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
index ac42ae3..51fa577 100644
--- a/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
+++ b/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
@@ -6,11 +6,11 @@
 
 The **DigitalOcean** component allows you to manage Droplets and resources within the DigitalOcean cloud with **Camel** by encapsulating [digitalocean-api-java](https://www.digitalocean.com/community/projects/api-client-in-java). All of the functionality that you are familiar with in the DigitalOcean control panel is also available through this Camel component.
 
-### Prerequisites
+== Prerequisites
 
 You must have a valid DigitalOcean account and a valid OAuth token. You can generate an OAuth token by visiting the [Apps & API](https://cloud.digitalocean.com/settings/applications) section of the DigitalOcean control panel for your account.
 
-### URI format
+== URI format
 
 The **DigitalOcean Component** uses the following URI format:
 
@@ -28,7 +28,7 @@ digitalocean://droplets?operation=list&oAuthToken=XXXXXX&page=1&perPage=10
 The DigitalOcean component only supports producer endpoints so you cannot use this component at the beginning of a route to listen to messages in a channel.
 
 
-### Options
+== Options
 
 
 // component options: START
@@ -109,24 +109,24 @@ All **operation** values are defined in `DigitalOceanOperations` enumeration.
 All **header** names used by the component are defined in `DigitalOceanHeaders` enumeration.
 
 
-### Message body result
+== Message body result
 
 All message bodies returned are using objects provided by the **digitalocean-api-java** library.
 
 
-### API Rate Limits
+== API Rate Limits
 
 DigitalOcean REST API encapsulated by camel-digitalocean component is subjected to API Rate Limiting. You can find the per method limits in the [API Rate Limits documentation](https://developers.digitalocean.com/documentation/v2/#rate-limit).
 
 
-### Account endpoint
+== Account endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
 | `get` | get account info |  | `com.myjeeva.digitalocean.pojo.Account`  |
 
 
-### BlockStorages endpoint
+== BlockStorages endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -144,7 +144,7 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `resize` | resize a Block Storage volume | `CamelDigitalOceanVolumeSizeGigabytes`  _Integer_<br>`CamelDigitalOceanRegion` _String_| `com.myjeeva.digitalocean.pojo.Action`  |
 | `listActions` | retrieve all actions that have been executed on a volume | `CamelDigitalOceanId`  _Integer_| `List<com.myjeeva.digitalocean.pojo.Action>`  |
 
-### Droplets endpoint
+== Droplets endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -178,7 +178,7 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `listNeighbors` |  retrieve a list of droplets that are running on the same physical server | `CamelDigitalOceanId` _Integer_ | `List<com.myjeeva.digitalocean.pojo.Droplet>`  |
 | `listAllNeighbors` |  retrieve a list of any droplets that are running on the same physical hardware | | `List<com.myjeeva.digitalocean.pojo.Droplet>`  |
 
-### Images endpoint
+== Images endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -192,7 +192,7 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `transfer` | transfer an image to another region| `CamelDigitalOceanId` _Integer_ <br>`CamelDigitalOceanRegion` _String_| `com.myjeeva.digitalocean.pojo.Action`  |
 | `convert` | convert an image, for example, a backup to a snapshot| `CamelDigitalOceanId` _Integer_ | `com.myjeeva.digitalocean.pojo.Action`  |
 
-### Snapshots endpoint
+== Snapshots endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -201,7 +201,7 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `delete` | delete an snapshot| `CamelDigitalOceanId` _Integer_ | `com.myjeeva.digitalocean.pojo.Delete`  |
 
 
-### Keys endpoint
+== Keys endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -213,20 +213,20 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `delete` | delete a key by id| `CamelDigitalOceanId` _Integer_ | `com.myjeeva.digitalocean.pojo.Delete`  |
 | `delete` | delete a key by fingerprint| `CamelDigitalOceanKeyFingerprint` _String_ | `com.myjeeva.digitalocean.pojo.Delete`  |
 
-### Regions endpoint
+== Regions endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
 | `list` |  list all of the regions that are available | | `List<com.myjeeva.digitalocean.pojo.Region>`  |
 
 
-### Sizes endpoint
+== Sizes endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
 | `list` |  list all of the sizes that are available | | `List<com.myjeeva.digitalocean.pojo.Size>`  |
 
-### Floating IPs endpoint
+== Floating IPs endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -239,7 +239,7 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `unassign` | unassign a Floating IP | `CamelDigitalOceanFloatingIPAddress` _String_ | `com.myjeeva.digitalocean.pojo.Action`  |
 | `listActions` |  retrieve all actions that have been executed on a Floating IP | `CamelDigitalOceanFloatingIPAddress` _String_ | `List<com.myjeeva.digitalocean.pojo.Action>`  |
 
-### Tags endpoint
+== Tags endpoint
 
 | operation | Description | Headers | Result |
 | ------ | ---- | ------- | ----------- |
@@ -250,7 +250,7 @@ DigitalOcean REST API encapsulated by camel-digitalocean component is subjected
 | `update` |  update a tag | `CamelDigitalOceanName` _String_ <br>`CamelDigitalOceanNewName` _String_| `com.myjeeva.digitalocean.pojo.Tag`  |
 
 
-### Examples
+== Examples
 
 Get your account info
 
diff --git a/components/camel-docker/src/main/docs/docker-component.adoc b/components/camel-docker/src/main/docs/docker-component.adoc
index ce14b1e..275a891 100644
--- a/components/camel-docker/src/main/docs/docker-component.adoc
+++ b/components/camel-docker/src/main/docs/docker-component.adoc
@@ -12,7 +12,7 @@ https://docs.docker.com/reference/api/docker_remote_api[Docker Remote
 API].
 
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------
@@ -21,7 +21,7 @@ docker://[operation]?[options]
 
 Where *operation* is the specific action to perform on Docker.
 
-### General Options
+== General Options
 
 // component options: START
 The Docker component supports 2 options, which are listed below.
@@ -131,7 +131,7 @@ The component supports 20 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Header Strategy
+== Header Strategy
 
 All URI option can be passed as Header properties. Values found in a
 message header take precedence over URI parameters. A header property
@@ -146,7 +146,7 @@ below
 |=======================================================================
 
 
-### Examples
+== Examples
 
 The following example consumes events from Docker:
 
@@ -163,7 +163,7 @@ from("docker://info?host=192.168.59.103&port=2375").to("log:info");
 -------------------------------------------------------------------
 
 
-### Dependencies
+== Dependencies
 
 To use Docker in your Camel routes you need to add a dependency on
 *camel-docker*, which implements the component.
diff --git a/components/camel-dozer/src/main/docs/dozer-component.adoc b/components/camel-dozer/src/main/docs/dozer-component.adoc
index 8cfad56..e78a70a 100644
--- a/components/camel-dozer/src/main/docs/dozer-component.adoc
+++ b/components/camel-dozer/src/main/docs/dozer-component.adoc
@@ -34,7 +34,7 @@ following dependency to their `pom.xml`:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 The Dozer component only supports producer endpoints.
 
@@ -55,7 +55,7 @@ from("direct:orderInput").
   to("direct:orderOutput");
 ---------------------------------------------------------------------------------------
 
-### Options
+== Options
 
 // component options: START
 The Dozer component has no options.
@@ -124,7 +124,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Using Data Formats with Dozer
+== Using Data Formats with Dozer
 
 Dozer does not support non-Java sources and targets for mappings, so it
 cannot, for example, map an XML document to a Java object on its own.
@@ -158,7 +158,7 @@ using a JAXB data format and marshal the mapping output using Jackson.
 <endpoint uri="dozer:xml2json?marshalId=myjson&amp;unmarshalId=myjaxb&amp;targetModel=org.example.Order"/>
 ----------------------------------------------------------------------------------------------------------
 
-### Configuring Dozer
+== Configuring Dozer
 
 All Dozer endpoints require a Dozer mapping configuration file which
 defines mappings between source and target objects.  The component will
@@ -181,13 +181,13 @@ of `org.apache.camel.converter.dozer.DozerBeanMapperConfiguration`.
 </bean>
 ------------------------------------------------------------------------------------------
 
-### Mapping Extensions
+== Mapping Extensions
 
 The Dozer component implements a number of extensions to the Dozer
 mapping framework as custom converters.  These converters implement
 mapping functions that are not supported directly by Dozer itself.
 
-#### Variable Mappings
+=== Variable Mappings
 
 Variable mappings allow you to map the value of a variable definition
 within a Dozer configuration into a target field instead of using the
@@ -218,7 +218,7 @@ class into your target field of choice:
 </mappings>
 --------------------------------------------------------------------------------------------------------
 
-#### Custom Mappings
+=== Custom Mappings
 
 Custom mappings allow you to define your own logic for how a source
 field is mapped to a target field.  They are similar in function to
@@ -269,7 +269,7 @@ public class CustomMapper {
 </mappings>
 --------------------------------------------------------------------------------------------------------
 
-#### Expression Mappings
+=== Expression Mappings
 
 Expression mappings allow you to use the powerful
 http://camel.apache.org/languages.html[language] capabilities of Camel
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index 35905ca..513ebba 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 --------------------------------
@@ -31,11 +31,11 @@ drill://host[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Drill Producer 
+== Drill Producer 
 
 The producer execute query using *CamelDrillQuery* header and put results into body.
 
-### Options
+== Options
 
 // component options: START
 The Drill component has no options.
diff --git a/components/camel-eclipse/src/main/docs/eclipse.adoc b/components/camel-eclipse/src/main/docs/eclipse.adoc
index 765d7a2..2a0c149 100644
--- a/components/camel-eclipse/src/main/docs/eclipse.adoc
+++ b/components/camel-eclipse/src/main/docs/eclipse.adoc
@@ -1,4 +1,4 @@
-## Eclipse Component
+= Eclipse Component
 
 *Available as of Camel 2.3*
 
@@ -12,7 +12,7 @@ The resolver is provided in the class
 `org.apache.camel.component.eclipse.EclipsePackageScanClassResolver` in
 the `camel-eclipse` jar file.
 
-### Using with Java DSL
+== Using with Java DSL
 
 You need to configure the resolver on the
 CamelContext which is done like this:
@@ -25,7 +25,7 @@ CamelContext which is done like this:
   context.setPackageScanClassResolver(eclipseResolver);
 -----------------------------------------------------------------------------------
 
-### Using with Spring XML
+== Using with Spring XML
 
 When using Spring XML its just a matter of defining a spring bean with
 the Eclipse class resolver as shown:
@@ -42,7 +42,7 @@ the Eclipse class resolver as shown:
   </camelContext>
 ----------------------------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml
 for this component:
diff --git a/components/camel-ehcache/src/main/docs/ehcache-component.adoc b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
index db19f77..887da54 100644
--- a/components/camel-ehcache/src/main/docs/ehcache-component.adoc
+++ b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
@@ -25,7 +25,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -35,7 +35,7 @@ ehcache://cacheName[?options]
 You can append query options to the URI in the following
 format, `?option=value&option=#beanRef&...`
 
-### Options
+== Options
 
 
 // component options: START
@@ -155,7 +155,7 @@ The component supports 25 options, which are listed below.
 
 
 
-#### Message Headers Camel 
+=== Message Headers Camel 
 
  
 [width="100%",cols="10%,10%,80%",options="header",]
@@ -194,7 +194,7 @@ Object used for comparison for actions like REPLACE
 |CamelEhcacheEventType |EventType |The type of event received
 |=======================================================================
 
-### Ehcache based idempotent repository example:
+== Ehcache based idempotent repository example:
 
 [source,java]
 ------------------------------------------------------------------------------------------------
@@ -208,7 +208,7 @@ from("direct:in")
 
  
 
-### Ehcache based aggregation repository example:
+== Ehcache based aggregation repository example:
 
 [source,java]
 ---------------------------------------------------------------------------------------------------------------------------------
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index 79c6b3a..e453d3e 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------
@@ -32,7 +32,7 @@ ejb:ejbName[?options]
 Where *ejbName* can be any string which is used to look up the EJB in
 the Application Server JNDI Registry
 
-### Options
+== Options
 
 
 
@@ -88,7 +88,7 @@ with the following path and query parameters:
 // endpoint options: END
 
 
-### Bean Binding
+== Bean Binding
 
 How bean methods to be invoked are chosen (if they are not specified
 explicitly through the *method* parameter) and how parameter values are
@@ -97,7 +97,7 @@ Bean Binding mechanism which is used throughout
 all of the various Bean Integration
 mechanisms in Camel.
 
-### Examples
+== Examples
 
 In the following examples we use the Greater EJB which is defined as
 follows:
@@ -135,7 +135,7 @@ public class GreaterImpl implements GreaterLocal {
 }
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Using Java DSL
+=== Using Java DSL
 
 In this example we want to invoke the `hello` method on the EJB. Since
 this example is based on an unit test using Apache OpenEJB we have to
@@ -183,7 +183,7 @@ usually allows it to access the JNDI registry and lookup the
 <<ejb-component,EJB>>s. However if you need to access a application server on a remote JVM or
 the likes, you have to prepare the properties beforehand.
 
-#### Using Spring XML
+=== Using Spring XML
 
 And this is the same example using Spring XML instead:
 
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index 5702926..3eb9049 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------
@@ -28,7 +28,7 @@ elasticsearch://clusterName[?options]
 -------------------------------------
 
 
-### Endpoint Options
+== Endpoint Options
 
 
 
@@ -117,7 +117,7 @@ The component supports 3 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Local testing
+== Local testing
 
 If you want to run against a local (in JVM/classloader) ElasticSearch
 server, just set the clusterName value in the URI to "local". See the
@@ -125,7 +125,7 @@ http://www.elasticsearch.org/guide/reference/java-api/client.html[client
 guide] for more details.
 
 
-### Message Operations
+== Message Operations
 
 The following ElasticSearch operations are currently supported. Simply
 set an endpoint URI option or exchange header with a key of "operation"
@@ -167,7 +167,7 @@ returns a MultiSearchResponse object in the body
 indexId in the body.
 |=======================================================================
 
-### Index Example
+== Index Example
 
 Below is a simple INDEX example
 
@@ -195,7 +195,7 @@ map.put("content", "test");
 String indexId = template.requestBody("direct:index", map, String.class);
 -------------------------------------------------------------------------
 
-### For more information, see these resources
+== For more information, see these resources
 
 http://elasticsearch.org[ElasticSearch Main Site]
 
diff --git a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
index 41f1407..42a897b 100644
--- a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
+++ b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------
@@ -28,7 +28,7 @@ elasticsearch5://clusterName[?options]
 -------------------------------------
 
 
-### Endpoint Options
+== Endpoint Options
 
 
 
@@ -123,7 +123,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### Message Operations
+== Message Operations
 
 The following ElasticSearch operations are currently supported. Simply
 set an endpoint URI option or exchange header with a key of "operation"
@@ -168,7 +168,7 @@ returns a MultiSearchResponse object in the body
 indexId in the body.
 |=======================================================================
 
-### Index Example
+== Index Example
 
 Below is a simple INDEX example
 
@@ -196,7 +196,7 @@ map.put("content", "test");
 String indexId = template.requestBody("direct:index", map, String.class);
 -------------------------------------------------------------------------
 
-### For more information, see these resources
+== For more information, see these resources
 
 http://www.elastic.co[Elastic Main Site]
 
diff --git a/components/camel-etcd/src/main/docs/etcd-component.adoc b/components/camel-etcd/src/main/docs/etcd-component.adoc
index 3a97638..d923778 100644
--- a/components/camel-etcd/src/main/docs/etcd-component.adoc
+++ b/components/camel-etcd/src/main/docs/etcd-component.adoc
@@ -6,14 +6,14 @@
 
 The camel etcd component allows you to work with Etcd, a distributed reliable key-value store.
 
-### URI Format
+== URI Format
 
 [source,java]
 ----------------------------
 etcd:namespace/path[?options]
 ----------------------------
 
-### URI Options
+== URI Options
 
 // component options: START
 The etcd component supports 7 options, which are listed below.
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
index 5ebbce2..42abb53 100644
--- a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
+++ b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
@@ -7,7 +7,7 @@
 The `eventadmin` component can be used in an OSGi environment to receive
 OSGi EventAdmin events and process them.
 
-### Dependencies
+== Dependencies
 
 Maven users need to add the following dependency to their `pom.xml`
 
@@ -23,7 +23,7 @@ Maven users need to add the following dependency to their `pom.xml`
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.6.0 or higher).
 
-### URI format
+== URI format
 
 [source,xml]
 --------------------------
@@ -32,7 +32,7 @@ eventadmin:topic[?options]
 
 where `topic` is the name of the topic to listen too.
 
-### URI options
+== URI options
 
 // component options: START
 The OSGi EventAdmin component supports 2 options, which are listed below.
@@ -80,7 +80,7 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 
-### Message headers
+== Message headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -88,11 +88,11 @@ with the following path and query parameters:
 | | |
 |=======================================================================
 
-### Message body
+== Message body
 
 The `in` message body will be set to the received Event.
 
-### Example usage
+== Example usage
 
 [source,xml]
 ------------------------------
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index 652640c..09d893a 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -6,7 +6,7 @@
 
 The `exec` component can be used to execute system commands.
 
-### Dependencies
+== Dependencies
 
 Maven users need to add the following dependency to their `pom.xml`
 
@@ -22,7 +22,7 @@ Maven users need to add the following dependency to their `pom.xml`
 where `${camel-version`} must be replaced by the actual version of Camel
 (2.3.0 or higher).
 
-### URI format
+== URI format
 
 [source,xml]
 ---------------------------
@@ -33,7 +33,7 @@ where `executable` is the name, or file path, of the system command that
 will be executed. If executable name is used (e.g. `exec:java`), the
 executable must in the system path.
 
-### URI options
+== URI options
 
 // component options: START
 The Exec component has no options.
@@ -103,7 +103,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Message headers
+== Message headers
 
 The supported headers are defined in
 `org.apache.camel.component.exec.ExecBinding`.
@@ -145,7 +145,7 @@ Camel Message Body with `stderr`. This behavior is disabled (`false`) by
 default.
 |=======================================================================
 
-### Message body
+== Message body
 
 If the `Exec` component receives an `in` message body that is
 convertible to `java.io.InputStream`, it is used to feed input to the
@@ -176,9 +176,9 @@ will return the content of the out file. If no out file is used, then
 this component will convert the stdout of the process to the target
 type. For more details, please refer to the <<exec-component,usage examples>> below.
 
-### Usage examples
+== Usage examples
 
-#### Executing word count (Linux)
+=== Executing word count (Linux)
 
 The example below executes `wc` (word count, Linux) to count the words
 in file `/usr/share/dict/words`. The word count (output) is written to
@@ -200,7 +200,7 @@ from("direct:exec")
 });
 --------------------------------------------------------------------------------------
 
-#### Executing `java`
+=== Executing `java`
 
 The example below executes `java` with 2 arguments: `-server` and
 `-version`, provided that `java` is in the system path.
@@ -220,7 +220,7 @@ from("direct:exec")
 .to("exec:c:/program files/jdk/bin/java?args=-server -version -Duser.name=Camel&workingDir=c:/temp")
 ----------------------------------------------------------------------------------------------------
 
-#### Executing Ant scripts
+=== Executing Ant scripts
 
 The following example executes http://ant.apache.org/[Apache Ant]
 (Windows only) with the build file `CamelExecBuildFile.xml`, provided
@@ -252,7 +252,7 @@ from("direct:exec")
   });
 -------------------------------------------------------------------------------------------------------
 
-#### Executing `echo` (Windows)
+=== Executing `echo` (Windows)
 
 Commands such as `echo` and `dir` can be executed only with the command
 interpreter of the operating system. This example shows how to execute
diff --git a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
index 67b037e..b348614 100644
--- a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
+++ b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
@@ -14,7 +14,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-### Fastjson Options
+== Fastjson Options
 
 
 // dataformat options: START
@@ -93,7 +93,7 @@ The component supports 20 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Dependencies
+== Dependencies
 
 To use Fastjson in your camel routes you need to add the dependency
 on *camel-fastjson* which implements this data format.
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index 436a124..6636c72 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -23,7 +23,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------
@@ -40,7 +40,7 @@ flatpack:someName[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### URI Options
+== URI Options
 
 // component options: START
 The Flatpack component has no options.
@@ -138,7 +138,7 @@ The component supports 12 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Examples
+== Examples
 
 * `flatpack:fixed:foo.pzmap.xml` creates a fixed-width endpoint using
 the `foo.pzmap.xml` file configuration.
@@ -147,7 +147,7 @@ the `foo.pzmap.xml` file configuration.
 * `flatpack:foo` creates a delimited endpoint called `foo` with no file
 configuration.
 
-### Message Headers
+== Message Headers
 
 Camel will store the following headers on the IN message:
 
@@ -159,7 +159,7 @@ Camel will store the following headers on the IN message:
 number of rows.
 |=======================================================================
 
-### Message Body
+== Message Body
 
 The component delivers the data in the IN message as a
 `org.apache.camel.component.flatpack.DataSetList` object that has
@@ -188,7 +188,7 @@ However, you can also always get it as a `List` (even for
   String firstName = row.get("FIRSTNAME");
 ---------------------------------------------------
 
-### Header and Trailer records
+== Header and Trailer records
 
 The header and trailer notions in Flatpack are supported. However, you
 *must* use fixed record IDs:
@@ -219,7 +219,7 @@ trailer. You can omit one or both of them if not needed.
     </RECORD>
 ---------------------------------------------------------------------------
 
-### Using the endpoint
+== Using the endpoint
 
 A common use case is sending a file to this endpoint for further
 processing in a separate route. For example:
@@ -242,7 +242,7 @@ processing in a separate route. For example:
 You can also convert the payload of each message created to a `Map` for
 easy Bean Integration
 
-### Flatpack DataFormat
+== Flatpack DataFormat
 
 The <<flatpack-component,Flatpack>> component ships with the Flatpack data
 format that can be used to format between fixed width or delimited text
@@ -260,7 +260,7 @@ Splitter.
 *Notice:* The Flatpack library does currently not support header and
 trailers for the marshal operation.
 
-### Options
+== Options
 
 The data format has the following options:
 
@@ -289,7 +289,7 @@ expected and ignores the extra characters.
 expected and ignores the extra characters.
 |=======================================================================
 
-### Usage
+== Usage
 
 To use the data format, simply instantiate an instance and invoke the
 marshal or unmarshal operation in the route builder:
@@ -324,7 +324,7 @@ in Java code from e.g. a processor. We marshal the data according to the
 Flatpack format and convert the result as a `String` object and store it
 on a JMS queue.
 
-### Dependencies
+== Dependencies
 
 To use Flatpack in your camel routes you need to add the a dependency on
 *camel-flatpack* which implements this data format.
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index d9c17e9..0f42ab5 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -20,7 +20,7 @@ Splitter.
 *Notice:* The Flatpack library does currently not support header and
 trailers for the marshal operation.
 
-### Options
+== Options
 
 // dataformat options: START
 The Flatpack dataformat supports 9 options, which are listed below.
@@ -80,7 +80,7 @@ The component supports 12 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Usage
+== Usage
 
 To use the data format, simply instantiate an instance and invoke the
 marshal or unmarshal operation in the route builder:
@@ -115,7 +115,7 @@ in Java code from e.g. a processor. We marshal the data according to the
 Flatpack format and convert the result as a `String` object and store it
 on a JMS queue.
 
-### Dependencies
+== Dependencies
 
 To use Flatpack in your camel routes you need to add the a dependency on
 *camel-flatpack* which implements this data format.
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index 468e590..8c04638 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -25,7 +25,7 @@ their `pom.xml` for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI Format
+== URI Format
 
 Currently, the Flink Component supports only Producers. One can create DataSet, DataStream jobs.
 
@@ -108,7 +108,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### FlinkComponent Options
+== FlinkComponent Options
 
 
 
@@ -133,7 +133,7 @@ The Apache Flink component supports 5 options, which are listed below.
 
 
 
-### Flink DataSet Callback
+== Flink DataSet Callback
 
 [source,java]
 -----------------------------------
@@ -152,7 +152,7 @@ public DataSetCallback<Long> dataSetCallback() {
 }
 -----------------------------------
 
-### Flink DataStream Callback
+== Flink DataStream Callback
 
 [source,java]
 ---------------------------
@@ -169,7 +169,7 @@ public VoidDataStreamCallback dataStreamCallback() {
 }
 ---------------------------
 
-### Camel-Flink Producer call
+== Camel-Flink Producer call
 
 [source,java]
 -----------------------------------
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index 7443642..15767b9 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -20,14 +20,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ----------------------------
 fop://outputFormat?[options]
 ----------------------------
 
-### Output Formats
+== Output Formats
 
 The primary output format is PDF but other output
 http://xmlgraphics.apache.org/fop/0.95/output.html[formats] are also
@@ -61,7 +61,7 @@ supported:
 The complete list of valid output formats can be found
 http://svn.apache.org/repos/asf/xmlgraphics/commons/trunk/src/java/org/apache/xmlgraphics/util/MimeConstants.java[here]
 
-### Endpoint Options
+== Endpoint Options
 
 // component options: START
 The FOP component has no options.
@@ -143,7 +143,7 @@ fopFactory
 Allows to use a custom configured or implementation of
 `org.apache.fop.apps.FopFactory`.
 
-### Message Operations
+== Message Operations
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -178,7 +178,7 @@ Allows to use a custom configured or implementation of
 |CamelFop.Render.keywords |  | Set of keywords applicable to this document
 |=======================================================================
 
-### Example
+== Example
 
 Below is an example route that renders PDFs from xml data and xslt
 template and saves the PDF files in target folder:
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index 4da0eb2..e99bda5 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 -------------------------------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------
@@ -35,7 +35,7 @@ file://folder/myfile.ftl[file://folder/myfile.ftl]).
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 
@@ -121,7 +121,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### Headers
+== Headers
 
 Headers set during the FreeMarker evaluation are returned to the message
 and added as headers. This provides a mechanism for the FreeMarker
@@ -136,7 +136,7 @@ ${request.setHeader('fruit', 'Apple')}
 
 The header, `fruit`, is now accessible from the `message.out.headers`.
 
-### FreeMarker Context
+== FreeMarker Context
 
 Camel will provide exchange information in the FreeMarker context (just
 a `Map`). The `Exchange` is transferred as:
@@ -172,14 +172,14 @@ variableMap.put("exchange", exchange);
 exchange.getIn().setHeader("CamelFreemarkerDataModel", variableMap);
 --------------------------------------------------------------------
 
-### Hot reloading
+== Hot reloading
 
 The FreeMarker template resource is by default *not* hot reloadable for
 both file and classpath resources (expanded jar). If you set
 `contentCache=false`, then Camel will not cache the resource and hot
 reloading is thus enabled. This scenario can be used in development.
 
-### Dynamic templates
+== Dynamic templates
 
 Camel provides two headers by which you can define a different resource
 location for a template or the template content itself. If any of these
@@ -198,7 +198,7 @@ configured. | >= 2.1
 |FreemarkerConstants.FREEMARKER_TEMPLATE |String |The template to use instead of the endpoint configured. | >= 2.1
 |=======================================================================
 
-### Samples
+== Samples
 
 For example you could use something like:
 
@@ -250,7 +250,7 @@ from("direct:in").
   to("freemarker:dummy");
 ---------------------------------------------------------------------------------------------
 
-### The Email Sample
+== The Email Sample
 
 In this sample we want to use FreeMarker templating for an order
 confirmation email. The email template is laid out in FreeMarker as:
diff --git a/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index fa0836e..76c43be 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -22,7 +22,7 @@ for this component:
 
 For more information you can look at <<ftp-component,FTP component>>
 
-### URI Options
+== URI Options
 
 The options below are exclusive for the FTPS component.
 
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index 8628744..8573a9c 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -22,7 +22,7 @@ for this component:
 
 For more information you can look at <<ftp-component,FTP component>>
 
-### URI Options
+== URI Options
 
 The options below are exclusive for the FTPS component.
 
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index 7dd447e..d1d9d0f 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 --------------------------------------------
@@ -30,7 +30,7 @@ geocoder:address:name[?options]
 geocoder:latlng:latitude,longitude[?options]
 --------------------------------------------
 
-### Options
+== Options
 
 
 // component options: START
@@ -112,7 +112,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Exchange data format
+== Exchange data format
 
 Camel will deliver the body as a
 `com.google.code.geocoder.model.GeocodeResponse` type. +
@@ -123,7 +123,7 @@ If the option `headersOnly` is set to `true` then the message body is
 left as-is, and only headers will be added to the
 Exchange.
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="50%,50%",options="header",]
 |=======================================================================
@@ -156,7 +156,7 @@ Exchange.
 Notice not all headers may be provided depending on available data and
 mode in use (address vs latlng).
 
-### Samples
+== Samples
 
 In the example below we get the latitude and longitude for Paris, France
 
diff --git a/components/camel-git/src/main/docs/git-component.adoc b/components/camel-git/src/main/docs/git-component.adoc
index b5811e1..bcb9962 100644
--- a/components/camel-git/src/main/docs/git-component.adoc
+++ b/components/camel-git/src/main/docs/git-component.adoc
@@ -23,7 +23,7 @@ The *git:* component allows you to work with a generic Git repository. 
 git://localRepositoryPath[?options]
 -----------------------------------
 
-### URI Options
+== URI Options
 
 The producer allows to do operations on a specific repository. +
 The consumer allows consuming commits, tags and branches on a specific
@@ -109,7 +109,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,10%,20%,50%",options="header",]
 |=======================================================================
@@ -131,7 +131,7 @@ The component supports 2 options, which are listed below.
 
 |=======================================================================
 
-### Producer Example
+== Producer Example
 
 Below is an example route of a producer that add a file test.java to a
 local repository, commit it with a specific message on master branch and
@@ -149,7 +149,7 @@ from("direct:start")
         .to("git:///tmp/testRepo?operation=pushTag&tagName=myTag&remoteName=origin")
 --------------------------------------------------------------------------------------------------------------------
 
-### Consumer Example
+== Consumer Example
 
 Below is an example route of a consumer that consumes commit:
 
diff --git a/components/camel-github/src/main/docs/github-component.adoc b/components/camel-github/src/main/docs/github-component.adoc
index 68be513..97eb2b2 100644
--- a/components/camel-github/src/main/docs/github-component.adoc
+++ b/components/camel-github/src/main/docs/github-component.adoc
@@ -34,14 +34,14 @@ for this component:
 </dependency>
 -----------------------------------------
 
-### URI format
+== URI format
 
 [source,text]
 ---------------------------
 github://endpoint[?options]
 ---------------------------
 
-### Mandatory Options:
+== Mandatory Options:
 
 Note that these can be configured directly through the endpoint.
 
@@ -123,7 +123,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Consumer Endpoints:
+== Consumer Endpoints:
 
 [width="100%",cols="20%,20%,60%",options="header",]
 |=======================================================================
@@ -140,7 +140,7 @@ request discussion) or org.eclipse.egit.github.core.CommitComment
 |commit |polling |org.eclipse.egit.github.core.RepositoryCommit
 |=======================================================================
 
-### Producer Endpoints:
+== Producer Endpoints:
 
 [width="100%",cols="20%,20%,60%",options="header",]
 |=======================================================================
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index f3057f7..3570fba 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -31,7 +31,7 @@ for this component:
         
 ----------------------------------------------------------
 
-### 1. Google Calendar Options
+== 1. Google Calendar Options
 
 
 
@@ -141,7 +141,7 @@ The component supports 14 options, which are listed below.
 
 
 
-### URI Format
+== URI Format
 
 The GoogleCalendar Component uses the following URI format:
 
@@ -161,7 +161,7 @@ Endpoint prefix can be one of:
 * list
 * settings
 
-### Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -180,7 +180,7 @@ overrides message header, i.e. the endpoint option `inBody=option` would
 override a `CamelGoogleCalendar.option` header.
 
 
-### Consumer Endpoints
+== Consumer Endpoints
 
 Any of the producer endpoints can be used as a consumer endpoint.
 Consumer endpoints can use
@@ -190,12 +190,12 @@ invocation. Consumer endpoints that return an array or collection will
 generate one exchange per element, and their routes will be executed
 once for each exchange.
 
-### Message Headers
+== Message Headers
 
 Any URI option can be provided in a message header for producer
 endpoints with a `CamelGoogleCalendar.` prefix.
 
-### Message Body
+== Message Body
 
 All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleCalendarComponent. Producer endpoints can specify
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index 8f4a1c3..b0e6ee0 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -31,7 +31,7 @@ for this component:
 
 ------------------------------------------------------
 
-### URI Format
+== URI Format
 
 The Google Calendar Component uses the following URI format:
 
@@ -40,7 +40,7 @@ The Google Calendar Component uses the following URI format:
 
 --------------------------------------------------------
 
-### GoogleCalendarStreamComponent
+== GoogleCalendarStreamComponent
 
 
 // component options: START
@@ -159,7 +159,7 @@ The component supports 15 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Consumer
+== Consumer
 
 The consumer will poll by default with maxResults equals to 5.
 
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index 9edbb35..bef3b5f 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -30,7 +30,7 @@ for this component:
         
 -------------------------------------------------------
 
-### URI Format
+== URI Format
 
 '''''
 
@@ -57,7 +57,7 @@ Endpoint prefix can be one of:
 * drive-replies
 * drive-revisions
 
-### GoogleDriveComponent
+== GoogleDriveComponent
 
 
 
@@ -164,7 +164,7 @@ The component supports 11 options, which are listed below.
 
 
 
-### Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -185,7 +185,7 @@ override a `CamelGoogleDrive.option` header.
 For more information on the endpoints and options see API documentation
 at: https://developers.google.com/drive/v2/reference/[https://developers.google.com/drive/v2/reference/]
 
-### Consumer Endpoints
+== Consumer Endpoints
 
 Any of the producer endpoints can be used as a consumer endpoint.
 Consumer endpoints can use
@@ -195,12 +195,12 @@ invocation. Consumer endpoints that return an array or collection will
 generate one exchange per element, and their routes will be executed
 once for each exchange.
 
-### Message Headers
+== Message Headers
 
 Any URI option can be provided in a message header for producer
 endpoints with a `CamelGoogleDrive.` prefix.
 
-### Message Body
+== Message Body
 
 All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleDriveComponent. Producer endpoints can specify
diff --git a/components/camel-google-mail/src/main/docs/google-mail-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
index 70a6686..315d85b 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
@@ -31,7 +31,7 @@ for this component:
         
 ------------------------------------------------------
 
-### URI Format
+== URI Format
 
 The GoogleMail Component uses the following URI format:
 
@@ -50,7 +50,7 @@ Endpoint prefix can be one of:
 * threads
 * users
 
-### GoogleMailComponent
+== GoogleMailComponent
 
 
 
@@ -153,7 +153,7 @@ The component supports 10 options, which are listed below.
 
 
 
-### Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -174,7 +174,7 @@ override a `CamelGoogleMail.option` header.
 For more information on the endpoints and options see API documentation
 at: https://developers.google.com/gmail/api/v1/reference/[https://developers.google.com/gmail/api/v1/reference/]
 
-### Consumer Endpoints
+== Consumer Endpoints
 
 Any of the producer endpoints can be used as a consumer endpoint.
 Consumer endpoints can use
@@ -184,12 +184,12 @@ invocation. Consumer endpoints that return an array or collection will
 generate one exchange per element, and their routes will be executed
 once for each exchange.
 
-### Message Headers
+== Message Headers
 
 Any URI option can be provided in a message header for producer
 endpoints with a `CamelGoogleMail.` prefix.
 
-### Message Body
+== Message Body
 
 All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleMailComponent. Producer endpoints can specify the
diff --git a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
index 60f5f4d..4b80631 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
@@ -31,7 +31,7 @@ for this component:
 
 ------------------------------------------------------
 
-### URI Format
+== URI Format
 
 The GoogleMail Component uses the following URI format:
 
@@ -40,7 +40,7 @@ The GoogleMail Component uses the following URI format:
 
 --------------------------------------------------------
 
-### GoogleMailStreamComponent
+== GoogleMailStreamComponent
 
 
 // component options: START
@@ -155,7 +155,7 @@ The component supports 13 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Consumer
+== Consumer
 
 The consumer will poll by default with the query "is:unread" and maxResults equals to 10.
 
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
index b66883c..0d6e46a 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
@@ -31,7 +31,7 @@ for this component:
 
 ----------------------------------------------------------
 
-### URI Format
+== URI Format
 
 The GoogleSheets Component uses the following URI format:
 
@@ -45,7 +45,7 @@ Endpoint prefix can be one of:
 * spreadsheets
 * data
 
-### GoogleSheetsComponent
+== GoogleSheetsComponent
 
 
 
@@ -148,7 +148,7 @@ The component supports 10 options, which are listed below.
 
 
 
-### Producer Endpoints
+== Producer Endpoints
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -169,7 +169,7 @@ override a `CamelGoogleSheets.option` header.
 For more information on the endpoints and options see API documentation
 at: https://developers.google.com/sheets/api/reference/rest/[https://developers.google.com/sheets/api/reference/rest/]
 
-### Consumer Endpoints
+== Consumer Endpoints
 
 Any of the producer endpoints can be used as a consumer endpoint.
 Consumer endpoints can use
@@ -179,12 +179,12 @@ invocation. Consumer endpoints that return an array or collection will
 generate one exchange per element, and their routes will be executed
 once for each exchange.
 
-### Message Headers
+== Message Headers
 
 Any URI option can be provided in a message header for producer
 endpoints with a `CamelGoogleSheets.` prefix.
 
-### Message Body
+== Message Body
 
 All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleSheetsComponent. Producer endpoints can specify
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index bd81fc8..e1795ae 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -31,7 +31,7 @@ for this component:
 
 ------------------------------------------------------
 
-### URI Format
+== URI Format
 
 The Google Sheets Component uses the following URI format:
 
@@ -40,7 +40,7 @@ The Google Sheets Component uses the following URI format:
 
 --------------------------------------------------------
 
-### GoogleSheetsStreamComponent
+== GoogleSheetsStreamComponent
 
 
 // component options: START
@@ -163,7 +163,7 @@ The component supports 17 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Consumer
+== Consumer
 
 The consumer will poll by default with maxResults equals to 5.
 
diff --git a/components/camel-gora/src/main/docs/gora-component.adoc b/components/camel-gora/src/main/docs/gora-component.adoc
index 0104211..8493cfb 100644
--- a/components/camel-gora/src/main/docs/gora-component.adoc
+++ b/components/camel-gora/src/main/docs/gora-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ---------------------------------------------------------
 
-### Apache Gora Overview
+== Apache Gora Overview
 
 The http://gora.apache.org/[Apache Gora] open source framework provides
 an in-memory data model and persistence for big data. Gora supports
@@ -39,7 +39,7 @@ http://accumulo.apache.org/[Apache Accumulo],
 http://aws.amazon.com/dynamodb/[Amazon DynamoDB] and SQL databases such
 as http://hsqldb.org/[hsqldb], http://www.mysql.com/[MySQL] and more.
 
-### URI format
+== URI format
 
 [source,text]
 ---------------------------
@@ -62,7 +62,7 @@ _Java DSL_
 to("gora:foobar?keyClass=java.lang.Long&valueClass=org.apache.camel.component.gora.generated.Pageview&dataStoreClass=org.apache.gora.hbase.store.HBaseStore")
 -------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Configuratiion
+== Configuratiion
 
 Using camel-gora needs some configuration. This mainly involve to
 configure the _AvroStore_ through the _gora.properties_ file and to
@@ -73,7 +73,7 @@ Extensive information for this configuration can be found in the apache
 http://gora.apache.org/current/index.html[gora documentation] and the
 http://gora.apache.org/current/gora-conf.html[gora-conf] page.
 
-### Options
+== Options
 
 
 // component options: START
@@ -164,7 +164,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Supported Gora Operations
+== Supported Gora Operations
 
 Supported operations include : *put*, *get*, *delete*, *getSchemaName*,
 *deleteSchema*, *createSchema*, *query*, *deleteByQuery*,
@@ -202,7 +202,7 @@ hold the objects._
 datastore._
 |=======================================================================
 
-### Gora Headers
+== Gora Headers
 
 [width="100%",cols="20%,80%",options="header",]
 |=======================================================================
@@ -213,7 +213,7 @@ datastore._
 |GoraKey | _Used in order to define the datum key for the operations need it._
 |=======================================================================
 
-### Usage examples
+== Usage examples
 
 *Create Schema* _(XML DSL)_:
 
@@ -285,7 +285,7 @@ The full usage examples in the form of integration tests can be found at
 https://github.com/ipolyzos/camel-gora-examples/[camel-gora-examples]
 repository.
 
-### More resources
+== More resources
 
 For more please information and in depth configuration refer to the
 http://gora.apache.org/current/overview.html[Apache Gora Documentation]
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index e601e29..3c7cba7 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -31,14 +31,14 @@ add following configuration property to the maven file
 <properties>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------
 grpc://service[?options]
 -------------------------------------
 
-### Endpoint Options
+== Endpoint Options
 
 // component options: START
 The gRPC component has no options.
@@ -127,7 +127,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Transport security and authentication support (available from *Camel 2.20*)
+== Transport security and authentication support (available from *Camel 2.20*)
 
 The following https://grpc.io/docs/guides/auth.html[authentication] mechanisms are built-in to gRPC and available in this component:
 
@@ -157,7 +157,7 @@ To enable these features the following component properties combinations must be
 TLS with OpenSSL is currently the recommended approach for using gRPC over TLS component.
 Using the JDK for ALPN is generally much slower and may not support the necessary ciphers for HTTP2. This function is not implemented in the component.
 
-### gRPC producer resource type mapping
+== gRPC producer resource type mapping
 
 The table below shows the types of objects in the message body, depending on the types (simple or stream) of incoming and outgoing parameters, as well as the invocation style (synchronous or asynchronous). Please note, that invocation of the procedures with incoming stream parameter in asynchronous style are not allowed.
 
@@ -177,7 +177,7 @@ The table below shows the types of objects in the message body, depending on the
 
 |=======================================================================
 
-### gRPC consumer headers (will be installed after the consumer invocation)
+== gRPC consumer headers (will be installed after the consumer invocation)
 
 [width="100%",cols="25%,50,25%",options="header",]
 |=======================================================================
@@ -189,7 +189,7 @@ The table below shows the types of objects in the message body, depending on the
 
 |=======================================================================
 
-### Examples
+== Examples
 
 Below is a simple synchronous method invoke with host and port parameters
 
@@ -250,7 +250,7 @@ from("direct:grpc-jwt")
 .to("grpc://localhost:1101/org.apache.camel.component.grpc.PingPong?method=pingSyncSync&synchronous=true&authenticationType=JWT&jwtSecret=supersecuredsecret");
 -------------------------------------------------------------------------------
 
-### Configuration
+== Configuration
 
 It's it is recommended to use Maven Protocol Buffers Plugin which calls Protocol Buffer Compiler (protoc) tool to generate Java source files from .proto (protocol buffer definition) files for the custom project. This plugin will generate procedures request and response classes, their builders and gRPC procedures stubs classes as well.
 
@@ -293,7 +293,7 @@ Insert gRPC and protobuf Java code generator plugin **<plugins>** tag of the pro
 </plugin>
 -------------------------------------------------------------------------
 
-### For more information, see these resources
+== For more information, see these resources
 
 http://www.grpc.io/[gRPC project site]
 
diff --git a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
index c55b6bb..0eb6545 100644
--- a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
+++ b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
@@ -14,7 +14,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-### Gson Options
+== Gson Options
 
 
 // dataformat options: START
@@ -94,7 +94,7 @@ The component supports 20 options, which are listed below.
 
 
 
-### Dependencies
+== Dependencies
 
 To use Gson in your camel routes you need to add the dependency
 on *camel-gson* which implements this data format.
diff --git a/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
index bdbd57c..1826d4a 100644
--- a/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
+++ b/components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
@@ -29,7 +29,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 --------------------------------
@@ -40,7 +40,7 @@ Where *busName* represents the name of the
 `com.google.common.eventbus.EventBus` instance located in the Camel
 registry.
 
-### Options
+== Options
 
 
 
@@ -130,7 +130,7 @@ The component supports 4 options, which are listed below.
 
 
 
-### Usage
+== Usage
 
 Using `guava-eventbus` component on the consumer side of the route will
 capture messages sent to the Guava `EventBus` and forward them to the
@@ -172,7 +172,7 @@ eventBus.register(new Object(){
 });
 ----------------------------------------------------------------------
 
-### DeadEvent considerations
+== DeadEvent considerations
 
 Keep in mind that due to the limitations caused by the design of the
 Guava EventBus, you cannot specify event class to be received by the
@@ -221,7 +221,7 @@ follows.
 from("guava-eventbus:busName?listenerInterface=com.example.CustomListener").to("seda:queue");
 ---------------------------------------------------------------------------------------------
 
-### Consuming multiple type of events
+== Consuming multiple type of events
 
 In order to define multiple type of events to be consumed by Guava
 EventBus consumer use `listenerInterface` endpoint option, as listener
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
index 261293a..cd8e24d 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
@@ -10,7 +10,7 @@ An atomic number is an object that simply provides a grid wide number (long).
 *There is no consumer for this endpoint!*
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Atomic Number component supports 3 options, which are listed below.
@@ -97,7 +97,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### atomic number producer - to("hazelcast-atomicvalue:foo")
+== atomic number producer - to("hazelcast-atomicvalue:foo")
 
 The operations for this producer are:
 * setvalue (set the number with a given value)
@@ -115,7 +115,7 @@ Header Variables for the request message:
 |`CamelHazelcastOperationType` |`String` |valid values are: setvalue, get, increase, decrease, destroy 
 |=======================================================================
 
-#### Sample for *set*:
+=== Sample for *set*:
 
 Java DSL:
 
@@ -143,7 +143,7 @@ Spring DSL:
 Provide the value to set inside the message body (here the value is 10):
 `template.sendBody("direct:set", 10);`
 
-#### Sample for *get*:
+=== Sample for *get*:
 
 Java DSL:
 
@@ -171,7 +171,7 @@ Spring DSL:
 You can get the number with
 `long body = template.requestBody("direct:get", null, Long.class);`.
 
-#### Sample for *increment*:
+=== Sample for *increment*:
 
 Java DSL:
 
@@ -199,7 +199,7 @@ Spring DSL:
 The actual value (after increment) will be provided inside the message
 body.
 
-#### Sample for *decrement*:
+=== Sample for *decrement*:
 
 Java DSL:
 
@@ -227,7 +227,7 @@ Spring DSL:
 The actual value (after decrement) will be provided inside the message
 body.
 
-#### Sample for *destroy*
+=== Sample for *destroy*
 
 Java DSL:
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
index 2f12d54..6eb2c06 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
@@ -10,7 +10,7 @@ Hazelcast makes sense in one single "server node", but it's extremly powerful in
 *This endpoint provides no producer!*
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Instance component supports 3 options, which are listed below.
@@ -123,7 +123,7 @@ The component supports 26 options, which are listed below.
 
 
 
-### instance consumer - from("hazelcast-instance:foo")
+== instance consumer - from("hazelcast-instance:foo")
 
  The instance consumer fires if a new cache instance will join or leave the cluster.
  
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
index 7c1da17..8bf9f32 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
@@ -6,7 +6,7 @@
 
 The http://www.hazelcast.com/[Hazelcast] List component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed list.
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast List component supports 3 options, which are listed below.
@@ -98,7 +98,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### List producer – to(“hazelcast-list:foo”)
+== List producer – to(“hazelcast-list:foo”)
 
 The list producer provides 7 operations:
 * add
@@ -109,7 +109,7 @@ The list producer provides 7 operations:
 * removeAll
 * clear
 
-#### Sample for *add*:
+=== Sample for *add*:
 
 [source,java]
 ------------------------------------------------------------------------------------
@@ -118,7 +118,7 @@ from("direct:add")
 .toF("hazelcast-%sbar", HazelcastConstants.LIST_PREFIX);
 ------------------------------------------------------------------------------------
 
-#### Sample for *get*:
+=== Sample for *get*:
 
 [source,java]
 ------------------------------------------------------------------------------------
@@ -128,7 +128,7 @@ from("direct:get")
 .to("seda:out");
 ------------------------------------------------------------------------------------
 
-#### Sample for *setvalue*:
+=== Sample for *setvalue*:
 
 [source,java]
 -----------------------------------------------------------------------------------------
@@ -137,7 +137,7 @@ from("direct:set")
 .toF("hazelcast-%sbar", HazelcastConstants.LIST_PREFIX);
 -----------------------------------------------------------------------------------------
 
-#### Sample for *removevalue*:
+=== Sample for *removevalue*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -150,7 +150,7 @@ Note that *CamelHazelcastObjectIndex* header is used for indexing
 purpose.
 
 
-### List consumer – from(“hazelcast-list:foo”)
+== List consumer – from(“hazelcast-list:foo”)
 
 The list consumer provides 2 operations:
 * add
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
index 144162a..9285885 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
@@ -7,7 +7,7 @@
 The http://www.hazelcast.com/[Hazelcast] Map component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed map.
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Map component supports 3 options, which are listed below.
@@ -100,7 +100,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### Map cache producer - to("hazelcast-map:foo")
+== Map cache producer - to("hazelcast-map:foo")
 
 If you want to store a value in a map you can use the map cache
 producer. 
@@ -151,7 +151,7 @@ You can call the samples with:
 template.sendBodyAndHeader("direct:[put|get|update|delete|query|evict]", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
 -------------------------------------------------------------------------------------------------------------------
 
-#### Sample for *put*:
+=== Sample for *put*:
 
 Java DSL:
 
@@ -210,7 +210,7 @@ Spring DSL:
 -----------------------------------------------------------------------------------------------
 
 
-#### Sample for *get*:
+=== Sample for *get*:
 
 Java DSL:
 
@@ -237,7 +237,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *update*:
+=== Sample for *update*:
 
 Java DSL:
 
@@ -262,7 +262,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *delete*:
+=== Sample for *delete*:
 
 Java DSL:
 
@@ -287,7 +287,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *query*
+=== Sample for *query*
 
 Java DSL:
 
@@ -324,7 +324,7 @@ template.sendBodyAndHeader("direct:query", null, HazelcastConstants.QUERY, q1);
 -------------------------------------------------------------------------------
 
 
-### Map cache consumer - from("hazelcast-map:foo")
+== Map cache consumer - from("hazelcast-map:foo")
 
 Hazelcast provides event listeners on their data grid. If you want to be
 notified if a cache will be manipulated, you can use the map consumer.
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
index e6bc9b0..09b19d3 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
@@ -7,7 +7,7 @@
 The http://www.hazelcast.com/[Hazelcast] Multimap component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed multimap.
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Multimap component supports 3 options, which are listed below.
@@ -101,7 +101,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### multimap cache producer - to("hazelcast-multimap:foo")
+== multimap cache producer - to("hazelcast-multimap:foo")
 
 A multimap is a cache where you can store n values to one key. The
 multimap producer provides 4 operations (put, get, removevalue, delete).
@@ -117,7 +117,7 @@ Header Variables for the request message:
 |`CamelHazelcastObjectId` |`String` |the object id to store / find your object inside the cache
 |=======================================================================
 
-#### Sample for *put*:
+=== Sample for *put*:
 
 Java DSL:
 
@@ -143,7 +143,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *removevalue*:
+=== Sample for *removevalue*:
 
 Java DSL:
 
@@ -174,7 +174,7 @@ inside the message body. If you have a multimap object
 \{`key: "4711" values: { "my-foo", "my-bar"`}} you have to put "my-foo"
 inside the message body to remove the "my-foo" value.
 
-#### Sample for *get*:
+=== Sample for *get*:
 
 Java DSL:
 
@@ -202,7 +202,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *delete*:
+=== Sample for *delete*:
 
 Java DSL:
 
@@ -235,7 +235,7 @@ you can call them in your test class with:
 template.sendBodyAndHeader("direct:[put|get|removevalue|delete]", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
 ------------------------------------------------------------------------------------------------------------------
 
-### multimap cache consumer - from("hazelcast-multimap:foo")
+== multimap cache consumer - from("hazelcast-multimap:foo")
 
 For the multimap cache this component provides the same listeners /
 variables as for the map cache consumer (except the update and enviction
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
index 3a73023..2ad4aae 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
@@ -7,7 +7,7 @@
 The http://www.hazelcast.com/[Hazelcast] Queue component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed queue.
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Queue component supports 3 options, which are listed below.
@@ -99,7 +99,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### Queue producer – to(“hazelcast-queue:foo”)
+== Queue producer – to(“hazelcast-queue:foo”)
 
 The queue producer provides 10 operations:
 * add
@@ -115,7 +115,7 @@ The queue producer provides 10 operations:
 * take
 * retain all
 
-#### Sample for *add*:
+=== Sample for *add*:
 
 [source,java]
 ------------------------------------------------------------------------------------
@@ -124,7 +124,7 @@ from("direct:add")
 .toF("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX);
 ------------------------------------------------------------------------------------
 
-#### Sample for *put*:
+=== Sample for *put*:
 
 [source,java]
 ------------------------------------------------------------------------------------
@@ -133,7 +133,7 @@ from("direct:put")
 .toF("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX);
 ------------------------------------------------------------------------------------
 
-#### Sample for *poll*:
+=== Sample for *poll*:
 
 [source,java]
 -------------------------------------------------------------------------------------
@@ -142,7 +142,7 @@ from("direct:poll")
 .toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
 -------------------------------------------------------------------------------------
 
-#### Sample for *peek*:
+=== Sample for *peek*:
 
 [source,java]
 -------------------------------------------------------------------------------------
@@ -151,7 +151,7 @@ from("direct:peek")
 .toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
 -------------------------------------------------------------------------------------
 
-#### Sample for *offer*:
+=== Sample for *offer*:
 
 [source,java]
 --------------------------------------------------------------------------------------
@@ -160,7 +160,7 @@ from("direct:offer")
 .toF("hazelcast:%sbar", HazelcastConstants.QUEUE_PREFIX);
 --------------------------------------------------------------------------------------
 
-#### Sample for *removevalue*:
+=== Sample for *removevalue*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -169,7 +169,7 @@ from("direct:removevalue")
 .toF("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX);
 --------------------------------------------------------------------------------------------
 
-#### Sample for *remaining capacity*:
+=== Sample for *remaining capacity*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -177,7 +177,7 @@ from("direct:remaining-capacity").setHeader(HazelcastConstants.OPERATION, consta
 String.format("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX));
 --------------------------------------------------------------------------------------------
 
-#### Sample for *remove all*:
+=== Sample for *remove all*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -185,7 +185,7 @@ from("direct:removeAll").setHeader(HazelcastConstants.OPERATION, constant(Hazelc
 String.format("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX));
 --------------------------------------------------------------------------------------------
 
-#### Sample for *remove if*:
+=== Sample for *remove if*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -193,7 +193,7 @@ from("direct:removeIf").setHeader(HazelcastConstants.OPERATION, constant(Hazelca
 String.format("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX));
 --------------------------------------------------------------------------------------------
 
-#### Sample for *drain to*:
+=== Sample for *drain to*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -201,7 +201,7 @@ from("direct:drainTo").setHeader(HazelcastConstants.OPERATION, constant(Hazelcas
 String.format("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX));
 --------------------------------------------------------------------------------------------
 
-#### Sample for *take*:
+=== Sample for *take*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -209,7 +209,7 @@ from("direct:take").setHeader(HazelcastConstants.OPERATION, constant(HazelcastOp
 String.format("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX));
 --------------------------------------------------------------------------------------------
 
-#### Sample for *retain all*:
+=== Sample for *retain all*:
 
 [source,java]
 --------------------------------------------------------------------------------------------
@@ -217,7 +217,7 @@ from("direct:retainAll").setHeader(HazelcastConstants.OPERATION, constant(Hazelc
 String.format("hazelcast-%sbar", HazelcastConstants.QUEUE_PREFIX));
 --------------------------------------------------------------------------------------------
 
-### Queue consumer – from(“hazelcast-queue:foo”)
+== Queue consumer – from(“hazelcast-queue:foo”)
 
 The queue consumer provides two different modes:
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
index 258e0c0..f52d2cd 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
@@ -8,7 +8,7 @@ The http://www.hazelcast.com/[Hazelcast] instance component is one of Camel Haze
 A replicated map is a weakly consistent, distributed key-value data structure with no data partition.
  
  
-### Options
+== Options
  
 // component options: START
 The Hazelcast Replicated Map component supports 3 options, which are listed below.
@@ -101,7 +101,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### replicatedmap cache producer
+== replicatedmap cache producer
 
 The replicatedmap producer provides 4 operations:
 * put
@@ -120,7 +120,7 @@ Header Variables for the request message:
 |`CamelHazelcastObjectId` |`String` | the object id to store / find your object inside the cache
 |=======================================================================
 
-#### Sample for *put*:
+=== Sample for *put*:
 
 Java DSL:
 
@@ -146,7 +146,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *get*:
+=== Sample for *get*:
 
 Java DSL:
 
@@ -174,7 +174,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *delete*:
+=== Sample for *delete*:
 
 Java DSL:
 
@@ -207,7 +207,7 @@ you can call them in your test class with:
 template.sendBodyAndHeader("direct:[put|get|delete|clear]", "my-foo", HazelcastConstants.OBJECT_ID, "4711");
 ------------------------------------------------------------------------------------------------------------
 
-### replicatedmap cache consumer
+== replicatedmap cache consumer
 
 For the multimap cache this component provides the same listeners /
 variables as for the map cache consumer (except the update and enviction
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
index b1d065a..5ea7225 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
@@ -9,7 +9,7 @@
 The http://www.hazelcast.com/[Hazelcast] ringbuffer component is one of Camel Hazelcast Components which allows you to access Hazelcast ringbuffer.
 Ringbuffer is a distributed data structure where the data is stored in a ring-like structure. You can think of it as a circular array with a certain capacity. 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Ringbuffer component supports 3 options, which are listed below.
@@ -97,7 +97,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### ringbuffer cache producer 
+== ringbuffer cache producer 
 
 The ringbuffer producer provides 5 operations:
 * add
@@ -117,7 +117,7 @@ Header Variables for the request message:
 |`CamelHazelcastObjectId` |`String` |the object id to store / find your object inside the cache
 |=======================================================================
 
-#### Sample for *put*:
+=== Sample for *put*:
 
 Java DSL:
 
@@ -143,7 +143,7 @@ Spring DSL:
 </route>
 -----------------------------------------------------------------------------------------------
 
-#### Sample for *readonce from head*:
+=== Sample for *readonce from head*:
 
 Java DSL:
 
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
index 181f5c0..72d21a1 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
@@ -8,7 +8,7 @@ The http://www.hazelcast.com/[Hazelcast] SEDA component is one of Camel Hazelcas
 SEDA component differs from the rest components provided. It implements a work-queue in order to support asynchronous SEDA architectures, similar to the core "SEDA" component.
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast SEDA component supports 3 options, which are listed below.
@@ -100,7 +100,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### SEDA producer – to(“hazelcast-seda:foo”)
+== SEDA producer – to(“hazelcast-seda:foo”)
 
 The SEDA producer provides no operations. You only send data to the
 specified queue.
@@ -123,7 +123,7 @@ Spring DSL :
 </route>
 ----------------------------------
 
-### SEDA consumer – from(“hazelcast-seda:foo”)
+== SEDA consumer – from(“hazelcast-seda:foo”)
 
 The SEDA consumer provides no operations. You only retrieve data from
 the specified queue.
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
index 37c6fb8..d4fc047 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
@@ -7,7 +7,7 @@
 The http://www.hazelcast.com/[Hazelcast] Set component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed set.
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Set component supports 3 options, which are listed below.
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc b/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
index f3b4c18..1d66af2 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
@@ -7,7 +7,7 @@
 The http://www.hazelcast.com/[Hazelcast] Topic component is one of Camel Hazelcast Components which allows you to access Hazelcast distributed topic.
 
 
-### Options
+== Options
 
 // component options: START
 The Hazelcast Topic component supports 3 options, which are listed below.
@@ -102,11 +102,11 @@ The component supports 8 options, which are listed below.
 
 
 
-### Topic producer – to(“hazelcast-topic:foo”)
+== Topic producer – to(“hazelcast-topic:foo”)
 
 The topic producer provides only one operation (publish).
 
-#### Sample for *publish*:
+=== Sample for *publish*:
 
 [source,java]
 ----------------------------------------------------------------------------------------
@@ -115,7 +115,7 @@ from("direct:add")
 .toF("hazelcast-%sbar", HazelcastConstants.PUBLISH_OPERATION);
 ----------------------------------------------------------------------------------------
 
-### Topic consumer – from(“hazelcast-topic:foo”)
+== Topic consumer – from(“hazelcast-topic:foo”)
 
 The topic consumer provides only one operation (received). This
 component is supposed to support multiple consumption as it's expected
diff --git a/components/camel-hazelcast/src/main/docs/hazelcast.adoc b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
index 91d39ee..2bc5c60 100644
--- a/components/camel-hazelcast/src/main/docs/hazelcast.adoc
+++ b/components/camel-hazelcast/src/main/docs/hazelcast.adoc
@@ -1,4 +1,4 @@
-## Hazelcast Component
+= Hazelcast Component
 
 *Available as of Camel version 2.7*
 
@@ -29,7 +29,7 @@ for this component:
 ------------------------------------------------------------
 
 
-### Hazelcast components
+== Hazelcast components
 See followings for each component usage:
 * <<hazelcast-map-component,map>>
 * <<hazelcast-multimap-component,multimap>>
@@ -45,9 +45,9 @@ See followings for each component usage:
 
 
 
-### Using hazelcast reference
+== Using hazelcast reference
 
-#### By its name
+=== By its name
 
 [source,xml]
 --------------------------------------------------------------------------------------------------------
@@ -82,7 +82,7 @@ See followings for each component usage:
 </camelContext>
 --------------------------------------------------------------------------------------------------------
 
-#### By instance
+=== By instance
 
 [source,xml]
 ------------------------------------------------------------------------------
@@ -112,14 +112,14 @@ See followings for each component usage:
 </camelContext>
 ------------------------------------------------------------------------------
 
-### Publishing hazelcast instance as an OSGI service
+== Publishing hazelcast instance as an OSGI service
 
 If operating in an OSGI container and you would want to use one instance
 of hazelcast across all bundles in the same container. You can publish
 the instance as an OSGI service and bundles using the cache al need is
 to reference the service in the hazelcast endpoint.
 
-#### Bundle A create an instance and publishes it as an OSGI service
+=== Bundle A create an instance and publishes it as an OSGI service
 
  
 
@@ -137,7 +137,7 @@ to reference the service in the hazelcast endpoint.
 <service ref="hazelcastInstance" interface="com.hazelcast.core.HazelcastInstance" />
 --------------------------------------------------------------------------------------------------------
 
-#### Bundle B uses the instance
+=== Bundle B uses the instance
 
 [source,xml]
 --------------------------------------------------------------------------------------
diff --git a/components/camel-hbase/src/main/docs/hbase-component.adoc b/components/camel-hbase/src/main/docs/hbase-component.adoc
index 81d89c8..946be72 100644
--- a/components/camel-hbase/src/main/docs/hbase-component.adoc
+++ b/components/camel-hbase/src/main/docs/hbase-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Apache HBase Overview
+== Apache HBase Overview
 
 HBase is an open-source, distributed, versioned, column-oriented store
 modeled after Google's Bigtable: A Distributed Storage System for
@@ -28,7 +28,7 @@ Structured Data. You can use HBase when you need random, realtime
 read/write access to your Big Data. More information at
 http://hbase.apache.org[Apache HBase].
 
-### Camel and HBase
+== Camel and HBase
 
 When using a datasotre inside a camel route, there is always the
 chalenge of specifying how the camel message will stored to the
@@ -57,7 +57,7 @@ Regardless of the mapping strategy camel-hbase will convert a message
 into an org.apache.camel.component.hbase.model.HBaseData object and use
 that object for its internal operations.
 
-### Configuring the component
+== Configuring the component
 
 The HBase component can be provided a custom HBaseConfiguration object
 as a property or it can create an HBase configuration object on its own
@@ -77,7 +77,7 @@ You can find more information about how to configure HBase clients at:
 http://archive.apache.org/dist/hbase/docs/client_dependencies.html[HBase
 client configuration and dependencies]
 
-### HBase Producer
+== HBase Producer
 
 As mentioned above camel provides produers endpoints for HBase. This
 allows you to store, delete, retrieve or query data from HBase using
@@ -97,7 +97,7 @@ The supported operations are:
 * Delete
 * Scan
 
-#### Supported URI options
+=== Supported URI options
 
 
 
@@ -197,7 +197,7 @@ The component supports 4 options, which are listed below.
 
 
 
-#### Put Operations.
+=== Put Operations.
 
 HBase is a column based store, which allows you to store data into a
 specific column of a specific row. Columns are grouped into families, so
@@ -261,7 +261,7 @@ headers or a combination of both. It is recommended to specify constants
 as part of the uri and dynamic values as headers. If something is
 defined both as header and as part of the uri, the header will be used.
 
-#### Get Operations.
+=== Get Operations.
 
 A Get Operation is an operation that is used to retrieve one or more
 values from a specified HBase row. To specify what are the values that
@@ -284,7 +284,7 @@ message headers.
 In the example above the result of the get operation will be stored as a
 header with name CamelHBaseValue.
 
-#### Delete Operations.
+=== Delete Operations.
 
 You can also you camel-hbase to perform HBase delete operation. The
 delete operation will remove an entire row. All that needs to be
@@ -302,7 +302,7 @@ specified is one or more rows as part of the message headers.
         </route>
 ----------------------------------------------------------------
 
-#### Scan Operations.
+=== Scan Operations.
 
 A scan operation is the equivalent of a query in HBase. You can use the
 scan operation to retrieve multiple rows. To specify what columns should
@@ -383,7 +383,7 @@ and will pass that model the ModelAwareColumnMatchingFilter. The
 filter will filter out any rows, that do not contain columns that match
 the model. It is like query by example.
 
-### HBase Consumer
+== HBase Consumer
 
 The Camel HBase Consumer, will perform repeated scan on the specified
 HBase table and will return the scan results as part of the message. You
@@ -409,7 +409,7 @@ specified fields and the scan results will populate the model object
 with values. Finally the mapping strategy will be used to map this model
 to the camel message.
 
-### HBase Idempotent repository
+== HBase Idempotent repository
 
 The camel-hbase component also provides an idempotent repository which
 can be used when you want to make sure that each message is processed
@@ -427,14 +427,14 @@ from("direct:in")
   .to("log:out);
 ------------------------------------------------------------------------------------------------------------------
 
-### HBase Mapping
+== HBase Mapping
 
 It was mentioned above that you the default mapping strategies are
 *header* and *body* mapping. +
  Below you can find some detailed examples of how each mapping strategy
 works.
 
-#### HBase Header mapping Examples
+=== HBase Header mapping Examples
 
 The header mapping is the default mapping. 
  To put the value "myvalue" into HBase row "myrow" and column
@@ -496,7 +496,7 @@ Please note that in order to avoid boilerplate headers that are
 considered constant for all messages, you can also specify them as part
 of the endpoint uri, as you will see below.
 
-#### Body mapping Examples
+=== Body mapping Examples
 
 In order to use the body mapping strategy you will have to specify the
 option mappingStrategy as part of the uri, for example:
@@ -529,7 +529,7 @@ myvalue to the column myfamily:myqualifier. +
 advantage it has over the header mapping strategy is that the HBaseData
 object can be easily converted to or from xml/json.
 
-### See also
+== See also
 
 * Polling Consumer
 * http://hbase.apache.org[Apache HBase]
\ No newline at end of file
diff --git a/components/camel-hdfs/src/main/docs/hdfs-component.adoc b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
index 6fb1697..4746c41 100644
--- a/components/camel-hdfs/src/main/docs/hdfs-component.adoc
+++ b/components/camel-hdfs/src/main/docs/hdfs-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------
@@ -51,7 +51,7 @@ fileMode=Append to append each of the chunks together.
 
  
 
-### Options
+== Options
 
 
 
@@ -176,7 +176,7 @@ The component supports 3 options, which are listed below.
 
 
 
-#### KeyType and ValueType
+=== KeyType and ValueType
 
 * NULL it means that the key or the value is absent
 * BYTE for writing a byte, the java Byte class is mapped into a BYTE
@@ -192,7 +192,7 @@ BYTES is also used with everything else, for example, in Camel a file is
 sent around as an InputStream, int this case is written in a sequence
 file or a map file as a sequence of bytes.
 
-### Splitting Strategy
+== Splitting Strategy
 
 In the current version of Hadoop opening a file in append mode is
 disabled since it's not very reliable. So, for the moment, it's only
@@ -235,11 +235,11 @@ than 1 second or if more than 5 bytes have been written. So, running
 `hadoop fs -ls /tmp/simple-file` you'll see that multiple files have
 been created.
 
-### Message Headers
+== Message Headers
 
 The following headers are supported by this component:
 
-#### Producer only
+=== Producer only
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -251,7 +251,7 @@ Expression object. Only relevant when not using a
 split strategy.
 |=======================================================================
 
-### Controlling to close file stream
+== Controlling to close file stream
 
 *Available as of Camel 2.10.4*
 
@@ -266,7 +266,7 @@ the stream should be closed or not.
 Notice this does not apply if you use a split strategy, as there are
 various strategies that can control when the stream is closed.
 
-### Using this component in OSGi
+== Using this component in OSGi
 
 This component is fully functional in an OSGi environment, however, it
 requires some actions from the user. Hadoop uses the thread context
diff --git a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
index add2ccc..cf710ef 100644
--- a/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
+++ b/components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ----------------------------------------
@@ -48,7 +48,7 @@ chunk using the chunkSize option. If you want to read from hdfs and
 write to a regular file using the file component, then you can use the
 fileMode=Append to append each of the chunks together.
 
-### Options
+== Options
 
 
 
@@ -172,7 +172,7 @@ The component supports 3 options, which are listed below.
 
 
 
-#### KeyType and ValueType
+=== KeyType and ValueType
 
 * NULL it means that the key or the value is absent
 * BYTE for writing a byte, the java Byte class is mapped into a BYTE
@@ -188,7 +188,7 @@ BYTES is also used with everything else, for example, in Camel a file is
 sent around as an InputStream, int this case is written in a sequence
 file or a map file as a sequence of bytes.
 
-### Splitting Strategy
+== Splitting Strategy
 
 In the current version of Hadoop opening a file in append mode is
 disabled since it's not very reliable. So, for the moment, it's only
@@ -228,11 +228,11 @@ than 1 second or if more than 5 bytes have been written. So, running
 `hadoop fs -ls /tmp/simple-file` you'll see that multiple files have
 been created.
 
-### Message Headers
+== Message Headers
 
 The following headers are supported by this component:
 
-#### Producer only
+=== Producer only
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -244,7 +244,7 @@ Expression object. Only relevant when not using a
 split strategy.
 |=======================================================================
 
-### Controlling to close file stream
+== Controlling to close file stream
 
 When using the <<hdfs2-component,HDFS2>> producer *without* a split
 strategy, then the file output stream is by default closed after the
@@ -257,7 +257,7 @@ the stream should be closed or not.
 Notice this does not apply if you use a split strategy, as there are
 various strategies that can control when the stream is closed.
 
-### Using this component in OSGi
+== Using this component in OSGi
 
 There are some quirks when running this component in an OSGi environment
 related to the mechanism Hadoop 2.x uses to discover different
@@ -272,7 +272,7 @@ be visible from the bundle class loader. A typical way to deal with it
 is to keep a copy of `core-default.xml` (and e.g., `hdfs-default.xml`)
 in your bundle root.
 
-#### Using this component with manually defined routes
+=== Using this component with manually defined routes
 
 There are two options:
 
@@ -293,7 +293,7 @@ FileSystem.get("hdfs://localhost:9000/", conf);
 ...
 ----------------------------------------------------------------------------------------------------
 
-#### Using this component with Blueprint container
+=== Using this component with Blueprint container
 
 Two options:
 
diff --git a/components/camel-headersmap/src/main/docs/headersmap.adoc b/components/camel-headersmap/src/main/docs/headersmap.adoc
index 8b9283f..e7d7f70 100644
--- a/components/camel-headersmap/src/main/docs/headersmap.adoc
+++ b/components/camel-headersmap/src/main/docs/headersmap.adoc
@@ -1,11 +1,11 @@
-## HeadersMap
+= HeadersMap
 
 *Available as of Camel 2.20*
 
 The camel-headersmap is a faster implementation of a case-insenstive map which can be plugged in
 and used by Camel at runtime to have slight faster performance in the Camel Message headers.
 
-### Auto detection from classpath
+== Auto detection from classpath
 
 To use this implementation all you need to do is to add the `camel-headersmap` dependency to the classpath,
 and Camel should auto-detect this on startup and log as follows:
@@ -16,7 +16,7 @@ Detected and using custom HeadersMapFactory: org.apache.camel.component.headersm
 
 For spring-boot there is a `camel-headersmap-starter` dependency you should use.
 
-### Manual enabling
+== Manual enabling
 
 If you use OSGi or the implementation is not added to the classpath, you need to enable this explict such:
 
diff --git a/components/camel-hessian/src/main/docs/hessian-dataformat.adoc b/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
index 290366b..062bd4e 100644
--- a/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
+++ b/components/camel-hessian/src/main/docs/hessian-dataformat.adoc
@@ -18,7 +18,7 @@ If you want to use Hessian Data Format from Maven, add the following dependency
 </dependency>
 ------------------------------------------------------------
 
-### Options
+== Options
 
 // dataformat options: START
 The Hessian dataformat supports 4 options, which are listed below.
@@ -66,7 +66,7 @@ The component supports 5 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Using the Hessian data format in Java DSL
+== Using the Hessian data format in Java DSL
 
 [source,java]
 --------------------------------------------------------------------------------
@@ -74,7 +74,7 @@ ND
         .marshal().hessian();
 --------------------------------------------------------------------------------
 
-### Using the Hessian data format in Spring DSL
+== Using the Hessian data format in Spring DSL
 
 [source,xml]
 --------------------------------------------------------------------------------
diff --git a/components/camel-hipchat/src/main/docs/hipchat-component.adoc b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
index 7bfa441..220d9d4 100644
--- a/components/camel-hipchat/src/main/docs/hipchat-component.adoc
+++ b/components/camel-hipchat/src/main/docs/hipchat-component.adoc
@@ -14,7 +14,7 @@ https://www.hipchat.com/account/api[personal access token] that you can
 use to produce/consume messages.
 
 
-### URI Format
+== URI Format
 
 [source,java]
 -------------------------------
@@ -24,7 +24,7 @@ hipchat://[host][:port]?options
 You can append query options to the URI in the following format,
 ?options=value&option2=value&...
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -121,7 +121,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Scheduled Poll Consumer
+== Scheduled Poll Consumer
 
 This component implements the
 ScheduledPollConsumer. Only the last message
@@ -146,7 +146,7 @@ public void configure() throws Exception {
 }
 ---------------------------------------------------------------------------------
 
-#### Message headers set by the Hipchat consumer
+=== Message headers set by the Hipchat consumer
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |=======================================================================
@@ -163,7 +163,7 @@ Hipchat https://www.hipchat.com/docs/apiv2/method/view_recent_privatechat_histor
 The status of the API response received.
 |=======================================================================
 
-### Hipchat Producer
+== Hipchat Producer
 
 Producer can send messages to both Room's and User's simultaneously. The
 body of the exchange is sent as message. Sample usage is shown below.
@@ -180,7 +180,7 @@ Appropriate headers needs to be set.
  }
 ----------------------------------------------------------
 
-#### Message headers evaluated by the Hipchat producer
+=== Message headers evaluated by the Hipchat producer
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |=======================================================================
@@ -201,7 +201,7 @@ a user notification (change the tab color, play a sound, notify mobile
 phones, etc). *Default: 'false' (Room Only)*
 |=======================================================================
 
-#### Message headers set by the Hipchat producer
+=== Message headers set by the Hipchat producer
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |=======================================================================
@@ -214,7 +214,7 @@ The status of the API response received when message sent to the user.
 |HipchatFromUserResponseStatus |HipchatConstants.TO_ROOM_RESPONSE_STATUS |_http://hc.apache.org/httpcomponents-core-4.2.x/httpcore/apidocs/org/apache/http/StatusLine.html[StatusLine]_ |The status of the API response received when message sent to the room.
 |=======================================================================
 
-#### Configuring Http Client
+=== Configuring Http Client
 
 The HipChat component allow your own `HttpClient` configuration. This can be done by defining a reference for `CloseableHttpClient` in the http://camel.apache.org/registry.html[registry] (e.g. Spring Context) and then, set the parameter during the Endpoint definition, for example: `hipchat:http://api.hipchat.com?httpClient=#myHttpClient`.
 
@@ -232,7 +232,7 @@ CloseableHttpClient httpclient = HttpClients.custom()
 To see more information about Http Client configuration, please check the https://hc.apache.org/httpcomponents-client-ga/examples.html[official documentation].
  
 
-#### Dependencies
+=== Dependencies
 
 Maven users will need to add the following dependency to their pom.xml.
 
diff --git a/components/camel-hl7/src/main/docs/terser-language.adoc b/components/camel-hl7/src/main/docs/terser-language.adoc
index eece883..7f92e21 100644
--- a/components/camel-hl7/src/main/docs/terser-language.adoc
+++ b/components/camel-hl7/src/main/docs/terser-language.adoc
@@ -1,6 +1,6 @@
 [[terser-language]]
 = HL7 Terser Language
-### Terser language
+== Terser language
 *Available as of Camel version 2.11.0*
 *Available as of Camel version 2.11*
 
@@ -31,7 +31,7 @@ import static org.apache.camel.component.hl7.HL7.terser;
       .to("mock:test2");
 --------------------------------------------------------------------------------------------------
 
-### Terser Language options
+== Terser Language options
 
 // language options: START
 The HL7 Terser language supports 1 options, which are listed below.
diff --git a/components/camel-http4/src/main/docs/http4-component.adoc b/components/camel-http4/src/main/docs/http4-component.adoc
index 14a8fd6..bb06c76 100644
--- a/components/camel-http4/src/main/docs/http4-component.adoc
+++ b/components/camel-http4/src/main/docs/http4-component.adoc
@@ -28,7 +28,7 @@ Camel-http4 uses http://hc.apache.org/httpcomponents-client-ga/[Apache
 HttpClient 4.x] while camel-http uses
 http://hc.apache.org/httpclient-3.x/[Apache HttpClient 3.x].
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------
@@ -47,7 +47,7 @@ Therefore it should never be used as input into your Camel Routes. To
 bind/expose an HTTP endpoint via a HTTP server as input to a Camel
 route, use the <<jetty-component,Jetty Component>> instead.
 
-### Http4 Component Options
+== Http4 Component Options
 
 
 
@@ -218,7 +218,7 @@ The component supports 19 options, which are listed below.
 
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,20%,70%",options="header",]
 |=======================================================================
@@ -249,7 +249,7 @@ a content type, such as `text/html`.
 provide a content encoding, such as `gzip`.
 |=======================================================================
 
-### Message Body
+== Message Body
 
 Camel will store the HTTP response from the external server on the OUT
 body. All headers from the IN message will be copied to the OUT message,
@@ -259,7 +259,7 @@ HTTP response headers as well to the OUT message headers.
  
 
 
-### Using System Properties
+== Using System Properties
 
 When setting useSystemProperties to true, the HTTP Client will look for
 the following System Properties and it will use it:
@@ -281,7 +281,7 @@ the following System Properties and it will use it:
 * http.keepAlive
 * http.maxConnections
 
-### Response code
+== Response code
 
 Camel will handle according to the HTTP response code:
 
@@ -299,7 +299,7 @@ the `HttpOperationFailedException` from being thrown for failed response
 codes. This allows you to get any response from the remote server. +
 There is a sample below demonstrating this.
 
-### HttpOperationFailedException
+== HttpOperationFailedException
 
 This exception contains the following information:
 
@@ -309,7 +309,7 @@ This exception contains the following information:
 * Response body as a `java.lang.String`, if server provided a body as
 response
 
-### Which HTTP method will be used
+== Which HTTP method will be used
 
 The following algorithm is used to determine what HTTP method should be used: +
  1. Use method provided as endpoint configuration (`httpMethod`). +
@@ -319,7 +319,7 @@ The following algorithm is used to determine what HTTP method should be used: +
  5. `POST` if there is data to send (body is not `null`). +
  6. `GET` otherwise.
 
-### How to get access to HttpServletRequest and HttpServletResponse
+== How to get access to HttpServletRequest and HttpServletResponse
 
 You can get access to these two using the Camel type converter system
 using +
@@ -332,7 +332,7 @@ HttpServletRequest request = exchange.getIn().getBody(HttpServletRequest.class);
 HttpServletRequest response = exchange.getIn().getBody(HttpServletResponse.class);
 ----------------------------------------------------------------------------------
 
-### Configuring URI to call
+== Configuring URI to call
 
 You can set the HTTP producer's URI directly form the endpoint URI. In
 the route below, Camel will call out to the external server, `oldhost`,
@@ -371,7 +371,7 @@ endpoint is configured with http4://oldhost. +
 If the http4 endpoint is working in bridge mode, it will ignore the
 message header of `Exchange.HTTP_URI`.
 
-### Configuring URI Parameters
+== Configuring URI Parameters
 
 The *http* producer supports URI parameters to be sent to the HTTP
 server. The URI parameters can either be set directly on the endpoint
@@ -392,7 +392,7 @@ from("direct:start")
   .to("http4://oldhost");
 ---------------------------------------------------------------------
 
-### How to set the http method (GET/PATCH/POST/PUT/DELETE/HEAD/OPTIONS/TRACE) to the HTTP producer
+== How to set the http method (GET/PATCH/POST/PUT/DELETE/HEAD/OPTIONS/TRACE) to the HTTP producer
 
 *Using the http PATCH method*
 
@@ -432,7 +432,7 @@ And the equivalent Spring sample:
 </camelContext>
 ---------------------------------------------------------------------
 
-### Using client timeout - SO_TIMEOUT
+== Using client timeout - SO_TIMEOUT
 
 See the
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpSOTimeoutTest.java[HttpSOTimeoutTest]
@@ -442,7 +442,7 @@ unit test.
 https://github.com/apache/camel/blob/master/components/camel-http4/src/test/java/org/apache/camel/component/http4/HttpSOTimeoutTest.java[HttpSOTimeoutTest]
 unit test.
 
-### Configuring a Proxy
+== Configuring a Proxy
 
 The HTTP4 component provides a way to configure a proxy.
 
@@ -455,7 +455,7 @@ from("direct:start")
 There is also support for proxy authentication via the
 `proxyAuthUsername` and `proxyAuthPassword` options.
 
-#### Using proxy settings outside of URI
+=== Using proxy settings outside of URI
 
 To avoid System properties conflicts, you can set proxy configuration
 only from the CamelContext or URI. +
@@ -486,7 +486,7 @@ Properties and then the endpoint proxy options if provided. +
 Notice in *Camel 2.8* there is also a `http.proxyScheme` property you
 can set to explicit configure the scheme to use.
 
-### Configuring charset
+== Configuring charset
 
 If you are using `POST` to send data you can configure the `charset`
 using the `Exchange` property:
@@ -496,7 +496,7 @@ using the `Exchange` property:
 exchange.setProperty(Exchange.CHARSET_NAME, "ISO-8859-1");
 ----------------------------------------------------------
 
-#### Sample with scheduled poll
+=== Sample with scheduled poll
 
 This sample polls the Google homepage every 10 seconds and write the
 page to the file `message.html`:
@@ -509,7 +509,7 @@ from("timer://foo?fixedRate=true&delay=0&period=10000")
   .to("file:target/google");
 ------------------------------------------------------------
 
-#### URI Parameters from the endpoint URI
+=== URI Parameters from the endpoint URI
 
 In this sample we have the complete URI endpoint that is just what you
 would have typed in a web browser. Multiple URI parameters can of course
@@ -522,7 +522,7 @@ web browser. Camel does no tricks here.
 template.sendBody("http4://www.google.com/search?q=Camel", null);
 -----------------------------------------------------------------
 
-#### URI Parameters from the Message
+=== URI Parameters from the Message
 
 [source,java]
 ------------------------------------------------------------------
@@ -535,7 +535,7 @@ template.sendBody("http4://www.google.com/search", null, headers);
 In the header value above notice that it should *not* be prefixed with
 `?` and you can separate parameters as usual with the `&` char.
 
-#### Getting the Response Code
+=== Getting the Response Code
 
 You can get the HTTP response code from the HTTP4 component by getting
 the value from the Out message header with
@@ -552,19 +552,19 @@ Message out = exchange.getOut();
 int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 ------------------------------------------------------------------------------------
 
-### Disabling Cookies
+== Disabling Cookies
 
 To disable cookies you can set the HTTP Client to ignore cookies by
 adding this URI option: +
  `httpClient.cookiePolicy=ignoreCookies`
 
-### Advanced Usage
+== Advanced Usage
 
 If you need more control over the HTTP producer you should use the
 `HttpComponent` where you can set various classes to give you custom
 behavior.
 
-#### Setting up SSL for HTTP Client
+=== Setting up SSL for HTTP Client
 
 [[HTTP4-UsingtheJSSEConfigurationUtility]]
 Using the JSSE Configuration Utility
diff --git a/components/camel-ibatis/src/main/docs/ibatis-component.adoc b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
index 2805af3..81d9fb2 100644
--- a/components/camel-ibatis/src/main/docs/ibatis-component.adoc
+++ b/components/camel-ibatis/src/main/docs/ibatis-component.adoc
@@ -31,7 +31,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------
@@ -52,7 +52,7 @@ the root of the classpath and expected named as `SqlMapConfig.xml`. +
  In Camel 2.2 you can configure this on the iBatisComponent with the
 `setSqlMapConfig(String)` method.
 
-### Options
+== Options
 
 
 
@@ -138,7 +138,7 @@ with the following path and query parameters:
 
 
 
-### Message Headers
+== Message Headers
 
 Camel will populate the result message, either IN or OUT with a header
 with the operationName used:
@@ -154,7 +154,7 @@ instance an `INSERT` could return the auto-generated key, or number of
 rows etc.
 |=======================================================================
 
-### Message Body
+== Message Body
 
 The response from iBatis will only be set as body if it's a `SELECT`
 statement. That means, for example, for `INSERT` statements Camel will
@@ -162,7 +162,7 @@ not replace the body. This allows you to continue routing and keep the
 original body. The response from iBatis is always stored in the header
 with the key `CamelIBatisResult`.
 
-### Samples
+== Samples
 
 For example if you wish to consume beans from a JMS queue and insert
 them into a database you could do the following:
@@ -194,7 +194,7 @@ Where *insertAccount* is the iBatis ID in the SQL map file:
   </insert>
 ------------------------------------------------------------
 
-### Using StatementType for better control of IBatis
+== Using StatementType for better control of IBatis
 
 When routing to an iBatis endpoint you want more fine grained control so
 you can control whether the SQL statement to be executed is a `SELEECT`,
@@ -212,7 +212,7 @@ We can do the same for some of the other operations, such as
 And the same for `UPDATE`, where we can send an `Account` object as IN
 body to iBatis:
 
-#### Scheduled polling example
+=== Scheduled polling example
 
 Since this component does not support scheduled polling, you need to use
 another mechanism for triggering the scheduled polls, such as the
@@ -236,7 +236,7 @@ And the iBatis SQL map file used:
   </select>
 ----------------------------------------------------------------------------
 
-#### Using onConsume
+=== Using onConsume
 
 This component supports executing statements *after* data have been
 consumed and processed by Camel. This allows you to do post updates in
diff --git a/components/camel-ical/src/main/docs/ical-dataformat.adoc b/components/camel-ical/src/main/docs/ical-dataformat.adoc
index b284243..b52104d 100644
--- a/components/camel-ical/src/main/docs/ical-dataformat.adoc
+++ b/components/camel-ical/src/main/docs/ical-dataformat.adoc
@@ -28,7 +28,7 @@ END:VEVENT
 END:VCALENDAR
 ----------------------------------------------------------------------
 
-### Options
+== Options
 
 // dataformat options: START
 The iCal dataformat supports 2 options, which are listed below.
@@ -72,7 +72,7 @@ The component supports 3 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Basic Usage
+== Basic Usage
 
 To unmarshal and marshal the message shown above, your route will look
 like the following:
diff --git a/components/camel-ignite/src/main/docs/ignite-cache-component.adoc b/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
index 0ad13a1..cc2b5a3 100644
--- a/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-cache-component.adoc
@@ -11,7 +11,7 @@ The cache value is always the body of the message, whereas the cache key is alwa
 
 Even if you configure a fixed operation in the endpoint URI, you can vary it per-exchange by setting the `IgniteConstants.IGNITE_CACHE_OPERATION` message header.
 
-### Options
+== Options
 
 // component options: START
 The Ignite Cache component supports 4 options, which are listed below.
@@ -104,7 +104,7 @@ The component supports 5 options, which are listed below.
 
 
 
-#### Headers used
+=== Headers used
 
 This endpoint uses the following headers:
 [width="100%",cols="1,1,1,4",options="header"]
diff --git a/components/camel-ignite/src/main/docs/ignite-compute-component.adoc b/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
index 9e74f17..2c6bcfa 100644
--- a/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-compute-component.adoc
@@ -12,7 +12,7 @@ The host part of the endpoint URI is a symbolic endpoint ID, it is not used for
 
 The endpoint tries to run the object passed in the body of the IN message as the compute job. It expects different payload types depending on the execution type.
 
-### Options
+== Options
 
 // component options: START
 The Ignite Compute component supports 4 options, which are listed below.
@@ -97,7 +97,7 @@ The component supports 5 options, which are listed below.
 
 
 
-#### Expected payload types
+=== Expected payload types
 
 Each operation expects the indicated types:
 [width="100%",cols="1,4",options="header"]
@@ -112,7 +112,7 @@ Each operation expects the indicated types:
 | AFFINITY_RUN | IgniteRunnable.
 |=======================================================================
 
-#### Headers used
+=== Headers used
 
 This endpoint uses the following headers:
 [width="100%",cols="1,1,1,4",options="header"]
diff --git a/components/camel-ignite/src/main/docs/ignite-events-component.adoc b/components/camel-ignite/src/main/docs/ignite-events-component.adoc
index 62d0ada..7140b08 100644
--- a/components/camel-ignite/src/main/docs/ignite-events-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-events-component.adoc
@@ -9,7 +9,7 @@ The Ignite Events endpoint is one of camel-ignite endpoints which allows you to
 This endpoint only supports consumers.
 The Exchanges created by this consumer put the received Event object into the body of the IN message.
 
-### Options
+== Options
 
 // component options: START
 The Ignite Events component supports 4 options, which are listed below.
diff --git a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
index 14ce8b9..757ba2e 100644
--- a/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
@@ -8,7 +8,7 @@ The Ignite ID Generator endpoint is one of camel-ignite endpoints which allows y
 
 This endpoint only supports producers.
 
-### Options
+== Options
 
 // component options: START
 The Ignite ID Generator component supports 4 options, which are listed below.
diff --git a/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc b/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
index 151b997..5ee5709 100644
--- a/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
@@ -8,7 +8,7 @@ The Ignite Messaging endpoint is one of camel-ignite endpoints which allows you
 
 This endpoint supports producers (to send messages) and consumers (to receive messages).
 
-### Options
+== Options
 
 // component options: START
 The Ignite Messaging component supports 4 options, which are listed below.
@@ -94,7 +94,7 @@ The component supports 5 options, which are listed below.
 
 
 
-#### Headers used
+=== Headers used
 
 This endpoint uses the following headers:
 [width="100%",cols="1,1,1,4",options="header"]
diff --git a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
index dc9c795..ea94975 100644
--- a/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-queue-component.adoc
@@ -8,7 +8,7 @@ The Ignite Queue endpoint is one of camel-ignite endpoints which allows you to i
 
 This endpoint only supports producers.
 
-### Options
+== Options
 
 // component options: START
 The Ignite Queues component supports 4 options, which are listed below.
@@ -93,7 +93,7 @@ The component supports 5 options, which are listed below.
 
 
 
-#### Headers used
+=== Headers used
 
 This endpoint uses the following headers:
 [width="100%",cols="1,1,1,4",options="header"]
diff --git a/components/camel-ignite/src/main/docs/ignite-set-component.adoc b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
index dc78d0c..55d3f6f 100644
--- a/components/camel-ignite/src/main/docs/ignite-set-component.adoc
+++ b/components/camel-ignite/src/main/docs/ignite-set-component.adoc
@@ -8,7 +8,7 @@ The Ignite Sets endpoint is one of camel-ignite endpoints which allows you to in
 
 This endpoint only supports producers.
 
-### Options
+== Options
 
 // component options: START
 The Ignite Sets component supports 4 options, which are listed below.
@@ -91,7 +91,7 @@ The component supports 5 options, which are listed below.
 
 
 
-#### Headers used
+=== Headers used
 
 This endpoint uses the following headers:
 [width="100%",cols="1,1,1,4",options="header"]
diff --git a/components/camel-infinispan/src/main/docs/infinispan-component.adoc b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
index f69a309..4066778 100644
--- a/components/camel-infinispan/src/main/docs/infinispan-component.adoc
+++ b/components/camel-infinispan/src/main/docs/infinispan-component.adoc
@@ -24,14 +24,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------
 infinispan://cacheName?[options]
 -------------------------------
 
-### URI Options
+== URI Options
 
 The producer allows sending messages to a local infinispan cache
 configured in the registry, or to a remote cache using the HotRod
@@ -151,7 +151,7 @@ The component supports 21 options, which are listed below.
 
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,10%,10%,60%",options="header",]
 |=======================================================================
@@ -172,7 +172,7 @@ The component supports 21 options, which are listed below.
 |CamelInfinispanOperationResultHeader |null |String |Producer|*From Camel 2.20:* Store the operation result in a header instead of the message body
 |=======================================================================
 
-### Examples
+== Examples
 
 * Retrieve a specific key from the default cache using a custom cache container:
 +
@@ -224,7 +224,7 @@ from("direct:start")
     .to("infinispan?cacheContainerConfiguration=#cacheContainerConfiguration");
 ----
 
-### Using the Infinispan based idempotent repository
+== Using the Infinispan based idempotent repository
 
 In this section we will use the Infinispan based idempotent repository.
 
@@ -268,5 +268,5 @@ XML file as well:
 </camelContext>
 ----
 
-### Using the Infinispan based route policy
+== Using the Infinispan based route policy
 
diff --git a/components/camel-influxdb/src/main/docs/influxdb-component.adoc b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
index d39bb9b..edb8aac 100644
--- a/components/camel-influxdb/src/main/docs/influxdb-component.adoc
+++ b/components/camel-influxdb/src/main/docs/influxdb-component.adoc
@@ -28,14 +28,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------
 influxdb://beanName?[options]
 -------------------------------
 
-### URI Options
+== URI Options
 
 The producer allows sending messages to a influxdb
 configured in the registry, using the native java driver.
@@ -114,7 +114,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,10%,10%,60%",options="header",]
 |=======================================================================
@@ -123,7 +123,7 @@ The component supports 2 options, which are listed below.
 | | | | |
 |=======================================================================
 
-### Example
+== Example
 
 
 Below is an example route that stores a point into the db (taking the db name from the URI)
diff --git a/components/camel-ipfs/src/main/docs/ipfs-component.adoc b/components/camel-ipfs/src/main/docs/ipfs-component.adoc
index 0f1a56f..e9e6843 100644
--- a/components/camel-ipfs/src/main/docs/ipfs-component.adoc
+++ b/components/camel-ipfs/src/main/docs/ipfs-component.adoc
@@ -19,14 +19,14 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------
 ipfs://cmd?options
 ---------------------------------
 
-### Options
+== Options
 
 // component options: START
 The IPFS component has no options.
@@ -89,15 +89,15 @@ The component supports 2 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-### Karaf support
+== Karaf support
 
 Actually this component is not supported in Karaf
 
-### Message Headers
+== Message Headers
 
 [TODO]
 
-### Samples
+== Samples
 
 In this sample we add a file to IPFS, get a file from IPFS and finally access the content of an IPFS file. 
 
diff --git a/components/camel-ironmq/src/main/docs/ironmq-component.adoc b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
index 71193ce..d20900d 100644
--- a/components/camel-ironmq/src/main/docs/ironmq-component.adoc
+++ b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
@@ -25,7 +25,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -33,7 +33,7 @@ for this component:
 -----------------------------
 Where **queueName** identifies the IronMQ queue you want to publish or consume messages from.
 
-### Options
+== Options
 
 
 
@@ -132,7 +132,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### IronMQComponent Options
+== IronMQComponent Options
 
 
 
@@ -145,10 +145,10 @@ The IronMQ component has no options.
 
 
 
-### Message Body
+== Message Body
 Should be either a String or a array of Strings. In the latter case the batch of strings will be send to IronMQ as one request, creating one message pr. element in the array.
 
-### Producer message headers
+== Producer message headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -157,7 +157,7 @@ Should be either a String or a array of Strings. In the latter case the batch of
 |CamelIronMQMessageId |String or io.iron.ironmq.Ids|The id of the IronMQ message as a String when sending a single message, or a Ids object when sending a array of strings.
 |=======================================================================
 
-### Consumer message headers
+== Consumer message headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -168,7 +168,7 @@ Should be either a String or a array of Strings. In the latter case the batch of
 |=======================================================================
 
 
-### Consumer example
+== Consumer example
 
 Consume 50 messages pr. poll from the queue 'testqueue' on aws eu, and save the messages to files.
 
@@ -178,7 +178,7 @@ from("ironmq:testqueue?ironMQCloud=https://mq-aws-eu-west-1-1.iron.io&projectId=
   .to("file:somefolder");
 --------------------------------------------------
 
-### Producer example
+== Producer example
 Dequeue from activemq jms and enqueue the messages on IronMQ.
 
 [source,java]
diff --git a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
index 36c9f80..6295745 100644
--- a/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
+++ b/components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
@@ -29,7 +29,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-### JacksonXML Options
+== JacksonXML Options
 
 
 
@@ -102,7 +102,7 @@ The component supports 16 options, which are listed below.
 ND
 
 
-#### Using Jackson XML in Spring DSL
+=== Using Jackson XML in Spring DSL
 
 When using Data Format in Spring DSL you need to
 declare the data formats first. This is done in the *DataFormats* XML
@@ -128,7 +128,7 @@ And then you can refer to this id in the route:
         </route>
 -------------------------------------
 
-### Excluding POJO fields from marshalling
+== Excluding POJO fields from marshalling
 
 When marshalling a POJO to XML you might want to exclude certain fields
 from the XML output. With Jackson you can
@@ -148,7 +148,7 @@ Note that the weight field is missing in the resulting XML:
 <pojo age="30" weight="70"/>
 ----------------------------
 
-### Include/Exclude fields using the `jsonView` attribute with `JacksonXML`DataFormat
+== Include/Exclude fields using the `jsonView` attribute with `JacksonXML`DataFormat
 
 As an example of using this attribute you can instead of:
 
@@ -178,7 +178,7 @@ And the same in XML DSL:
   </marshal>
 ---------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Setting serialization include option
+== Setting serialization include option
 
 If you want to marshal a pojo to XML, and the pojo has some fields with
 null values. And you want to skip these null values, then you need to
@@ -211,7 +211,7 @@ Or from XML DSL you configure this as
     </dataFormats>
 ------------------------------------------------------
 
-### Unmarshalling from XML to POJO with dynamic class name
+== Unmarshalling from XML to POJO with dynamic class name
 
 If you use jackson to unmarshal XML to POJO, then you can now specify a
 header in the message that indicate which class name to unmarshal to. +
@@ -238,7 +238,7 @@ Or from XML DSL you configure this as
     </dataFormats>
 -------------------------------------------------------
 
-### Unmarshalling from XML to List<Map> or List<pojo>
+== Unmarshalling from XML to List<Map> or List<pojo>
 
 If you are using Jackson to unmarshal XML to a list of map/pojo, you can
 now specify this by setting `useList="true"` or use
@@ -274,7 +274,7 @@ And you can specify the pojo type also
     </dataFormats>
 -------------------------------------------------------------------------------
 
-### Using custom Jackson modules
+== Using custom Jackson modules
 
 You can use custom Jackson modules by specifying the class names of
 those using the moduleClassNames option as shown below.
@@ -306,7 +306,7 @@ to the module as shown below:
  Multiple modules can be specified separated by comma, such as
 moduleRefs="myJacksonModule,myOtherModule"
 
-### Enabling or disable features using Jackson
+== Enabling or disable features using Jackson
 
 Jackson has a number of features you can enable or disable, which its
 ObjectMapper uses. For example to disable failing on unknown properties
@@ -339,7 +339,7 @@ df.disableFeature(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
 df.disableFeature(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES);
 ----------------------------------------------------------------------
 
-### Converting Maps to POJO using Jackson
+== Converting Maps to POJO using Jackson
 
 Jackson `ObjectMapper` can be used to convert maps to POJO objects.
 Jackson component comes with the data converter that can be used to
@@ -360,7 +360,7 @@ If there is a single `ObjectMapper` instance available in the Camel
 registry, it will used by the converter to perform the conversion.
 Otherwise the default mapper will be used.  
 
-### Formatted XML marshalling (pretty-printing)
+== Formatted XML marshalling (pretty-printing)
 
 Using the `prettyPrint` option one can output a well formatted XML while
 marshalling:
@@ -383,7 +383,7 @@ Please note that there are 5 different overloaded `jacksonxml()` DSL
 methods which support the `prettyPrint` option in combination with other
 settings for `unmarshalType`, `jsonView` etc. 
 
-### Dependencies
+== Dependencies
 
 To use Jackson XML in your camel routes you need to add the dependency
 on *camel-jacksonxml* which implements this data format.
diff --git a/components/camel-javaspace/src/main/docs/javaspace-component.adoc b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
index bab46db..750ba70 100644
--- a/components/camel-javaspace/src/main/docs/javaspace-component.adoc
+++ b/components/camel-javaspace/src/main/docs/javaspace-component.adoc
@@ -36,7 +36,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------
@@ -46,7 +46,7 @@ javaspace:jini://host[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 // component options: START
@@ -124,9 +124,9 @@ The component supports 2 options, which are listed below.
 
 
 
-### Examples
+== Examples
 
-#### Sending and Receiving Entries
+=== Sending and Receiving Entries
 
 [source,java]
 --------------------------------------------------------------------------------------------------------
@@ -142,7 +142,7 @@ from("javaspace:jini://localhost?spaceName=mySpace&templateId=template&verb=take
 In this case the payload can be any object that inherits from the Jini
 `Entry` type.
 
-#### Sending and receiving serializable objects
+=== Sending and receiving serializable objects
 
 Using the preceding routes, it is also possible to send and receive any
 serializable object. The JavaSpace component detects that the payload is
@@ -150,7 +150,7 @@ not a Jini `Entry` and then it automatically wraps the payload with a
 Camel Jini `Entry`. In this way, a JavaSpace can be used as a generic
 transport mechanism.
 
-#### Using JavaSpace as a remote invocation transport
+=== Using JavaSpace as a remote invocation transport
 
 The JavaSpace component has been tailored to work in combination with
 the Camel bean component. It is therefore possible to call a remote POJO
diff --git a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
index 66aacbd..69bed0b 100644
--- a/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
+++ b/components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
@@ -9,7 +9,7 @@ marshalling standard which is included in Java 6 to unmarshal an XML
 payload into Java objects or to marshal Java objects into an XML
 payload.
 
-### Options
+== Options
 
 // dataformat options: START
 The JAXB dataformat supports 18 options, which are listed below.
@@ -85,7 +85,7 @@ The component supports 19 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Using the Java DSL
+== Using the Java DSL
 
 For example the following uses a named DataFormat of _jaxb_ which is
 configured with a number of Java package names to initialize the
@@ -111,7 +111,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-### Using Spring XML
+== Using Spring XML
 
 The following example shows how to use JAXB to unmarshal using
 Spring configuring the jaxb data type
@@ -126,7 +126,7 @@ You can specify context path using `:` as separator, for example
 `com.mycompany:com.mycompany2`. Note that this is handled by JAXB
 implementation and might change if you use different vendor than RI.
 
-### Partial marshalling/unmarshalling
+== Partial marshalling/unmarshalling
 
 *This feature is new to Camel 2.2.0.* +
  JAXB 2 supports marshalling and unmarshalling XML tree fragments. By
@@ -155,7 +155,7 @@ note that you need to specify its value {[namespaceUri]}[localPart]
    ...
 --------------------------------------------------------------------------------------
 
-### Fragment
+== Fragment
 
 *This feature is new to Camel 2.8.0.* +
  JaxbDataFormat has new property fragment which can set the the
@@ -164,7 +164,7 @@ you don't want the JAXB Marshaller to generate the XML declaration, you
 can set this option to be true. The default value of this property is
 false.
 
-### Ignoring the NonXML Character
+== Ignoring the NonXML Character
 
 *This feature is new to Camel 2.2.0.* +
  JaxbDataFromat supports to ignore the
@@ -209,7 +209,7 @@ Camel's NonXML filtering:
 <jaxb filterNonXmlChars="true"  contextPath="org.apache.camel.foo.bar" xmlStreamWriterWrapper="#testXmlStreamWriterWrapper" />
 ------------------------------------------------------------------------------------------------------------------------------
 
-### Working with the ObjectFactory
+== Working with the ObjectFactory
 
 If you use XJC to create the java class from the schema, you will get an
 ObjectFactory for you JAXB context. Since the ObjectFactory uses
@@ -222,7 +222,7 @@ unmarshaled message body.  +
 body, you need to set the JaxbDataFormat object's ignoreJAXBElement
 property to be false.
 
-### Setting encoding
+== Setting encoding
 
 You can set the *encoding* option to use when marshalling. Its the
 `Marshaller.JAXB_ENCODING` encoding property on the JAXB Marshaller. +
@@ -233,7 +233,7 @@ property will overrule the encoding set on the JAXB data format.
 
 In this Spring DSL we have defined to use `iso-8859-1` as the encoding:
 
-### Controlling namespace prefix mapping
+== Controlling namespace prefix mapping
 
 *Available as of Camel 2.11*
 
@@ -271,7 +271,7 @@ with the id "myMap", which was what we defined above.
   </marshal>
 ----------------------------------------------------------------------------------------
 
-### Schema validation
+== Schema validation
 
 *Available as of Camel 2.11*
 
@@ -318,7 +318,7 @@ JaxbDataFormat jaxbDataFormat = new JaxbDataFormat();
 jaxbDataFormat.setSchemaFactory(thradSafeSchemaFactory);
 --------------------------------------------------------
 
-### Schema Location
+== Schema Location
 
 *Available as of Camel 2.14*
 
@@ -343,7 +343,7 @@ You can do the same using the XML DSL:
 </marshal>
 --------------------------------------------------------
 
-### Marshal data that is already XML
+== Marshal data that is already XML
 
 *Available as of Camel 2.14.1*
 
@@ -356,7 +356,7 @@ the JAXB marshaller only attempts to marshal JAXBElements
 (javax.xml.bind.JAXBIntrospector#isElement returns true). And in those
 situations the marshaller fallbacks to marshal the message body as-is.
 
-### Dependencies
+== Dependencies
 
 To use JAXB in your camel routes you need to add the a dependency on
 *camel-jaxb* which implements this data format.
diff --git a/components/camel-jbpm/src/main/docs/jbpm-component.adoc b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
index e61d611..4abcfd5 100644
--- a/components/camel-jbpm/src/main/docs/jbpm-component.adoc
+++ b/components/camel-jbpm/src/main/docs/jbpm-component.adoc
@@ -21,7 +21,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------------------------------
 
-## Consumer
+== Consumer
 
 jBPM Consumer allows to attach routes to 
 
@@ -29,7 +29,7 @@ jBPM Consumer allows to attach routes to
 * TaskEventListners
 * CaseEventListeners
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------
@@ -56,12 +56,12 @@ Consumers are configured via KieServerExtension that is a pluggable interface to
 jBPM with additional capabilities. It reacts to different life cycle phases of the KIE Server
 and by that is able to configure individual endpoints properly.
 
-### KJAR routes
+== KJAR routes
 
 Create file named `camel-routes.xml` in the root folder of your KJAR (src/main/resources) so it will be automatically 
 discovered and Camel Context for given KJAR will be created.
 
-### Global routes
+== Global routes
 
 Create file name `global-camel-routes` in the root of the class path of KIE Server. It will be automatically found and registered
 on every KJAR deployed to KIE Server.
@@ -92,7 +92,7 @@ Example camel-routes.xml file that can be placed in the KJAR
 ----
 
 
-### Use of jBPM Component in KIE Server
+== Use of jBPM Component in KIE Server
 
 To make use of camel-jbpm component in a KIE Server it is as simple as just adding two jars into KIE Server application
 
@@ -121,19 +121,19 @@ To make use of jBPM Consumer jBPM deployment descriptor must also define camel s
 These must be set in either server level of kjar deployment descriptor (use MVEL as resolver type) - see jbpm docs for more details about
 deployment descriptors.
 
-## Producer
+== Producer
 
 Producer is dedicated to interact with jBPM via kie-server-client that uses exposed REST api of 
 jBPM (KIE Server).
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------
 jbpm::hostName[:port][/resourceUri][?options]
 ---------------------------------------------
 
-### URI Options
+== URI Options
 
 
 // component options: START
@@ -234,7 +234,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |=======================================================================
@@ -282,7 +282,7 @@ org.infinispan.notifications.cachelistener.event.Event.Type
 |CamelJBPMStatusList |null |List<String> |The list of status to use when filtering tasks
 |=======================================================================
 
-### Example
+== Example
 
 Below is an example route that starts a business process with id
 evaluation. To run this example you need jBPM to run locally, easiest is to use single zip 
diff --git a/components/camel-jcache/src/main/docs/jcache-component.adoc b/components/camel-jcache/src/main/docs/jcache-component.adoc
index 3078e10..28a4370 100644
--- a/components/camel-jcache/src/main/docs/jcache-component.adoc
+++ b/components/camel-jcache/src/main/docs/jcache-component.adoc
@@ -6,14 +6,14 @@
 
 The jcache component enables you to perform caching operations using JSR107/JCache as cache implementation.
 
-### URI Format
+== URI Format
 
 [source,java]
 ----------------------------
 jcache:cacheName[?options]
 ----------------------------
 
-### URI Options
+== URI Options
 
 // endpoint options: START
 The JCache endpoint is configured using URI syntax:
diff --git a/components/camel-jclouds/src/main/docs/jclouds-component.adoc b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
index c23b843..4d057a8 100644
--- a/components/camel-jclouds/src/main/docs/jclouds-component.adoc
+++ b/components/camel-jclouds/src/main/docs/jclouds-component.adoc
@@ -35,7 +35,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Configuring the component
+== Configuring the component
 
 The camel jclouds component will make use of multiple jclouds blobstores
 and compute services as long as they are passed to the component during
@@ -84,7 +84,7 @@ As you can see the component is capable of handling multiple blobstores
 and compute services. The actual implementation that will be used by
 each endpoint is specified by passing the provider inside the URI.
 
-### Jclouds Options
+== Jclouds Options
 
 [source,java]
 -----------------------------------------
@@ -98,7 +98,7 @@ target service (_e.g. aws-s3 or aws_ec2_).
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Blobstore URI Options
+== Blobstore URI Options
 
 
 
@@ -178,7 +178,7 @@ jclouds:blobstore:aws-s3?operation=CamelJcloudsGet&container=mycontainer&blobNam
 For producer endpoint you can override all of the above URI options by
 passing the appropriate headers to the message.
 
-#### Message Headers for blobstore
+=== Message Headers for blobstore
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -193,9 +193,9 @@ passing the appropriate headers to the message.
 |`CamelJcloudsBlobName` |The name of the blob.
 |=======================================================================
 
-### Blobstore Usage Samples
+== Blobstore Usage Samples
 
-#### Example 1: Putting to the blob
+=== Example 1: Putting to the blob
 
 This example will show you how you can store any message inside a blob
 using the jclouds component.
@@ -222,7 +222,7 @@ route.
 </route>
 --------------------------------------------------------------------------------------------
 
-#### Example 2: Getting/Reading from a blob
+=== Example 2: Getting/Reading from a blob
 
 This example will show you how you can read the contnet of a blob using
 the jclouds component.
@@ -249,7 +249,7 @@ route.
 </route>
 --------------------------------------------------------------------------------------------
 
-#### Example 3: Consuming a blob
+=== Example 3: Consuming a blob
 
 This example will consume all blob that are under the specified
 container. The generated exchange will contain the payload of the blob
@@ -279,12 +279,12 @@ You can achieve the same goal by using xml, as you can see below.
 jclouds:compute:aws-ec2?operation=CamelJcloudsCreateNode&imageId=AMI_XXXXX&locationId=eu-west-1&group=mygroup
 -------------------------------------------------------------------------------------------------------------
 
-### Compute Usage Samples
+== Compute Usage Samples
 
 Below are some examples that demonstrate the use of jclouds compute
 producer in java dsl and spring/blueprint xml.
 
-#### Example 1: Listing the available images.
+=== Example 1: Listing the available images.
 
 [source,java]
 --------------------------------------------
@@ -304,7 +304,7 @@ its body. You can also do the same using xml.
 </route>
 --------------------------------------------------------------------------
 
-#### Example 2: Create a new node.
+=== Example 2: Create a new node.
 
 [source,java]
 ---------------------------------------------
@@ -329,7 +329,7 @@ spring xml.
 </route>
 -------------------------------------------------------------------------------------------------------------------------
 
-#### Example 3: Run a shell script on running node.
+=== Example 3: Run a shell script on running node.
 
 [source,java]
 --------------------------------------------
@@ -362,7 +362,7 @@ Here is the same using spring xml.
 </route>
 ----------------------------------------------------------------------------------------------
 
-#### See also
+=== See also
 
 If you want to find out more about jclouds here is list of interesting
 resources 
diff --git a/components/camel-jcr/src/main/docs/jcr-component.adoc b/components/camel-jcr/src/main/docs/jcr-component.adoc
index ab7b55b..2d848b7 100644
--- a/components/camel-jcr/src/main/docs/jcr-component.adoc
+++ b/components/camel-jcr/src/main/docs/jcr-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------
@@ -34,12 +34,12 @@ jcr://user:password@repository/path/to/node
 From *Camel 2.10* onwards you can use consumer as an EventListener in
 JCR or a producer to read a node by identifier.
 
-### Usage
+== Usage
 
 The `repository` element of the URI is used to look up the JCR
 `Repository` object in the Camel context registry.
 
-#### JCR Options
+=== JCR Options
 
 
 // component options: START
@@ -128,7 +128,7 @@ message headers in Camel versions earlier than 2.12.3. See
 https://issues.apache.org/jira/browse/CAMEL-7067[https://issues.apache.org/jira/browse/CAMEL-7067]
 for more details.
 
-### Example
+== Example
 
 The snippet below creates a node named `node` under the `/home/test`
 node in the content repository. One additional property is added to the
diff --git a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
index b94a1bd..9a42e17 100644
--- a/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
+++ b/components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
@@ -20,7 +20,7 @@ for this component.
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -30,7 +30,7 @@ jgroups-raft:clusterName[?options]
 Where *clusterName* represents the name of the JGroups-raft cluster the
 component should connect to.
 
-### Options
+== Options
 
 // component options: START
 The JGroups raft component supports 5 options, which are listed below.
@@ -118,7 +118,7 @@ The component supports 11 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-### Headers
+== Headers
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
 |=======================================================================
@@ -151,7 +151,7 @@ The component supports 11 options, which are listed below.
 |`JGROUPSRAFT_SET_TIMEUNIT` |`JGroupsRaftEndpoint.`HEADER_JGROUPSRAFT_SET_TIMEUNIT` |*2.24.0* | *Producer*: Timeunit to be used in set() operation.
 |=======================================================================
  
-### Usage
+== Usage
 
 Using `jgroups-raft` component with `enableRoleChangeEvents=true` on the consumer side of the route will capture
 change in JGrups-raft role and forward them to the Camel route.
@@ -174,9 +174,9 @@ to perform a setX() operation on the raftHandle associated with the endpoint..
 from("direct:start").to("jgroups-raft:clusterName");
 --------------------------------------------------
 
-### Examples
+== Examples
 
-#### Receive cluster view change notifications
+=== Receive cluster view change notifications
 
 The snippet below demonstrates how to create the consumer endpoint
 listening to the change role events. By default this option is off.
@@ -188,7 +188,7 @@ from("jgroups-raft:clusterName?enableRoleChangeEvents=true").to(mock:mockEndpoin
 ...
 ---------------------------------------------------------------------
 
-#### Keeping singleton route within the cluster
+=== Keeping singleton route within the cluster
 
 The snippet below demonstrates how to keep the singleton consumer route
 in the cluster of Camel Contexts. As soon as the master node dies, one
diff --git a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
index 16e0272..6c65051 100644
--- a/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
+++ b/components/camel-jibx/src/main/docs/jibx-dataformat.adoc
@@ -28,7 +28,7 @@ from("mqseries:Another.Queue").
   to("activemq:My.Queue");
 -------------------------------------------
 
-### Options
+== Options
 
 // dataformat options: START
 The JiBX dataformat supports 3 options, which are listed below.
@@ -75,7 +75,7 @@ The component supports 4 options, which are listed below.
 ND
 
 
-### JiBX Spring DSL
+== JiBX Spring DSL
 
 JiBX data format is also supported by Camel Spring DSL.
 
@@ -105,7 +105,7 @@ JiBX data format is also supported by Camel Spring DSL.
 </camelContext>
 --------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use JiBX in your camel routes you need to add the a dependency on
 *camel-jibx* which implements this data format.
diff --git a/components/camel-jing/src/main/docs/jing-component.adoc b/components/camel-jing/src/main/docs/jing-component.adoc
index 85e24bb..57fc037 100644
--- a/components/camel-jing/src/main/docs/jing-component.adoc
+++ b/components/camel-jing/src/main/docs/jing-component.adoc
@@ -28,7 +28,7 @@ for this component:
 Note that the <<msv-component,MSV>> component can also support RelaxNG XML
 syntax.
 
-### URI format Camel 2.16
+== URI format Camel 2.16
 
 [source,java]
 ------------------------------
@@ -38,7 +38,7 @@ jing:someLocalOrRemoteResource
 From Camel 2.16 the component use jing as name, and you can use the
 option compactSyntax to turn on either RNG or RNC mode.
 
-### Options
+== Options
 
 
 // component options: START
@@ -108,7 +108,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Example
+== Example
 
 The following
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-jing/src/test/resources/org/apache/camel/component/validator/jing/rnc-context.xml[example]
diff --git a/components/camel-jira/src/main/docs/jira-component.adoc b/components/camel-jira/src/main/docs/jira-component.adoc
index b0e5f88..0ffde7f 100644
--- a/components/camel-jira/src/main/docs/jira-component.adoc
+++ b/components/camel-jira/src/main/docs/jira-component.adoc
@@ -34,14 +34,14 @@ for this component:
 </dependency>
 ---------------------------------------
 
-### URI format
+== URI format
 
 [source,text]
 -------------------------
 jira://endpoint[?options]
 -------------------------
 
-### JIRA Options
+== JIRA Options
 
 
 // component options: START
@@ -118,7 +118,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### JQL:
+== JQL:
 
 The JQL URI option is used by both consumer endpoints.  Theoretically,
 items like "project key", etc. could be URI options themselves.
diff --git a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
index a85018d..63fdc71 100644
--- a/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
+++ b/components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
@@ -14,7 +14,7 @@ from("activemq:My.Queue").
   to("mqseries:Another.Queue");
 -------------------------------
 
-### Johnzon Options
+== Johnzon Options
 
 
 
@@ -94,7 +94,7 @@ The component supports 20 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Dependencies
+== Dependencies
 
 To use Johnzon in your camel routes you need to add the dependency
 on *camel-johnzon* which implements this data format.
diff --git a/components/camel-jolt/src/main/docs/jolt-component.adoc b/components/camel-jolt/src/main/docs/jolt-component.adoc
index 78e88a5..e5b43b7 100644
--- a/components/camel-jolt/src/main/docs/jolt-component.adoc
+++ b/components/camel-jolt/src/main/docs/jolt-component.adoc
@@ -23,7 +23,7 @@ their `pom.xml` for this component:
 
  
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------
@@ -37,7 +37,7 @@ invoke; or the complete URL of the remote specification
 You can append query options to the URI in the following
 format, `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 
@@ -124,7 +124,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### Samples
+== Samples
 
 For example you could use something like
 
diff --git a/components/camel-josql/src/main/docs/sql-language.adoc b/components/camel-josql/src/main/docs/sql-language.adoc
index 7465222..91b9c72 100644
--- a/components/camel-josql/src/main/docs/sql-language.adoc
+++ b/components/camel-josql/src/main/docs/sql-language.adoc
@@ -57,7 +57,7 @@ And the spring DSL:
    <to uri="queue:bar"/>
 --------------------------------------
 
-### Options
+== Options
 
 
 // language options: START
@@ -99,7 +99,7 @@ The component supports 2 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
diff --git a/components/camel-jpa/src/main/docs/jpa-component.adoc b/components/camel-jpa/src/main/docs/jpa-component.adoc
index ff773f0..e06c10d 100644
--- a/components/camel-jpa/src/main/docs/jpa-component.adoc
+++ b/components/camel-jpa/src/main/docs/jpa-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Sending to the endpoint
+== Sending to the endpoint
 
 You can store a Java entity bean in a database by sending it to a JPA
 producer endpoint. The body of the _In_ message is assumed to be an
@@ -48,7 +48,7 @@ if you execute `UPDATE`/`DELETE` with `namedQuery` as camel don't look into the
 named query unlike `query` and `nativeQuery`.
 
 
-### Consuming from the endpoint
+== Consuming from the endpoint
 
 Consuming messages from a JPA consumer endpoint removes (or updates)
 entity beans in the database. This allows you to use a database table as
@@ -74,7 +74,7 @@ which will be invoked on your entity bean before it has been processed
 If you are consuming a lot (100K+) of rows and experience OutOfMemory
 problems you should set the maximumResults to sensible value.
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -90,7 +90,7 @@ For consuming, the _entityClassName_ is mandatory.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 
@@ -224,7 +224,7 @@ The component supports 6 options, which are listed below.
 
 
 
-### Message Headers
+== Message Headers
 
 Camel adds the following message headers to the exchange:
 
@@ -246,7 +246,7 @@ reason why the support for this header has been dropped.
 
 |=======================================================================
 
-### Configuring EntityManagerFactory
+== Configuring EntityManagerFactory
 
 Its strongly advised to configure the JPA component to use a specific
 `EntityManagerFactory` instance. If failed to do so each `JpaEndpoint`
@@ -269,7 +269,7 @@ you do not need to configure this on the `JpaComponent` as shown above.
 You only need to do so if there is ambiguity, in which case Camel will
 log a WARN.
 
-### Configuring TransactionManager
+== Configuring TransactionManager
 
 Since *Camel 2.3* the `JpaComponent` will auto lookup the
 `TransactionManager` from the Registry. If Camel
@@ -294,7 +294,7 @@ explicitly configure a JPA component that references the
 </bean>
 -------------------------------------------------------------------
 
-### Using a consumer with a named query
+== Using a consumer with a named query
 
 For consuming only selected entities, you can use the
 `consumer.namedQuery` URI query option. First, you have to define the
@@ -317,7 +317,7 @@ from("jpa://org.apache.camel.examples.MultiSteps?consumer.namedQuery=step1")
 .to("bean:myBusinessLogic");
 ----------------------------------------------------------------------------
 
-### Using a consumer with a query
+== Using a consumer with a query
 
 For consuming only selected entities, you can use the `consumer.query`
 URI query option. You only have to define the query option:
@@ -328,7 +328,7 @@ from("jpa://org.apache.camel.examples.MultiSteps?consumer.query=select o from or
 .to("bean:myBusinessLogic");
 ---------------------------------------------------------------------------------------------------------------------------------------
 
-### Using a consumer with a native query
+== Using a consumer with a native query
 
 For consuming only selected entities, you can use the
 `consumer.nativeQuery` URI query option. You only have to define the
@@ -344,7 +344,7 @@ If you use the native query option, you will receive an object array in
 the message body.
 
 
-### Using a producer with a named query
+== Using a producer with a named query
 
 For retrieving selected entities or execute bulk update/delete, you can use the
 `namedQuery` URI query option. First, you have to define the
@@ -370,7 +370,7 @@ from("direct:namedQuery")
 Note that you need to specify `useExecuteUpdate` option to `true` to execute `UPDATE`/`DELETE` statement
 as a named query.
 
-### Using a producer with a query
+== Using a producer with a query
 
 For retrieving selected entities or execute bulk update/delete, you can use the `query`
 URI query option. You only have to define the query option:
@@ -381,7 +381,7 @@ from("direct:query")
 .to("jpa://org.apache.camel.examples.MultiSteps?query=select o from org.apache.camel.examples.MultiSteps o where o.step = 1");
 ---------------------------------------------------------------------------------------------------------------------------------------
 
-### Using a producer with a native query
+== Using a producer with a native query
 
 For retrieving selected entities or execute bulk update/delete, you can use the
 `nativeQuery` URI query option. You only have to define the
@@ -396,12 +396,12 @@ from("direct:nativeQuery")
 If you use the native query option without specifying `resultClass`, you will receive an object array in
 the message body.
 
-### Example
+== Example
 
 See link:http://camel.apache.org/tracer-example.html[Tracer Example] for an example using
 <<jpa-component,JPA>> to store traced messages into a database.
 
-### Using the JPA-Based Idempotent Repository
+== Using the JPA-Based Idempotent Repository
 
 The Idempotent Consumer from the http://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] is used to filter out duplicate messages. A JPA-based idempotent repository is provided.
 
diff --git a/components/camel-jsch/src/main/docs/scp-component.adoc b/components/camel-jsch/src/main/docs/scp-component.adoc
index b3d305c..4c10452 100644
--- a/components/camel-jsch/src/main/docs/scp-component.adoc
+++ b/components/camel-jsch/src/main/docs/scp-component.adoc
@@ -23,7 +23,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------
@@ -37,7 +37,7 @@ The file name can be specified either in the <path> part of the URI or
 as a "CamelFileName" header on the message (`Exchange.FILE_NAME` if used
 in code).
 
-### Options
+== Options
 
 
 
@@ -147,7 +147,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### Limitations
+== Limitations
 
 Currently camel-jsch only supports a
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Producer.html[Producer]
diff --git a/components/camel-jt400/src/main/docs/jt400-component.adoc b/components/camel-jt400/src/main/docs/jt400-component.adoc
index fda11d7..3516c3d 100644
--- a/components/camel-jt400/src/main/docs/jt400-component.adoc
+++ b/components/camel-jt400/src/main/docs/jt400-component.adoc
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ----------------------------------------------------------------------
@@ -37,7 +37,7 @@ jt400://user:password@system/QSYS.LIB/LIBRARY.LIB/program.PGM[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### JT400 options
+== JT400 options
 
 // component options: START
 The JT400 component supports 2 options, which are listed below.
@@ -145,7 +145,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### Usage
+== Usage
 
 When configured as a consumer endpoint, the endpoint will poll a data
 queue on a remote system. For every entry on the data queue, a new
@@ -154,7 +154,7 @@ formatted either as a `String` or a `byte[]`, depending on the format.
 For a provider endpoint, the _In_ message body contents will be put on
 the data queue as either raw bytes or text.
 
-### Connection pool
+== Connection pool
 
 *Available as of Camel 2.10*
 
@@ -162,7 +162,7 @@ Connection pooling is in use from Camel 2.10 onwards. You can explicit
 configure a connection pool on the Jt400Component, or as an uri option
 on the endpoint.
 
-#### Remote program call (*Camel 2.7*)
+=== Remote program call (*Camel 2.7*)
 
 This endpoint expects the input to be either a String array or byte[]
 array (depending on format) and handles all the CCSID handling through
@@ -173,7 +173,7 @@ String array or byte[] array with the values as they were returned by
 the program (the input only parameters will contain the same data as the
 beginning of the invocation). This endpoint does not implement a provider endpoint!
 
-### Example
+== Example
 
 In the snippet below, the data for an exchange sent to the
 `direct:george` endpoint will be put in the data queue `PENNYLANE` in
@@ -192,7 +192,7 @@ public class Jt400RouteBuilder extends RouteBuilder {
 }
 -------------------------------------------------------------------------------------------------------
 
-#### Remote program call example (*Camel 2.7*)
+=== Remote program call example (*Camel 2.7*)
 
 In the snippet below, the data Exchange sent to the direct:work endpoint
 will contain three string that will be used as the arguments for the
@@ -210,7 +210,7 @@ public class Jt400RouteBuilder extends RouteBuilder {
 }
 ---------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Writing to keyed data queues
+=== Writing to keyed data queues
 
 [source,java]
 ------------------------------------------------------------------------
@@ -218,7 +218,7 @@ from("jms:queue:input")
 .to("jt400://username:password@system/lib.lib/MSGINDQ.DTAQ?keyed=true");
 ------------------------------------------------------------------------
 
-#### Reading from keyed data queues
+=== Reading from keyed data queues
 
 [source,java]
 -------------------------------------------------------------------------------------------------------
diff --git a/components/camel-juel/src/main/docs/el-language.adoc b/components/camel-juel/src/main/docs/el-language.adoc
index b740073..4e893c2 100644
--- a/components/camel-juel/src/main/docs/el-language.adoc
+++ b/components/camel-juel/src/main/docs/el-language.adoc
@@ -47,7 +47,7 @@ Message Filter or as an
 Expression for a
 Recipient List
 
-### EL Options
+== EL Options
 
 
 
@@ -91,7 +91,7 @@ The component supports 2 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Variables
+== Variables
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -104,7 +104,7 @@ The component supports 2 options, which are listed below.
 |out |Message |the exchange.out message
 |=======================================================================
 
-### Samples
+== Samples
 
 You can use EL dot notation to invoke operations. If you for instance
 have a body that contains a POJO that has a `getFamiliyName` method then
@@ -115,7 +115,7 @@ you can construct the syntax as follows:
 "${in.body.familyName}"
 -----------------------
 
-### Dependencies
+== Dependencies
 
 To use EL in your camel routes you need to add the a dependency on
 *camel-juel* which implements the EL language.
diff --git a/components/camel-jxpath/src/main/docs/jxpath-language.adoc b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
index 8322085..2916b8a 100644
--- a/components/camel-jxpath/src/main/docs/jxpath-language.adoc
+++ b/components/camel-jxpath/src/main/docs/jxpath-language.adoc
@@ -23,7 +23,7 @@ from("queue:foo").filter().
   to("queue:bar")
 ---------------------------
 
-### JXPath Options
+== JXPath Options
 
 
 // language options: START
@@ -70,7 +70,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### Variables
+== Variables
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -83,7 +83,7 @@ The component supports 3 options, which are listed below.
 |out |Message |the exchange.out message
 |=======================================================================
 
-### Options
+== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -97,7 +97,7 @@ http://commons.apache.org/proper/commons-jxpath//users-guide.html#Lenient_Mode[J
 Documentation] This option is by default false.
 |=======================================================================
 
-### Using XML configuration
+== Using XML configuration
 
 If you prefer to configure your routes in your Spring
 XML file then you can use JXPath expressions as follows
@@ -122,14 +122,14 @@ XML file then you can use JXPath expressions as follows
 </beans>
 ---------------------------------------------------------------------------------------------------------------
 
-### Examples
+== Examples
 
 Here is a simple
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-jxpath/src/test/java/org/apache/camel/language/jxpath/JXPathFilterTest.java[example]
 using a JXPath expression as a predicate in a
 Message Filter
 
-### JXPath injection
+== JXPath injection
 
 You can use Bean Integration to invoke a
 method on a bean and use various languages such as JXPath to extract a
@@ -148,7 +148,7 @@ public class Foo {
 }
 ---------------------------------------------------------------------------------------------
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -162,7 +162,7 @@ eg to refer to a file on the classpath you can do:
 .setHeader("myHeader").jxpath("resource:classpath:myjxpath.txt")
 ----------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use JXpath in your camel routes you need to add the a dependency on
 *camel-jxpath* which implements the JXpath language.
diff --git a/components/camel-kestrel/src/main/docs/kestrel-component.adoc b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
index 84d2b0d..787ff17 100644
--- a/components/camel-kestrel/src/main/docs/kestrel-component.adoc
+++ b/components/camel-kestrel/src/main/docs/kestrel-component.adoc
@@ -14,7 +14,7 @@ WARNING: The kestrel project is inactive and the Camel team regard this
 components as deprecated.
 
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------
@@ -61,7 +61,7 @@ concurrently from a queue:
 kestrel://kserver03:22133/massive?concurrentConsumers=25&waitTimeMs=500
 -----------------------------------------------------------------------
 
-### Options
+== Options
 
 
 
@@ -154,7 +154,7 @@ The component supports 5 options, which are listed below.
 
 
 
-### Configuring the Kestrel component using Spring XML
+== Configuring the Kestrel component using Spring XML
 
 The simplest form of explicit configuration is as follows:
 
@@ -206,9 +206,9 @@ can set up a KestrelConfiguration POJO as follows:
 </beans>
 ---------------------------------------------------------------------------------------------------------------
 
-### Usage Examples
+== Usage Examples
 
-#### Example 1: Consuming
+=== Example 1: Consuming
 
 [source,java]
 -------------------------------------------------------------------------------
@@ -225,7 +225,7 @@ public class MyConsumer {
 }
 -------------------------------------------
 
-#### Example 2: Producing
+=== Example 2: Producing
 
 [source,java]
 ------------------------------------------------------------------------------
@@ -239,7 +239,7 @@ public class MyProducer {
 }
 ------------------------------------------------------------------------------
 
-#### Example 3: Spring XML Configuration
+=== Example 3: Spring XML Configuration
 
 [source,xml]
 ----------------------------------------------------------------------------------------
@@ -264,13 +264,13 @@ public class MyBean {
 }
 -------------------------------------------
 
-### Dependencies
+== Dependencies
 
 The Kestrel component has the following dependencies:
 
 * `spymemcached` 2.5 (or greater)
 
-#### spymemcached
+=== spymemcached
 
 You *must* have the `spymemcached` jar on your classpath. Here is a
 snippet you can use in your pom.xml:
diff --git a/components/camel-krati/src/main/docs/krati-component.adoc b/components/camel-krati/src/main/docs/krati-component.adoc
index 079bb0d..097060d 100644
--- a/components/camel-krati/src/main/docs/krati-component.adoc
+++ b/components/camel-krati/src/main/docs/krati-component.adoc
@@ -27,7 +27,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------
@@ -40,7 +40,7 @@ krati will use for its datastore.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Krati Options
+== Krati Options
 
 
 // component options: START
@@ -149,7 +149,7 @@ krati:/tmp/krati?operation=CamelKratiGet&initialCapacity=10000&keySerializer=#my
 For producer endpoint you can override all of the above URI options by
 passing the appropriate headers to the message.
 
-#### Message Headers for datastore
+=== Message Headers for datastore
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -163,9 +163,9 @@ CamelKratiDelete, CamelKratiDeleteAll
 |`CamelKratiValue` |The value.
 |=======================================================================
 
-### Usage Samples
+== Usage Samples
 
-#### Example 1: Putting to the datastore.
+=== Example 1: Putting to the datastore.
 
 This example will show you how you can store any message inside a
 datastore.
@@ -188,7 +188,7 @@ route.
         </route>
 ------------------------------------------------------------
 
-#### Example 2: Getting/Reading from a datastore
+=== Example 2: Getting/Reading from a datastore
 
 This example will show you how you can read the contnet of a datastore.
 
@@ -212,7 +212,7 @@ route.
 </route>
 -----------------------------------------------------------------------------
 
-#### Example 3: Consuming from a datastore
+=== Example 3: Consuming from a datastore
 
 This example will consume all items that are under the specified
 datastore.
@@ -233,7 +233,7 @@ You can achieve the same goal by using xml, as you can see below.
 </route>
 ------------------------------------------------------
 
-### Idempotent Repository
+== Idempotent Repository
 
 As already mentioned this component also offers and idemptonet
 repository which can be used for filtering out duplicate messages.
@@ -243,6 +243,6 @@ repository which can be used for filtering out duplicate messages.
 from("direct://in").idempotentConsumer(header("messageId"), new KratiIdempotentRepositroy("/tmp/idempotent").to("log://out");
 -----------------------------------------------------------------------------------------------------------------------------
 
-#### See also
+=== See also
 
 http://sna-projects.com/krati/[Krati Website]
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
index ae9c70f..5203c94 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
@@ -8,14 +8,14 @@ The *Kubernetes ConfigMap* component is one of <<kubernetes-component,Kubernete
 provides a producer to execute kubernetes ConfigMap operations.
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes ConfigMap component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes ConfigMap endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
index 068b823..1632606 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes secret operations.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Deployments component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Deployments endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
index fe5e243..8447424 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
@@ -10,14 +10,14 @@ hpa events.
  
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes HPA component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes HPA endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
index e311a63..2c0b847 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes job operations.
  
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Job component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Job endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
index 8b90975..e44fa99 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
@@ -10,14 +10,14 @@ kubernetes namespace events.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Namespaces component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Namespaces endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
index 8188487..d7d51c0 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
@@ -10,14 +10,14 @@ node events.
  
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Nodes component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Nodes endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
index 08fc9a1..439339b 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes persistent volume claim operations.
  
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Persistent Volume Claim component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Persistent Volume Claim endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
index 30240f5..ab35250 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes persistent volume operations.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Persistent Volume component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Persistent Volume endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
index faba69b..7abba2f 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes pod operations.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Pods component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Pods endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
index 2c545a7..c099ac7 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
@@ -10,14 +10,14 @@ consume kubernetes replication controller events.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Replication Controller component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Replication Controller endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
index 85684b4..932c131 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes resource quota operations.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Resources Quota component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Resources Quota endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
index b0faa5b..768fa2c 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
@@ -9,14 +9,14 @@ provides a producer to execute kubernetes secret operations.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Secrets component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Secrets endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
index 29b289b..59402c5 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
@@ -8,14 +8,14 @@ The *Kubernetes Service Account* component is one of <<kubernetes-component,Kub
 provides a producer to execute kubernetes Service Account operations.
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Service Account component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 // endpoint options: START
 The Kubernetes Service Account endpoint is configured using URI syntax:
 
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
index 96e5a51..399924e 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
@@ -10,14 +10,14 @@ service events.
 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Kubernetes Services component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Kubernetes Services endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/kubernetes.adoc b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
index 0b1eb65..4679bd5 100644
--- a/components/camel-kubernetes/src/main/docs/kubernetes.adoc
+++ b/components/camel-kubernetes/src/main/docs/kubernetes.adoc
@@ -1,4 +1,4 @@
-## Kubernetes Components
+= Kubernetes Components
 
 *Available as of Camel version 2.17*
 
@@ -38,7 +38,7 @@ their `pom.xml` for this component:
 ------------------------------------------------------------
 
 
-### Headers
+== Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -122,13 +122,13 @@ their `pom.xml` for this component:
 |=======================================================================
 
 
-### Usage
+== Usage
 
-#### Producer examples
+=== Producer examples
 
 Here we show some examples of producer using camel-kubernetes.
 
-#### Create a pod
+=== Create a pod
 
 [source,java]
 -------------------------------------------------------------
@@ -138,7 +138,7 @@ from("direct:createPod")
 
 By using the KubernetesConstants.KUBERNETES_POD_SPEC header you can specify your PodSpec and pass it to this operation.
 
-#### Delete a pod
+=== Delete a pod
 
 [source,java]
 -------------------------------------------------------------
diff --git a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
index e26fd1b..e2b1935 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
@@ -8,14 +8,14 @@ The *OpenShift Build Config* component is one of link:kubernetes.html[Kubernete
 provides a producer to execute kubernetes build config operations. 
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Openshift Build Config component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Openshift Build Config endpoint is configured using URI syntax:
diff --git a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
index bcb0ccc..ea5ad54 100644
--- a/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
+++ b/components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
@@ -8,14 +8,14 @@ The *Kubernetes Builds* component is one of <<kubernetes-component,Kubernetes C
 provides a producer to execute kubernetes build operations.
 
 
-### Component Options
+== Component Options
 
 // component options: START
 The Openshift Builds component has no options.
 // component options: END
 
 
-### Endpoint Options
+== Endpoint Options
 
 // endpoint options: START
 The Openshift Builds endpoint is configured using URI syntax:
diff --git a/components/camel-ldap/src/main/docs/ldap-component.adoc b/components/camel-ldap/src/main/docs/ldap-component.adoc
index 26ffb99..c2d2fd1 100644
--- a/components/camel-ldap/src/main/docs/ldap-component.adoc
+++ b/components/camel-ldap/src/main/docs/ldap-component.adoc
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -38,7 +38,7 @@ the start of a route.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 // component options: START
@@ -111,12 +111,12 @@ The component supports 2 options, which are listed below.
 
 
 
-### Result
+== Result
 
 The result is returned in the Out body as a
 `ArrayList<javax.naming.directory.SearchResult>` object.
 
-### DirContext
+== DirContext
 
 The URI, `ldap:ldapserver`, references a Spring bean with the ID,
 `ldapserver`. The `ldapserver` bean may be defined as follows:
@@ -144,7 +144,7 @@ or that the context supports concurrency. In the Spring framework,
 `prototype` scoped objects are instantiated each time they are looked
 up.
 
-### Samples
+== Samples
 
 Following on from the Spring configuration above, the code sample below
 sends an LDAP request to filter search a group for a member. The Common
@@ -183,7 +183,7 @@ if the LDAP entry has a Common Name, use a filter expression like:
 (cn=*)
 ------
 
-#### Binding using credentials
+=== Binding using credentials
 
 A Camel end user donated this sample code he used to bind to the ldap
 server using credentials.
@@ -228,7 +228,7 @@ System.out.println(out.getOut().getBody());
 context.stop();
 ---------------------------------------------------------------------------------------
 
-### Configuring SSL
+== Configuring SSL
 
 All required is to create a custom socket factory and reference it in
 the InitialDirContext bean - see below sample.
diff --git a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
index ad8f4c0..33ce09c 100644
--- a/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
+++ b/components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
@@ -31,7 +31,7 @@ for this component:
     </dependency>
 -----------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -------------------------------------------------
@@ -48,7 +48,7 @@ Endpoint prefix can be one of:
 * posts
 * search
 
-### LinkedInComponent
+== LinkedInComponent
 
 
 
@@ -155,7 +155,7 @@ The component supports 15 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-### Producer Endpoints:
+== Producer Endpoints:
 
 Producer endpoints can use endpoint prefixes followed by endpoint names
 and associated options described next. A shorthand alias can be used for
@@ -177,7 +177,7 @@ For more information on the endpoints and options see LinkedIn REST API
 documentation
 at https://developer.linkedin.com/rest[https://developer.linkedin.com/rest]. 
 
-#### Endpoint prefix _comments_
+=== Endpoint prefix _comments_
 
 The following endpoints can be invoked with the prefix *comments* as
 follows:
@@ -208,7 +208,7 @@ URI Options for _comments_
 |fields |String
 |=======================================================================
 
-#### Endpoint prefix _companies_
+=== Endpoint prefix _companies_
 
 The following endpoints can be invoked with the prefix *companies* as
 follows:
@@ -313,7 +313,7 @@ matching endpoints.
 |updatecomment |org.apache.camel.component.linkedin.api.model.UpdateComment
 |=======================================================================
 
-#### Endpoint prefix _groups_
+=== Endpoint prefix _groups_
 
 The following endpoints can be invoked with the prefix *groups* as
 follows:
@@ -344,7 +344,7 @@ URI Options for _groups_
 |post |org.apache.camel.component.linkedin.api.model.Post
 |=======================================================================
 
-#### Endpoint prefix _jobs_
+=== Endpoint prefix _jobs_
 
 The following endpoints can be invoked with the prefix *jobs* as
 follows:
@@ -383,7 +383,7 @@ URI Options for _jobs_
 |partner_job_id |Long
 |=======================================================================
 
-#### Endpoint prefix _people_
+=== Endpoint prefix _people_
 
 The following endpoints can be invoked with the prefix *people* as
 follows:
@@ -537,7 +537,7 @@ if other options do not satisfy matching endpoints.
 |updatecomment |org.apache.camel.component.linkedin.api.model.UpdateComment
 |=======================================================================
 
-#### Endpoint prefix _posts_
+=== Endpoint prefix _posts_
 
 The following endpoints can be invoked with the prefix *posts* as
 follows:
@@ -595,7 +595,7 @@ options do not satisfy matching endpoints.
 |start |Long
 |=======================================================================
 
-#### Endpoint prefix _search_
+=== Endpoint prefix _search_
 
 The following endpoints can be invoked with the prefix *search* as
 follows:
@@ -675,7 +675,7 @@ satisfy matching endpoints.
 |title |String
 |=======================================================================
 
-### Consumer Endpoints
+== Consumer Endpoints
 
 Any of the producer endpoints can be used as a consumer endpoint.
 Consumer endpoints can
@@ -687,19 +687,19 @@ be executed once for each exchange. To change this behavior use the
 property *consumer.splitResults=true* to return a single exchange for
 the entire list or array. 
 
-### Message Headers
+== Message Headers
 
 Any URI option can be provided in a message header for producer
 endpoints with a *CamelLinkedIn.* prefix.
 
-### Message body
+== Message body
 
 All result message bodies utilize objects provided by the Camel LinkedIn
 API SDK, which is built using Apache CXF JAX-RS. Producer endpoints can
 specify the option name for incoming message body in the *inBody*
 endpoint parameter.
 
-### Use cases
+== Use cases
 
 The following route gets user's profile:
 
diff --git a/components/camel-lucene/src/main/docs/lucene-component.adoc b/components/camel-lucene/src/main/docs/lucene-component.adoc
index a65beac..7d6f72a 100644
--- a/components/camel-lucene/src/main/docs/lucene-component.adoc
+++ b/components/camel-lucene/src/main/docs/lucene-component.adoc
@@ -35,7 +35,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------------
@@ -46,7 +46,7 @@ lucene:searcherName:query[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Insert Options
+== Insert Options
 
 
 
@@ -144,9 +144,9 @@ The component supports 11 options, which are listed below.
 
 
 
-### Sending/Receiving Messages to/from the cache
+== Sending/Receiving Messages to/from the cache
 
-#### Message Headers
+=== Message Headers
 
 [width="100%",cols="10%,90%",options="header",]
 |=======================================================================
@@ -159,7 +159,7 @@ wildcards and phrases
 documentation when returning hit information.
 |=======================================================================
 
-#### Lucene Producers
+=== Lucene Producers
 
 This component supports 2 producer endpoints.
 
@@ -173,14 +173,14 @@ property name called 'QUERY'. The value of the header property 'QUERY'
 is a Lucene Query. For more details on how to create Lucene Queries
 check out http://lucene.apache.org/java/3_0_0/queryparsersyntax.html[http://lucene.apache.org/java/3_0_0/queryparsersyntax.html]
 
-#### Lucene Processor
+=== Lucene Processor
 
 There is a processor called LuceneQueryProcessor available to perform
 queries against lucene without the need to create a producer.
 
-### Lucene Usage Samples
+== Lucene Usage Samples
 
-#### Example 1: Creating a Lucene index
+=== Example 1: Creating a Lucene index
 
 [source,java]
 ------------------------------------------------------------------------------------
@@ -194,7 +194,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ------------------------------------------------------------------------------------
 
-#### Example 2: Loading properties into the JNDI registry in the Camel Context
+=== Example 2: Loading properties into the JNDI registry in the Camel Context
 
 [source,java]
 -----------------------------------------------------------------
@@ -213,7 +213,7 @@ protected JndiRegistry createRegistry() throws Exception {
 CamelContext context = new DefaultCamelContext(createRegistry());
 -----------------------------------------------------------------
 
-#### Example 2: Performing searches using a Query Producer
+=== Example 2: Performing searches using a Query Producer
 
 [source,java]
 ----------------------------------------------------------------------------------------------------
@@ -244,7 +244,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ----------------------------------------------------------------------------------------------------
 
-#### Example 3: Performing searches using a Query Processor
+=== Example 3: Performing searches using a Query Processor
 
 [source,java]
 -------------------------------------------------------------------------------------------------------
diff --git a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
index 4eae4dc..d1b6308 100644
--- a/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
+++ b/components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
@@ -22,7 +22,7 @@ Maven users will need to add the following dependency to their `pom.xml` for thi
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------------
@@ -33,7 +33,7 @@ lumberjack:host:port
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 
@@ -126,13 +126,13 @@ The component supports 4 options, which are listed below.
 
 
 
-### Result
+== Result
 
 The result body is a `Map<String, Object>` object.
 
-### Lumberjack Usage Samples
+== Lumberjack Usage Samples
 
-#### Example 1: Streaming the log messages
+=== Example 1: Streaming the log messages
 
 [source,java]
 ------------------------------------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc b/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
index 73a447a..d0695e7 100644
--- a/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
+++ b/components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
@@ -42,7 +42,7 @@ empty message. Up to Camel version 2.17.1 this will happen all message
 bodies that do not contain a MIME multipart message regardless of body
 type and stream cache setting.
 
-### Options
+== Options
 
 // dataformat options: START
 The MIME Multipart dataformat supports 6 options, which are listed below.
@@ -61,7 +61,7 @@ The MIME Multipart dataformat supports 6 options, which are listed below.
 |===
 // dataformat options: END
 
-### Message Headers (marshal)
+== Message Headers (marshal)
 
 [width="100%",cols="20%,20%,60%",options="header",]
 |=======================================================================
@@ -85,7 +85,7 @@ body part. Furthermore the given charset is applied for text to binary
 conversions.
 |=======================================================================
 
-### Message Headers (unmarshal)
+== Message Headers (unmarshal)
 
 [width="100%",cols="20%,20%,60%",options="header",]
 |=======================================================================
@@ -105,7 +105,7 @@ from MIME endoding descriptor to Java encoding descriptor)
 MIME multipart. The header is removed afterwards
 |=======================================================================
 
-### Examples
+== Examples
 
 [source,java]
 -----------------------------------
@@ -180,7 +180,7 @@ Content-Disposition: attachment; filename="Attachment File Name"
 ------=_Part_0_1134128170.1447659361365
 ----------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use MIME-Multipart in your Camel routes you need to add a dependency
 on *camel-mail* which implements this data format.
diff --git a/components/camel-master/src/main/docs/master-component.adoc b/components/camel-master/src/main/docs/master-component.adoc
index f3bdc13..ce4816c 100644
--- a/components/camel-master/src/main/docs/master-component.adoc
+++ b/components/camel-master/src/main/docs/master-component.adoc
@@ -10,7 +10,7 @@ with automatic failover if that JVM dies.
 This can be very useful if you need to consume from some legacy back end which either doesn't support concurrent
 consumption or due to commercial or stability reasons you can only have a single connection at any point in time.
 
-### Using the master endpoint
+== Using the master endpoint
 
 Just prefix any camel endpoint with **master:someName:** where _someName_ is a logical name and is
 used to acquire the master lock. e.g.
@@ -22,7 +22,7 @@ The above simulates the [Exclusive Consumers](http://activemq.apache.org/exclusi
 ActiveMQ; but on any third party JMS provider which maybe doesn't support exclusive consumers.
 
 
-### URI format
+== URI format
 
 [source]
 ----
@@ -32,7 +32,7 @@ master:namespace:endpoint[?options]
 Where endpoint is any Camel endpoint you want to run in master/slave mode.
 
 
-### Options
+== Options
 
 // component options: START
 The Master component supports 3 options, which are listed below.
@@ -111,7 +111,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Example
+== Example
 
 You can protect a clustered Camel application to only consume files from one active node.
 
@@ -180,7 +180,7 @@ camel.component.zookeeper.cluster.service.base-path = /camel/cluster
 camel.component.zookeeper.cluster.service.nodes     = myzk:2181
 ----
 
-### Implementations
+== Implementations
 
 Camel provide the following ClusterService implementations:
 
diff --git a/components/camel-metrics/src/main/docs/metrics-component.adoc b/components/camel-metrics/src/main/docs/metrics-component.adoc
index f75914b..bdf775b 100644
--- a/components/camel-metrics/src/main/docs/metrics-component.adoc
+++ b/components/camel-metrics/src/main/docs/metrics-component.adoc
@@ -12,7 +12,7 @@ ifdef::env-github[]
 :warning-caption: :warning:
 endif::[]
 
-### Metrics Component
+== Metrics Component
 
 The **metrics:** component allows to collect various metrics directly
 from Camel routes. Supported metric types
@@ -37,14 +37,14 @@ for this component:
 </dependency>
 ----
 
-### URI format
+== URI format
 
 [source]
 ----
 metrics:[ meter | counter | histogram | timer | gauge ]:metricname[?options]
 ----
 
-### Options
+== Options
 
 // component options: START
 The Metrics component supports 2 options, which are listed below.
@@ -127,7 +127,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### [[MetricsComponent-registry]]Metric Registry
+== [[MetricsComponent-registry]]Metric Registry
 
 Camel Metrics component uses by default a `MetricRegistry` instance with
 a `Slf4jReporter` that has a 60 second reporting interval.
@@ -184,7 +184,7 @@ class MyBean extends RouteBuilder {
 }
 ----
 
-### Usage
+== Usage
 
 Each metric has type and name. Supported types are
 link:#MetricsComponent-counter[counter],
@@ -192,7 +192,7 @@ link:#MetricsComponent-histogram[histogram], link:#MetricsComponent-meter[meter
 link:#MetricsComponent-timer[timer] and link:#MetricsComponent-gauge[gauge].
 Metric name is simple string. If metric type is not provided then type meter is used by default.
 
-#### Headers
+=== Headers
 
 Metric name defined in URI can be overridden by using header with name
 `CamelMetricsName`.
@@ -214,14 +214,14 @@ endpoint finishes processing of exchange. While processing exchange
 Metrics endpoint will catch all exceptions and write log entry using
 level `warn`.
 
-### [[MetricsComponent-counter]]Metrics type counter
+== [[MetricsComponent-counter]]Metrics type counter
 
 [source]
 ----
 metrics:counter:metricname[?options]
 ----
 
-#### Options
+=== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=====================================================
@@ -258,7 +258,7 @@ from("direct:in")
     .to("direct:out");
 ----
 
-#### Headers
+=== Headers
 
 Message headers can be used to override `increment` and `decrement`
 values specified in Metrics component URI.
@@ -289,14 +289,14 @@ from("direct:in")
 
 ----
 
-### [[MetricsComponent-histogram]]Metric type histogram
+== [[MetricsComponent-histogram]]Metric type histogram
 
 [source]
 ----
 metrics:histogram:metricname[?options]
 ----
 
-#### Options
+=== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |===================================
@@ -324,7 +324,7 @@ from("direct:in")
 
 ----
 
-#### Headers
+=== Headers
 
 Message header can be used to override value specified in Metrics
 component URI.
@@ -345,14 +345,14 @@ from("direct:in")
 
 ----
 
-### [[MetricsComponent-meter]]Metric type meter
+== [[MetricsComponent-meter]]Metric type meter
 
 [source]
 ----
 metrics:meter:metricname[?options]
 ----
 
-#### Options
+=== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |===================================
@@ -378,7 +378,7 @@ from("direct:in")
     .to("direct:out");
 ----
 
-#### Headers
+=== Headers
 
 Message header can be used to override `mark` value specified in Metrics
 component URI.
@@ -398,14 +398,14 @@ from("direct:in")
     .to("direct:out");
 ----
 
-### [[MetricsComponent-timer]]Metrics type timer
+== [[MetricsComponent-timer]]Metrics type timer
 
 [source]
 ----
 metrics:timer:metricname[?options]
 ----
 
-#### Options
+=== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |==========================
@@ -430,7 +430,7 @@ from("direct:in")
 `TimerContext` objects are stored as Exchange properties between
 different Metrics component calls.
 
-#### Headers
+=== Headers
 
 Message header can be used to override action value specified in Metrics
 component URI.
@@ -451,14 +451,14 @@ from("direct:in")
     .to("direct:out");
 ----
 
-### [[MetricsComponent-gauge]]Metric type gauge
+== [[MetricsComponent-gauge]]Metric type gauge
 
 [source]
 ----
 metrics:gauge:metricname[?options]
 ----
 
-#### Options
+=== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=====================================================
@@ -476,7 +476,7 @@ from("direct:in")
     .to("direct:out");
 ----
 
-#### Headers
+=== Headers
 
 Message headers can be used to override `subject` values specified in Metrics component URI.
 Note: if `CamelMetricsName` header is specified, then new gauge is registered in addition to
@@ -497,7 +497,7 @@ from("direct:in")
     .to("direct:out");
 ----
 
-### MetricsRoutePolicyFactory
+== MetricsRoutePolicyFactory
 
 This factory allows to add a RoutePolicy for each
 route which exposes route utilization statistics using Dropwizard metrics.
@@ -575,7 +575,7 @@ if (registryService != null) {
 }
 ----
 
-### MetricsMessageHistoryFactory
+== MetricsMessageHistoryFactory
 
 *Available as of Camel 2.17*
 
@@ -651,7 +651,7 @@ String json = service.dumpStatisticsAsJson();
 And the JMX API the MBean is registered in the `type=services` tree
 with `name=MetricsMessageHistoryService`.
 
-### InstrumentedThreadPoolFactory
+== InstrumentedThreadPoolFactory
 
 *Available as of Camel 2.18*
 
diff --git a/components/camel-micrometer/src/main/docs/micrometer-component.adoc b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
index cfab59f..26f5115 100644
--- a/components/camel-micrometer/src/main/docs/micrometer-component.adoc
+++ b/components/camel-micrometer/src/main/docs/micrometer-component.adoc
@@ -12,7 +12,7 @@ ifdef::env-github[]
 :warning-caption: :warning:
 endif::[]
 
-### Micrometer Component
+== Micrometer Component
 
 The **micrometer:** component allows to collect various metrics directly
 from Camel routes. Supported metric types
@@ -40,14 +40,14 @@ for this component:
 </dependency>
 ----
 
-### URI format
+== URI format
 
 [source]
 ----
 micrometer:[ counter | summary | timer ]:metricname[?options]
 ----
 
-### Options
+== Options
 
 // component options: START
 The Micrometer component supports 2 options, which are listed below.
@@ -129,7 +129,7 @@ The component supports 3 options, which are listed below.
 
 
 
-### [[MicrometerComponent-registry]]Meter Registry
+== [[MicrometerComponent-registry]]Meter Registry
 
... 23142 lines suppressed ...


[camel] 04/16: Cleanup camel-package-maven-plugin

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 76d92693f1c178250101920d7b2ba1fc23669e64
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Wed Jul 3 14:34:48 2019 +0200

    Cleanup camel-package-maven-plugin
    
    UpdateReadmeMojo in camel-package-maven-plugin has accumulated a fair
    amount of technical debt that this attempts to address in a
    semi-cautious manner. This tries to eliminate resource leaks and reduce
    the amount of duplicate code.
    
    (cherry picked from commit ba6d9a704c3efd9fd77022e76363ed429cf8d59a)
    
    # Conflicts:
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
---
 .../camel/maven/packaging/UpdateReadmeMojo.java    | 492 ++++-----------------
 1 file changed, 96 insertions(+), 396 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index 94f90db..3cb3b22 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -19,6 +19,7 @@ package org.apache.camel.maven.packaging;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.io.InputStream;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -40,7 +41,6 @@ import org.apache.camel.maven.packaging.model.LanguageOptionModel;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
-import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugins.annotations.Component;
 import org.apache.maven.plugins.annotations.Mojo;
 import org.apache.maven.plugins.annotations.Parameter;
@@ -101,16 +101,16 @@ public class UpdateReadmeMojo extends AbstractMojo {
     private BuildContext buildContext;
 
     @Override
-    public void execute() throws MojoExecutionException, MojoFailureException {
+    public void execute() throws MojoExecutionException {
         executeComponent();
         executeDataFormat();
         executeLanguage();
         executeEips();
     }
 
-    private void executeComponent() throws MojoExecutionException, MojoFailureException {
+    private void executeComponent() throws MojoExecutionException {
         // find the component names
-        List<String> componentNames = findComponentNames();
+        List<String> componentNames = listDescriptorNamesOfType("component");
 
         final Set<File> jsonFiles = new TreeSet<>();
         PackageHelper.findJsonFiles(buildDir, jsonFiles, new PackageHelper.CamelComponentsModelFilter());
@@ -119,14 +119,14 @@ public class UpdateReadmeMojo extends AbstractMojo {
         if (!componentNames.isEmpty()) {
             getLog().debug("Found " + componentNames.size() + " components");
             for (String componentName : componentNames) {
-                String json = loadComponentJson(jsonFiles, componentName);
+                String json = loadJsonFrom(jsonFiles, "component", componentName);
                 if (json != null) {
                     // special for some components
                     componentName = asComponentName(componentName);
 
                     File file = new File(docDir, componentName + "-component.adoc");
 
-                    ComponentModel model = generateComponentModel(componentName, json);
+                    ComponentModel model = generateComponentModel(json);
                     String title = asComponentTitle(model.getScheme(), model.getTitle());
                     model.setTitle(title);
 
@@ -156,11 +156,11 @@ public class UpdateReadmeMojo extends AbstractMojo {
                         model.getComponentOptions().clear();
                     }
 
-                    String options = templateComponentOptions(model);
-                    updated |= updateComponentOptions(file, options);
+                    String options = evaluateTemplate("component-options.mvel", model);
+                    updated |= updateOptionsIn(file, "component", options);
 
-                    options = templateEndpointOptions(model);
-                    updated |= updateEndpointOptions(file, options);
+                    options = evaluateTemplate("endpoint-options.mvel", model);
+                    updated |= updateOptionsIn(file, "endpoint", options);
 
                     if (updated) {
                         getLog().info("Updated doc file: " + file);
@@ -177,9 +177,9 @@ public class UpdateReadmeMojo extends AbstractMojo {
         }
     }
 
-    private void executeDataFormat() throws MojoExecutionException, MojoFailureException {
+    private void executeDataFormat() throws MojoExecutionException {
         // find the dataformat names
-        List<String> dataFormatNames = findDataFormatNames();
+        List<String> dataFormatNames = listDescriptorNamesOfType("dataformat");
 
         final Set<File> jsonFiles = new TreeSet<>();
         PackageHelper.findJsonFiles(buildDir, jsonFiles, new PackageHelper.CamelComponentsModelFilter());
@@ -188,7 +188,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         if (!dataFormatNames.isEmpty()) {
             getLog().debug("Found " + dataFormatNames.size() + " dataformats");
             for (String dataFormatName : dataFormatNames) {
-                String json = loadDataFormatJson(jsonFiles, dataFormatName);
+                String json = loadJsonFrom(jsonFiles, "dataformat", dataFormatName);
                 if (json != null) {
                     // special for some data formats
                     dataFormatName = asDataFormatName(dataFormatName);
@@ -211,8 +211,8 @@ public class UpdateReadmeMojo extends AbstractMojo {
                     updated |= updateTitles(file, docTitle);
                     updated |= updateAvailableFrom(file, model.getFirstVersion());
 
-                    String options = templateDataFormatOptions(model);
-                    updated |= updateDataFormatOptions(file, options);
+                    String options = evaluateTemplate("dataformat-options.mvel", model);
+                    updated |= updateOptionsIn(file, "dataformat", options);
 
                     if (updated) {
                         getLog().info("Updated doc file: " + file);
@@ -233,14 +233,14 @@ public class UpdateReadmeMojo extends AbstractMojo {
         // special for some components which share the same readme file
         if (name.equals("imap") || name.equals("imaps") || name.equals("pop3") || name.equals("pop3s") || name.equals("smtp") || name.equals("smtps")) {
             return "mail";
-        } else {
-            return name;
         }
+
+        return name;
     }
 
-    private void executeLanguage() throws MojoExecutionException, MojoFailureException {
+    private void executeLanguage() throws MojoExecutionException {
         // find the language names
-        List<String> languageNames = findLanguageNames();
+        List<String> languageNames = listDescriptorNamesOfType("language");
 
         final Set<File> jsonFiles = new TreeSet<>();
         PackageHelper.findJsonFiles(buildDir, jsonFiles, new PackageHelper.CamelComponentsModelFilter());
@@ -249,11 +249,11 @@ public class UpdateReadmeMojo extends AbstractMojo {
         if (!languageNames.isEmpty()) {
             getLog().debug("Found " + languageNames.size() + " languages");
             for (String languageName : languageNames) {
-                String json = loadLanguageJson(jsonFiles, languageName);
+                String json = loadJsonFrom(jsonFiles, "language", languageName);
                 if (json != null) {
                     File file = new File(docDir, languageName + "-language.adoc");
 
-                    LanguageModel model = generateLanguageModel(languageName, json);
+                    LanguageModel model = generateLanguageModel(json);
 
                     String docTitle = model.getTitle() + " Language";
                     boolean deprecated = "true".equals(model.getDeprecated());
@@ -267,8 +267,8 @@ public class UpdateReadmeMojo extends AbstractMojo {
                     updated |= updateTitles(file, docTitle);
                     updated |= updateAvailableFrom(file, model.getFirstVersion());
 
-                    String options = templateLanguageOptions(model);
-                    updated |= updateLanguageOptions(file, options);
+                    String options = evaluateTemplate("language-options.mvel", model);
+                    updated |= updateOptionsIn(file, "language", options);
 
                     if (updated) {
                         getLog().info("Updated doc file: " + file);
@@ -285,7 +285,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         }
     }
 
-    private void executeEips() throws MojoExecutionException, MojoFailureException {
+    private void executeEips() throws MojoExecutionException {
         // only run if in camel-core
         String currentDir = Paths.get(".").normalize().toAbsolutePath().toString();
         if (!currentDir.endsWith("camel-core")) {
@@ -308,7 +308,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
                 String json = loadEipJson(jsonFile);
                 if (json != null) {
                     EipModel model = generateEipModel(json);
-                    String title = asEipTitle(model.getName(), model.getTitle());
+                    String title = model.getTitle();
                     model.setTitle(title);
 
                     String eipName = model.getName();
@@ -331,8 +331,8 @@ public class UpdateReadmeMojo extends AbstractMojo {
                     updated = updateLink(file, eipName + "-eip");
                     updated |= updateTitles(file, docTitle);
 
-                    String options = templateEipOptions(model);
-                    updated |= updateEipOptions(file, options);
+                    String options = evaluateTemplate("eip-options.mvel", model);
+                    updated |= updateOptionsIn(file, "eip", options);
 
                     if (updated) {
                         getLog().info("Updated doc file: " + file);
@@ -353,21 +353,17 @@ public class UpdateReadmeMojo extends AbstractMojo {
         // special for some components which share the same readme file
         if (name.equals("imap") || name.equals("imaps") || name.equals("pop3") || name.equals("pop3s") || name.equals("smtp") || name.equals("smtps")) {
             return "Mail";
-        } else {
-            return title;
         }
+
+        return title;
     }
 
     private static String asDataFormatName(String name) {
         // special for some dataformats which share the same readme file
         if (name.startsWith("bindy")) {
             return "bindy";
-        } else {
-            return name;
         }
-    }
 
-    private static String asEipName(String name) {
         return name;
     }
 
@@ -375,26 +371,22 @@ public class UpdateReadmeMojo extends AbstractMojo {
         // special for some dataformats which share the same readme file
         if (name.startsWith("bindy")) {
             return "Bindy";
-        } else {
-            return title;
         }
-    }
 
-    private static String asEipTitle(String name, String title) {
         return title;
     }
 
-    private boolean updateLink(File file, String link) throws MojoExecutionException {
+    private static boolean updateLink(File file, String link) throws MojoExecutionException {
         if (!file.exists()) {
             return false;
         }
 
         boolean updated = false;
 
-        try {
+        try (InputStream fileStream = new FileInputStream(file)) {
             List<String> newLines = new ArrayList<>();
 
-            String text = loadText(new FileInputStream(file));
+            String text = loadText(fileStream);
             String[] lines = text.split("\n");
             for (int i = 0; i < lines.length; i++) {
                 String line = lines[i];
@@ -425,17 +417,17 @@ public class UpdateReadmeMojo extends AbstractMojo {
         return updated;
     }
 
-    private boolean updateTitles(File file, String title) throws MojoExecutionException {
+    private static boolean updateTitles(File file, String title) throws MojoExecutionException {
         if (!file.exists()) {
             return false;
         }
 
         boolean updated = false;
 
-        try {
+        try (InputStream fileStream = new FileInputStream(file)) {
             List<String> newLines = new ArrayList<>();
 
-            String text = loadText(new FileInputStream(file));
+            String text = loadText(fileStream);
             String[] lines = text.split("\n");
             // line 0 is the link
             for (int i = 1; i < lines.length; i++) {
@@ -490,21 +482,22 @@ public class UpdateReadmeMojo extends AbstractMojo {
         return updated;
     }
 
-    private boolean updateAvailableFrom(File file, String firstVersion) throws MojoExecutionException {
+    private static boolean updateAvailableFrom(final File file, final String firstVersion) throws MojoExecutionException {
         if (firstVersion == null || !file.exists()) {
             return false;
         }
 
+        String version = firstVersion;
         // cut last digit so its not 2.18.0 but 2.18
         String[] parts = firstVersion.split("\\.");
         if (parts.length == 3 && parts[2].equals("0")) {
-            firstVersion = parts[0] + "." + parts[1];
+            version = parts[0] + "." + parts[1];
         }
 
         boolean updated = false;
 
-        try {
-            String text = loadText(new FileInputStream(file));
+        try (InputStream fileStream = new FileInputStream(file)) {
+            String text = loadText(fileStream);
 
             String[] lines = text.split("\n");
 
@@ -520,7 +513,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
             boolean empty2 = lines[4].trim().isEmpty();
 
             if (title && empty && availableFrom) {
-                String newLine = "*Available as of Camel version " + firstVersion + "*";
+                String newLine = "*Available as of Camel version " + version + "*";
                 if (!newLine.equals(lines[3])) {
                     newLines.set(3, newLine);
                     updated = true;
@@ -530,7 +523,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
                     updated = true;
                 }
             } else if (!availableFrom) {
-                String newLine = "*Available as of Camel version " + firstVersion + "*";
+                String newLine = "*Available as of Camel version " + version + "*";
                 newLines.add(3, newLine);
                 newLines.add(4, "");
                 updated = true;
@@ -548,256 +541,75 @@ public class UpdateReadmeMojo extends AbstractMojo {
         return updated;
     }
 
-    private boolean updateComponentOptions(File file, String changed) throws MojoExecutionException {
+    private boolean updateOptionsIn(final File file, final String kind, final String changed) throws MojoExecutionException {
         if (!file.exists()) {
             return false;
         }
 
-        try {
-            String text = loadText(new FileInputStream(file));
+        final String updated = changed.trim();
+        try (InputStream fileStream = new FileInputStream(file)) {
+            String text = loadText(fileStream);
 
-            String existing = StringHelper.between(text, "// component options: START", "// component options: END");
+            String existing = StringHelper.between(text, "// " + kind + " options: START", "// " + kind + " options: END");
             if (existing != null) {
                 // remove leading line breaks etc
                 existing = existing.trim();
-                changed = changed.trim();
-                if (existing.equals(changed)) {
+                if (existing.equals(updated)) {
                     return false;
-                } else {
-                    String before = StringHelper.before(text, "// component options: START");
-                    String after = StringHelper.after(text, "// component options: END");
-                    text = before + "// component options: START\n" + changed + "\n// component options: END" + after;
-                    writeText(file, text);
-                    return true;
                 }
-            } else {
-                getLog().warn("Cannot find markers in file " + file);
-                getLog().warn("Add the following markers");
-                getLog().warn("\t// component options: START");
-                getLog().warn("\t// component options: END");
-                if (isFailFast()) {
-                    throw new MojoExecutionException("Failed build due failFast=true");
-                }
-                return false;
-            }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
-        }
-    }
-
-    private boolean updateEndpointOptions(File file, String changed) throws MojoExecutionException {
-        if (!file.exists()) {
-            return false;
-        }
-
-        try {
-            String text = loadText(new FileInputStream(file));
 
-            String existing = StringHelper.between(text, "// endpoint options: START", "// endpoint options: END");
-            if (existing != null) {
-                // remove leading line breaks etc
-                existing = existing.trim();
-                changed = changed.trim();
-                if (existing.equals(changed)) {
-                    return false;
-                } else {
-                    String before = StringHelper.before(text, "// endpoint options: START");
-                    String after = StringHelper.after(text, "// endpoint options: END");
-                    text = before + "// endpoint options: START\n" + changed + "\n// endpoint options: END" + after;
-                    writeText(file, text);
-                    return true;
-                }
-            } else {
-                getLog().warn("Cannot find markers in file " + file);
-                getLog().warn("Add the following markers");
-                getLog().warn("\t// endpoint options: START");
-                getLog().warn("\t// endpoint options: END");
-                if (isFailFast()) {
-                    throw new MojoExecutionException("Failed build due failFast=true");
-                }
-                return false;
+                String before = StringHelper.before(text, "// " + kind  + " options: START");
+                String after = StringHelper.after(text, "// " + kind + " options: END");
+                text = before + "// " + kind + " options: START\n" + updated + "\n// " + kind + " options: END" + after;
+                writeText(file, text);
+                return true;
             }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
-        }
-    }
 
-    private boolean updateDataFormatOptions(File file, String changed) throws MojoExecutionException {
-        if (!file.exists()) {
-            return false;
-        }
-
-        try {
-            String text = loadText(new FileInputStream(file));
-
-            String existing = StringHelper.between(text, "// dataformat options: START", "// dataformat options: END");
-            if (existing != null) {
-                // remove leading line breaks etc
-                existing = existing.trim();
-                changed = changed.trim();
-                if (existing.equals(changed)) {
-                    return false;
-                } else {
-                    String before = StringHelper.before(text, "// dataformat options: START");
-                    String after = StringHelper.after(text, "// dataformat options: END");
-                    text = before + "// dataformat options: START\n" + changed + "\n// dataformat options: END" + after;
-                    writeText(file, text);
-                    return true;
-                }
-            } else {
-                getLog().warn("Cannot find markers in file " + file);
-                getLog().warn("Add the following markers");
-                getLog().warn("\t// dataformat options: START");
-                getLog().warn("\t// dataformat options: END");
-                if (isFailFast()) {
-                    throw new MojoExecutionException("Failed build due failFast=true");
-                }
-                return false;
+            getLog().warn("Cannot find markers in file " + file);
+            getLog().warn("Add the following markers");
+            getLog().warn("\t// " + kind + " options: START");
+            getLog().warn("\t// " + kind + " options: END");
+            if (isFailFast()) {
+                throw new MojoExecutionException("Failed build due failFast=true");
             }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
-        }
-    }
-
-    private boolean updateLanguageOptions(File file, String changed) throws MojoExecutionException {
-        if (!file.exists()) {
             return false;
-        }
-
-        try {
-            String text = loadText(new FileInputStream(file));
-
-            String existing = StringHelper.between(text, "// language options: START", "// language options: END");
-            if (existing != null) {
-                // remove leading line breaks etc
-                existing = existing.trim();
-                changed = changed.trim();
-                if (existing.equals(changed)) {
-                    return false;
-                } else {
-                    String before = StringHelper.before(text, "// language options: START");
-                    String after = StringHelper.after(text, "// language options: END");
-                    text = before + "// language options: START\n" + changed + "\n// language options: END" + after;
-                    writeText(file, text);
-                    return true;
-                }
-            } else {
-                getLog().warn("Cannot find markers in file " + file);
-                getLog().warn("Add the following markers");
-                getLog().warn("\t// language options: START");
-                getLog().warn("\t// language options: END");
-                if (isFailFast()) {
-                    throw new MojoExecutionException("Failed build due failFast=true");
-                }
-                return false;
-            }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
-        }
-    }
-
-    private boolean updateEipOptions(File file, String changed) throws MojoExecutionException {
-        if (!file.exists()) {
-            return false;
-        }
-
-        try {
-            String text = loadText(new FileInputStream(file));
-
-            String existing = StringHelper.between(text, "// eip options: START", "// eip options: END");
-            if (existing != null) {
-                // remove leading line breaks etc
-                existing = existing.trim();
-                changed = changed.trim();
-                if (existing.equals(changed)) {
-                    return false;
-                } else {
-                    String before = StringHelper.before(text, "// eip options: START");
-                    String after = StringHelper.after(text, "// eip options: END");
-                    text = before + "// eip options: START\n" + changed + "\n// eip options: END" + after;
-                    writeText(file, text);
-                    return true;
-                }
-            } else {
-                getLog().warn("Cannot find markers in file " + file);
-                getLog().warn("Add the following markers");
-                getLog().warn("\t// eip options: START");
-                getLog().warn("\t// eip options: END");
-                if (isFailFast()) {
-                    throw new MojoExecutionException("Failed build due failFast=true");
-                }
-                return false;
-            }
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
-        }
-    }
-
-    private String loadComponentJson(Set<File> jsonFiles, String componentName) {
-        try {
-            for (File file : jsonFiles) {
-                if (file.getName().equals(componentName + ".json")) {
-                    String json = loadText(new FileInputStream(file));
-                    boolean isComponent = json.contains("\"kind\": \"component\"");
-                    if (isComponent) {
-                        return json;
-                    }
-                }
-            }
         } catch (IOException e) {
-            // ignore
+            throw new MojoExecutionException("Error reading file " + file + " Reason: " + e, e);
         }
-        return null;
     }
 
-    private String loadDataFormatJson(Set<File> jsonFiles, String dataFormatName) {
-        try {
-            for (File file : jsonFiles) {
-                if (file.getName().equals(dataFormatName + ".json")) {
-                    String json = loadText(new FileInputStream(file));
-                    boolean isDataFormat = json.contains("\"kind\": \"dataformat\"");
-                    if (isDataFormat) {
+    private static String loadJsonFrom(Set<File> jsonFiles, String kind, String name) {
+        for (File file : jsonFiles) {
+            if (file.getName().equals(name + ".json")) {
+                try (InputStream fileStream = new FileInputStream(file)) {
+                    String json = loadText(fileStream);
+                    boolean isRequestedKind = json.contains("\"kind\": \"" + kind + "\"");
+                    if (isRequestedKind) {
                         return json;
                     }
+                } catch (IOException ignored) {
+                    // ignored
                 }
             }
-        } catch (IOException e) {
-            // ignore
         }
-        return null;
-    }
 
-    private String loadLanguageJson(Set<File> jsonFiles, String languageName) {
-        try {
-            for (File file : jsonFiles) {
-                if (file.getName().equals(languageName + ".json")) {
-                    String json = loadText(new FileInputStream(file));
-                    boolean isLanguage = json.contains("\"kind\": \"language\"");
-                    if (isLanguage) {
-                        return json;
-                    }
-                }
-            }
-        } catch (IOException e) {
-            // ignore
-        }
         return null;
     }
 
-    private String loadEipJson(File file) {
-        try {
-            String json = loadText(new FileInputStream(file));
+    private static String loadEipJson(File file) {
+        try (InputStream fileStream = new FileInputStream(file)) {
+            String json = loadText(fileStream);
             boolean isEip = json.contains("\"kind\": \"model\"");
             if (isEip) {
                 return json;
             }
-        } catch (IOException e) {
+        } catch (IOException ignored) {
             // ignore
         }
         return null;
     }
 
-    private ComponentModel generateComponentModel(String componentName, String json) {
+    private static ComponentModel generateComponentModel(String json) {
         List<Map<String, String>> rows = parseJsonSchema("component", json, false);
 
         ComponentModel component = new ComponentModel(true);
@@ -982,7 +794,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         return dataFormat;
     }
 
-    private LanguageModel generateLanguageModel(String languageName, String json) {
+    private LanguageModel generateLanguageModel(String json) {
         List<Map<String, String>> rows = parseJsonSchema("language", json, false);
 
         LanguageModel language = new LanguageModel();
@@ -1100,148 +912,36 @@ public class UpdateReadmeMojo extends AbstractMojo {
         return eip;
     }
 
-    private String templateComponentHeader(ComponentModel model) throws MojoExecutionException {
-        try {
-            String template = loadText(UpdateReadmeMojo.class.getClassLoader().getResourceAsStream("component-header.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
-            return out;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
-        }
-    }
-
-    private String templateComponentOptions(ComponentModel model) throws MojoExecutionException {
-        try {
-            String template = loadText(UpdateReadmeMojo.class.getClassLoader().getResourceAsStream("component-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
-            return out;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
-        }
-    }
-
-    private String templateEndpointOptions(ComponentModel model) throws MojoExecutionException {
-        try {
-            String template = loadText(UpdateReadmeMojo.class.getClassLoader().getResourceAsStream("endpoint-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
-            return out;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
-        }
-    }
-
-    private String templateDataFormatOptions(DataFormatModel model) throws MojoExecutionException {
-        try {
-            String template = loadText(UpdateReadmeMojo.class.getClassLoader().getResourceAsStream("dataformat-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
-            return out;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
+    private static String evaluateTemplate(final String templateName, final Object model) throws MojoExecutionException {
+        try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
+            String template = loadText(templateStream);
+            return (String) TemplateRuntime.eval(template, model);
+        } catch (IOException e) {
+            throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
         }
     }
 
-    private String templateLanguageOptions(LanguageModel model) throws MojoExecutionException {
-        try {
-            String template = loadText(UpdateReadmeMojo.class.getClassLoader().getResourceAsStream("language-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
-            return out;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
-        }
-    }
+    private List<String> listDescriptorNamesOfType(final String type) {
+        List<String> names = new ArrayList<>();
 
-    private String templateEipOptions(EipModel model) throws MojoExecutionException {
-        try {
-            String template = loadText(UpdateReadmeMojo.class.getClassLoader().getResourceAsStream("eip-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
-            return out;
-        } catch (Exception e) {
-            throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
-        }
-    }
-
-    private List<String> findComponentNames() {
-        List<String> componentNames = new ArrayList<>();
-        for (Resource r : project.getBuild().getResources()) {
-            File f = new File(r.getDirectory());
-            if (!f.exists()) {
-                f = new File(project.getBasedir(), r.getDirectory());
-            }
-            f = new File(f, "META-INF/services/org/apache/camel/component");
-
-            if (f.exists() && f.isDirectory()) {
-                File[] files = f.listFiles();
-                if (files != null) {
-                    for (File file : files) {
-                        // skip directories as there may be a sub .resolver directory
-                        if (file.isDirectory()) {
-                            continue;
-                        }
-                        String name = file.getName();
-                        if (name.charAt(0) != '.') {
-                            componentNames.add(name);
-                        }
-                    }
-                }
-            }
-        }
-        return componentNames;
-    }
-
-    private List<String> findDataFormatNames() {
-        List<String> dataFormatNames = new ArrayList<>();
-        for (Resource r : project.getBuild().getResources()) {
-            File f = new File(r.getDirectory());
-            if (!f.exists()) {
-                f = new File(project.getBasedir(), r.getDirectory());
-            }
-            f = new File(f, "META-INF/services/org/apache/camel/dataformat");
-
-            if (f.exists() && f.isDirectory()) {
-                File[] files = f.listFiles();
-                if (files != null) {
-                    for (File file : files) {
-                        // skip directories as there may be a sub .resolver directory
-                        if (file.isDirectory()) {
-                            continue;
-                        }
-                        String name = file.getName();
-                        if (name.charAt(0) != '.') {
-                            dataFormatNames.add(name);
-                        }
+        File f = new File(project.getBasedir(), "target/classes");
+        f = new File(f, "META-INF/services/org/apache/camel/" + type);
+        if (f.exists() && f.isDirectory()) {
+            File[] files = f.listFiles();
+            if (files != null) {
+                for (File file : files) {
+                    // skip directories as there may be a sub .resolver directory
+                    if (file.isDirectory()) {
+                        continue;
                     }
-                }
-            }
-        }
-        return dataFormatNames;
-    }
-
-    private List<String> findLanguageNames() {
-        List<String> languageNames = new ArrayList<>();
-        for (Resource r : project.getBuild().getResources()) {
-            File f = new File(r.getDirectory());
-            if (!f.exists()) {
-                f = new File(project.getBasedir(), r.getDirectory());
-            }
-            f = new File(f, "META-INF/services/org/apache/camel/language");
-
-            if (f.exists() && f.isDirectory()) {
-                File[] files = f.listFiles();
-                if (files != null) {
-                    for (File file : files) {
-                        // skip directories as there may be a sub .resolver directory
-                        if (file.isDirectory()) {
-                            continue;
-                        }
-                        String name = file.getName();
-                        if (name.charAt(0) != '.') {
-                            languageNames.add(name);
-                        }
+                    String name = file.getName();
+                    if (name.charAt(0) != '.') {
+                        names.add(name);
                     }
                 }
             }
         }
-        return languageNames;
+        return names;
     }
 
     private boolean isFailFast() {


[camel] 06/16: CAMEL-13588: additional escapes for URLs

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 4a269a129f4e8b796d0e090c80b1fcc4ec978192
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Tue Sep 3 11:35:41 2019 +0200

    CAMEL-13588: additional escapes for URLs
    
    (cherry picked from commit 9a9dd2a5a56628f2a367bf95b83279c07f31b9c7)
    
    # Conflicts:
    #	components/camel-drill/src/main/docs/drill-component.adoc
    #	components/camel-file/src/main/docs/file-component.adoc
    #	components/camel-ftp/src/main/docs/ftp-component.adoc
    #	components/camel-ftp/src/main/docs/ftps-component.adoc
    #	components/camel-ftp/src/main/docs/sftp-component.adoc
    #	components/camel-http4/src/main/docs/http4-component.adoc
    #	components/camel-jira/src/main/docs/jira-component.adoc
    #	components/camel-kafka/src/main/docs/kafka-component.adoc
    #	components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
    #	components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
    #	components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
    #	components/camel-rest-swagger/src/main/java/org/apache/camel/component/rest/swagger/RestSwaggerComponent.java
    #	components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
    #	components/camel-wordpress/src/main/docs/wordpress-component.adoc
    #	components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
    #	components/readme.adoc
    #	docs/components/modules/ROOT/pages/ahc-component.adoc
    #	docs/components/modules/ROOT/pages/ahc-ws-component.adoc
    #	docs/components/modules/ROOT/pages/crypto-cms-component.adoc
    #	docs/components/modules/ROOT/pages/drill-component.adoc
    #	docs/components/modules/ROOT/pages/facebook-component.adoc
    #	docs/components/modules/ROOT/pages/file-component.adoc
    #	docs/components/modules/ROOT/pages/ftp-component.adoc
    #	docs/components/modules/ROOT/pages/ftps-component.adoc
    #	docs/components/modules/ROOT/pages/google-calendar-component.adoc
    #	docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
    #	docs/components/modules/ROOT/pages/google-drive-component.adoc
    #	docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
    #	docs/components/modules/ROOT/pages/http4-component.adoc
    #	docs/components/modules/ROOT/pages/ironmq-component.adoc
    #	docs/components/modules/ROOT/pages/jira-component.adoc
    #	docs/components/modules/ROOT/pages/kafka-component.adoc
    #	docs/components/modules/ROOT/pages/linkedin-component.adoc
    #	docs/components/modules/ROOT/pages/lra.adoc
    #	docs/components/modules/ROOT/pages/netty4-component.adoc
    #	docs/components/modules/ROOT/pages/netty4-http-component.adoc
    #	docs/components/modules/ROOT/pages/olingo2-component.adoc
    #	docs/components/modules/ROOT/pages/olingo4-component.adoc
    #	docs/components/modules/ROOT/pages/rabbitmq-component.adoc
    #	docs/components/modules/ROOT/pages/rest-swagger-component.adoc
    #	docs/components/modules/ROOT/pages/salesforce-component.adoc
    #	docs/components/modules/ROOT/pages/servicenow-component.adoc
    #	docs/components/modules/ROOT/pages/sftp-component.adoc
    #	docs/components/modules/ROOT/pages/wordpress-component.adoc
    #	docs/components/modules/ROOT/pages/xmlsecurity-component.adoc
    #	docs/components/modules/ROOT/pages/zipkin.adoc
    #	tooling/maven/camel-package-maven-plugin/pom.xml
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
---
 .../src/main/docs/ahc-ws-component.adoc            |  2 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  2 +-
 .../src/main/docs/crypto-cms-component.adoc        |  4 +-
 .../src/main/docs/facebook-component.adoc          |  4 +-
 .../src/main/docs/google-calendar-component.adoc   |  4 +-
 .../docs/google-calendar-stream-component.adoc     |  4 +-
 .../src/main/docs/google-drive-component.adoc      |  4 +-
 .../main/docs/google-sheets-stream-component.adoc  |  4 +-
 .../src/main/docs/ironmq-component.adoc            |  2 +-
 components/camel-lra/src/main/docs/lra.adoc        |  4 +-
 .../src/main/docs/netty4-http-component.adoc       |  2 +-
 .../src/main/docs/netty4-component.adoc            |  4 +-
 .../src/main/docs/olingo2-component.adoc           |  4 +-
 .../src/main/docs/olingo4-component.adoc           |  4 +-
 .../src/main/docs/servicenow-component.adoc        |  8 +--
 components/camel-zipkin/src/main/docs/zipkin.adoc  |  2 +-
 tooling/maven/camel-package-maven-plugin/pom.xml   |  5 ++
 .../apache/camel/maven/packaging/MvelHelper.java   | 43 ++++++++++++++
 .../camel/maven/packaging/PrepareExampleMojo.java  |  2 +-
 .../camel/maven/packaging/PrepareReadmeMojo.java   | 10 ++--
 .../camel/maven/packaging/UpdateReadmeMojo.java    |  3 +-
 ...pdateSpringBootAutoConfigurationReadmeMojo.java | 17 +++++-
 .../src/main/resources/component-options.mvel      |  2 +-
 .../src/main/resources/dataformat-options.mvel     |  2 +-
 .../src/main/resources/eip-options.mvel            |  2 +-
 .../src/main/resources/endpoint-options.mvel       |  4 +-
 .../src/main/resources/language-options.mvel       |  2 +-
 .../src/main/resources/readme-components.mvel      |  2 +-
 .../src/main/resources/readme-dataformats.mvel     |  2 +-
 .../src/main/resources/readme-eips.mvel            |  2 +-
 .../src/main/resources/readme-examples.mvel        |  2 +-
 .../src/main/resources/readme-languages.mvel       |  2 +-
 .../src/main/resources/readme-others.mvel          |  2 +-
 .../spring-boot-auto-configure-options.mvel        |  2 +-
 .../camel/maven/packaging/MvelHelperTest.java      | 66 ++++++++++++++++++++++
 35 files changed, 180 insertions(+), 50 deletions(-)

diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 287f089..505e403 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -78,7 +78,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *httpUri* | *Required* The URI to use such as http://hostname:port/path |  | URI
+| *httpUri* | *Required* The URI to use such as \http://hostname:port/path |  | URI
 |===
 
 
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index 0f2759d..f3b162f 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -59,7 +59,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *httpUri* | *Required* The URI to use such as http://hostname:port/path |  | URI
+| *httpUri* | *Required* The URI to use such as \http://hostname:port/path |  | URI
 |===
 
 
diff --git a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
index df3bb6d..a9bd7ab 100644
--- a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
+++ b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
@@ -79,10 +79,10 @@ with the following path and query parameters:
 | *password* (decrypt) | Sets the password of the private keys. It is assumed that all private keys in the keystore have the same password. If not set then it is assumed that the password of the private keys is given by the keystore password given in the KeyStoreParameters. |  | Char[]
 | *fromBase64* (decrypt_verify) | If true then the CMS message is base 64 encoded and must be decoded during the processing. Default value is false. | false | Boolean
 | *contentEncryptionAlgorithm* (encrypt) | Encryption algorithm, for example DESede/CBC/PKCS5Padding. Further possible values: DESede/CBC/PKCS5Padding, AES/CBC/PKCS5Padding, Camellia/CBC/PKCS5Padding, CAST5/CBC/PKCS5Padding. |  | String
-| *originatorInformation Provider* (encrypt) | Provider for the originator info. See https://tools.ietf.org/html/rfc5652#section-6.1. The default value is null. |  | OriginatorInformation Provider
+| *originatorInformation Provider* (encrypt) | Provider for the originator info. See \https://tools.ietf.org/html/rfc5652#section-6.1. The default value is null. |  | OriginatorInformation Provider
 | *recipient* (encrypt) | Recipient Info: reference to a bean which implements the interface org.apache.camel.component.crypto.cms.api.TransRecipientInfo |  | List
 | *secretKeyLength* (encrypt) | Key length for the secret symmetric key used for the content encryption. Only used if the specified content-encryption algorithm allows keys of different sizes. If contentEncryptionAlgorithm=AES/CBC/PKCS5Padding or Camellia/CBC/PKCS5Padding then 128; if contentEncryptionAlgorithm=DESede/CBC/PKCS5Padding then 192, 128; if strong encryption is enabled then for AES/CBC/PKCS5Padding and Camellia/CBC/PKCS5Padding also the key lengths 192 and 256 are possible. |  | int
-| *unprotectedAttributes GeneratorProvider* (encrypt) | Provider of the generator for the unprotected attributes. The default value is null which means no unprotected attribute is added to the Enveloped Data object. See https://tools.ietf.org/html/rfc5652#section-6.1. |  | AttributesGenerator Provider
+| *unprotectedAttributes GeneratorProvider* (encrypt) | Provider of the generator for the unprotected attributes. The default value is null which means no unprotected attribute is added to the Enveloped Data object. See \https://tools.ietf.org/html/rfc5652#section-6.1. |  | AttributesGenerator Provider
 | *toBase64* (encrypt_sign) | Indicates whether the Signed Data or Enveloped Data instance shall be base 64 encoded. Default value is false. | false | Boolean
 | *includeContent* (sign) | Indicates whether the signed content should be included into the Signed Data instance. If false then a detached Signed Data instance is created in the header CamelCryptoCmsSignedData. | true | Boolean
 | *signer* (sign) | Signer information: reference to a bean which implements org.apache.camel.component.crypto.cms.api.SignerInfo |  | List
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index b821149..fd475bc 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -195,7 +195,7 @@ with the following path and query parameters:
 | *oAuthAppId* (security) | The application Id |  | String
 | *oAuthAppSecret* (security) | The application Secret |  | String
 | *oAuthAuthorizationURL* (security) | OAuth authorization URL | https://www.facebook.com/dialog/oauth | String
-| *oAuthPermissions* (security) | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
+| *oAuthPermissions* (security) | Default OAuth permissions. Comma separated permission names. See \https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
@@ -231,7 +231,7 @@ The component supports 29 options, which are listed below.
 | *camel.component.facebook.configuration.o-auth-app-id* | The application Id |  | String
 | *camel.component.facebook.configuration.o-auth-app-secret* | The application Secret |  | String
 | *camel.component.facebook.configuration.o-auth-authorization-u-r-l* | OAuth authorization URL | https://www.facebook.com/dialog/oauth | String
-| *camel.component.facebook.configuration.o-auth-permissions* | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
+| *camel.component.facebook.configuration.o-auth-permissions* | Default OAuth permissions. Comma separated permission names. See \https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
 | *camel.component.facebook.configuration.pretty-debug-enabled* | Prettify JSON debug output if set to true | false | Boolean
 | *camel.component.facebook.configuration.rest-base-u-r-l* | API base URL | https://graph.facebook.com/ | String
 | *camel.component.facebook.configuration.use-s-s-l* | Use SSL | true | Boolean
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index f19ff27..53bfc5b 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -90,7 +90,7 @@ with the following path and query parameters:
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *p12FileName* (common) | The name of the p12 file which has the private key to use with the Google Service Account. |  | String
 | *refreshToken* (common) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *scopes* (common) | Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See https://developers.google.com/google-apps/calendar/auth for more info. | https://www.googleapis.com/auth/calendar | String
+| *scopes* (common) | Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See \https://developers.google.com/google-apps/calendar/auth for more info. | https://www.googleapis.com/auth/calendar | String
 | *user* (common) | The email address of the user the application is trying to impersonate in the service account flow |  | String
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
@@ -119,7 +119,7 @@ The component supports 14 options, which are listed below.
 | *camel.component.google-calendar.configuration.method-name* | What sub operation to use for the selected operation |  | String
 | *camel.component.google-calendar.configuration.p12-file-name* | The name of the p12 file which has the private key to use with the Google Service Account. |  | String
 | *camel.component.google-calendar.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *camel.component.google-calendar.configuration.scopes* | Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See https://developers.google.com/google-apps/calendar/auth for more info. | https://www.googleapis.com/auth/calendar | String
+| *camel.component.google-calendar.configuration.scopes* | Specifies the level of permissions you want a calendar application to have to a user account. You can separate multiple scopes by comma. See \https://developers.google.com/google-apps/calendar/auth for more info. | https://www.googleapis.com/auth/calendar | String
 | *camel.component.google-calendar.configuration.user* | The email address of the user the application is trying to impersonate in the service account flow |  | String
 | *camel.component.google-calendar.enabled* | Enable google-calendar component | true | Boolean
 | *camel.component.google-calendar.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index bcfe036..85abac3 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -95,7 +95,7 @@ with the following path and query parameters:
 | *maxResults* (consumer) | Max results to be returned | 10 | int
 | *query* (consumer) | The query to execute on calendar |  | String
 | *refreshToken* (consumer) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *scopes* (consumer) | Specifies the level of permissions you want a calendar application to have to a user account. See https://developers.google.com/calendar/auth for more info. |  | List
+| *scopes* (consumer) | Specifies the level of permissions you want a calendar application to have to a user account. See \https://developers.google.com/calendar/auth for more info. |  | List
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
@@ -139,7 +139,7 @@ The component supports 15 options, which are listed below.
 | *camel.component.google-calendar-stream.configuration.max-results* | Max results to be returned | 10 | Integer
 | *camel.component.google-calendar-stream.configuration.query* | The query to execute on calendar |  | String
 | *camel.component.google-calendar-stream.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *camel.component.google-calendar-stream.configuration.scopes* | Specifies the level of permissions you want a calendar application to have to a user account. See https://developers.google.com/calendar/auth for more info. |  | List
+| *camel.component.google-calendar-stream.configuration.scopes* | Specifies the level of permissions you want a calendar application to have to a user account. See \https://developers.google.com/calendar/auth for more info. |  | List
 | *camel.component.google-calendar-stream.enabled* | Whether to enable auto configuration of the google-calendar-stream component. This is enabled by default. |  | Boolean
 | *camel.component.google-calendar-stream.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index 197827b..457b857 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -116,7 +116,7 @@ with the following path and query parameters:
 | *clientSecret* (common) | Client secret of the drive application |  | String
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *refreshToken* (common) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *scopes* (common) | Specifies the level of permissions you want a drive application to have to a user account. See https://developers.google.com/drive/web/scopes for more info. |  | List
+| *scopes* (common) | Specifies the level of permissions you want a drive application to have to a user account. See \https://developers.google.com/drive/web/scopes for more info. |  | List
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *exceptionHandler* (consumer) | To let the consumer use a custom ExceptionHandler. Notice if the option bridgeErrorHandler is enabled then this option is not in use. By default the consumer will deal with exceptions, that will be logged at WARN or ERROR level and ignored. |  | ExceptionHandler
 | *exchangePattern* (consumer) | Sets the exchange pattern when the consumer creates an exchange. |  | ExchangePattern
@@ -142,7 +142,7 @@ The component supports 11 options, which are listed below.
 | *camel.component.google-drive.configuration.client-secret* | Client secret of the drive application |  | String
 | *camel.component.google-drive.configuration.method-name* | What sub operation to use for the selected operation |  | String
 | *camel.component.google-drive.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *camel.component.google-drive.configuration.scopes* | Specifies the level of permissions you want a drive application to have to a user account. See https://developers.google.com/drive/web/scopes for more info. |  | List
+| *camel.component.google-drive.configuration.scopes* | Specifies the level of permissions you want a drive application to have to a user account. See \https://developers.google.com/drive/web/scopes for more info. |  | List
 | *camel.component.google-drive.enabled* | Enable google-drive component | true | Boolean
 | *camel.component.google-drive.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index e3aed90..67a6f7d 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -94,7 +94,7 @@ with the following path and query parameters:
 | *maxResults* (consumer) | Specify the maximum number of returned results. This will limit the number of rows in a returned value range data set or the number of returned value ranges in a batch request. | 0 | int
 | *range* (consumer) | Specifies the range of rows and columns in a sheet to get data from. |  | String
 | *refreshToken* (consumer) | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *scopes* (consumer) | Specifies the level of permissions you want a sheets application to have to a user account. See https://developers.google.com/identity/protocols/googlescopes for more info. |  | List
+| *scopes* (consumer) | Specifies the level of permissions you want a sheets application to have to a user account. See \https://developers.google.com/identity/protocols/googlescopes for more info. |  | List
 | *sendEmptyMessageWhenIdle* (consumer) | If the polling consumer did not poll any files, you can enable this option to send an empty message (no body) instead. | false | boolean
 | *splitResults* (consumer) | True if value range result should be split into rows or columns to process each of them individually. When true each row or column is represented with a separate exchange in batch processing. Otherwise value range object is used as exchange junk size. | false | boolean
 | *spreadsheetId* (consumer) | Specifies the spreadsheet identifier that is used to identify the target to obtain. |  | String
@@ -140,7 +140,7 @@ The component supports 17 options, which are listed below.
 | *camel.component.google-sheets-stream.configuration.max-results* | Specify the maximum number of returned results. This will limit the number of rows in a returned value range data set or the number of returned value ranges in a batch request. | 0 | Integer
 | *camel.component.google-sheets-stream.configuration.range* | Specifies the range of rows and columns in a sheet to get data from. |  | String
 | *camel.component.google-sheets-stream.configuration.refresh-token* | OAuth 2 refresh token. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. |  | String
-| *camel.component.google-sheets-stream.configuration.scopes* | Specifies the level of permissions you want a sheets application to have to a user account. See https://developers.google.com/identity/protocols/googlescopes for more info. |  | List
+| *camel.component.google-sheets-stream.configuration.scopes* | Specifies the level of permissions you want a sheets application to have to a user account. See \https://developers.google.com/identity/protocols/googlescopes for more info. |  | List
 | *camel.component.google-sheets-stream.configuration.split-results* | True if value range result should be split into rows or columns to process each of them individually. When true each row or column is represented with a separate exchange in batch processing. Otherwise value range object is used as exchange junk size. | false | Boolean
 | *camel.component.google-sheets-stream.configuration.spreadsheet-id* | Specifies the spreadsheet identifier that is used to identify the target to obtain. |  | String
 | *camel.component.google-sheets-stream.configuration.value-render-option* | Determines how values should be rendered in the output. | FORMATTED_VALUE | String
diff --git a/components/camel-ironmq/src/main/docs/ironmq-component.adoc b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
index e60324c..f185097 100644
--- a/components/camel-ironmq/src/main/docs/ironmq-component.adoc
+++ b/components/camel-ironmq/src/main/docs/ironmq-component.adoc
@@ -66,7 +66,7 @@ with the following path and query parameters:
 |===
 | Name | Description | Default | Type
 | *client* (common) | Reference to a io.iron.ironmq.Client in the Registry. |  | Client
-| *ironMQCloud* (common) | IronMq Cloud url. Urls for public clusters: https://mq-aws-us-east-1-1.iron.io (US) and https://mq-aws-eu-west-1-1.iron.io (EU) | https://mq-aws-us-east-1-1.iron.io | String
+| *ironMQCloud* (common) | IronMq Cloud url. Urls for public clusters: \https://mq-aws-us-east-1-1.iron.io (US) and \https://mq-aws-eu-west-1-1.iron.io (EU) | https://mq-aws-us-east-1-1.iron.io | String
 | *preserveHeaders* (common) | Should message headers be preserved when publishing messages. This will add the Camel headers to the Iron MQ message as a json payload with a header list, and a message body. Useful when Camel is both consumer and producer. | false | boolean
 | *projectId* (common) | IronMQ projectId |  | String
 | *token* (common) | IronMQ token |  | String
diff --git a/components/camel-lra/src/main/docs/lra.adoc b/components/camel-lra/src/main/docs/lra.adoc
index 852fef3..f8a69ea 100644
--- a/components/camel-lra/src/main/docs/lra.adoc
+++ b/components/camel-lra/src/main/docs/lra.adoc
@@ -29,9 +29,9 @@ The component supports 5 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.service.lra.coordinator-context-path* | The context path of the LRA coordinator service |  | String
-| *camel.service.lra.coordinator-url* | The base URL of the LRA coordinator service (e.g. http://lra-host:8080) |  | String
+| *camel.service.lra.coordinator-url* | The base URL of the LRA coordinator service (e.g. \http://lra-host:8080) |  | String
 | *camel.service.lra.enabled* | Global option to enable/disable component auto-configuration, default is true. | true | Boolean
 | *camel.service.lra.local-participant-context-path* | The context path of the local participant callback services |  | String
-| *camel.service.lra.local-participant-url* | The local URL where the coordinator should send callbacks to (e.g. http://my-host-name:8080) |  | String
+| *camel.service.lra.local-participant-url* | The local URL where the coordinator should send callbacks to (e.g. \http://my-host-name:8080) |  | String
 |===
 // spring-boot-auto-configure options: END
diff --git a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
index 144a257..5d5c2ec 100644
--- a/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
+++ b/components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
@@ -181,7 +181,7 @@ with the following path and query parameters:
 | *configuration* (advanced) | To use a custom configured NettyHttpConfiguration for configuring this endpoint. |  | NettyHttpConfiguration
 | *disableStreamCache* (advanced) | Determines whether or not the raw input stream from Netty HttpRequest#getContent() or HttpResponset#getContent() is cached or not (Camel will read the stream into a in light-weight memory based Stream caching) cache. By default Camel will cache the Netty input stream to support reading it multiple times to ensure it Camel can retrieve all data from the stream. However you can set this option to true when you for example need to access the raw stream, s [...]
 | *headerFilterStrategy* (advanced) | To use a custom org.apache.camel.spi.HeaderFilterStrategy to filter headers. |  | HeaderFilterStrategy
-| *nativeTransport* (advanced) | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html | false | boolean
+| *nativeTransport* (advanced) | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: \http://netty.io/wiki/native-transports.html | false | boolean
 | *nettyHttpBinding* (advanced) | To use a custom org.apache.camel.component.netty4.http.NettyHttpBinding for binding to/from Netty and Camel Message API. |  | NettyHttpBinding
 | *options* (advanced) | Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used. |  | Map
 | *receiveBufferSize* (advanced) | The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes. | 65536 | int
diff --git a/components/camel-netty4/src/main/docs/netty4-component.adoc b/components/camel-netty4/src/main/docs/netty4-component.adoc
index 0fce4ab..e7d666d 100644
--- a/components/camel-netty4/src/main/docs/netty4-component.adoc
+++ b/components/camel-netty4/src/main/docs/netty4-component.adoc
@@ -133,7 +133,7 @@ with the following path and query parameters:
 | *allowSerializedHeaders* (advanced) | Only used for TCP when transferExchange is true. When set to true, serializable objects in headers and properties will be added to the exchange. Otherwise Camel will exclude any non-serializable objects and log it at WARN level. | false | boolean
 | *bootstrapConfiguration* (advanced) | To use a custom configured NettyServerBootstrapConfiguration for configuring this endpoint. |  | NettyServerBootstrap Configuration
 | *channelGroup* (advanced) | To use a explicit ChannelGroup. |  | ChannelGroup
-| *nativeTransport* (advanced) | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html | false | boolean
+| *nativeTransport* (advanced) | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: \http://netty.io/wiki/native-transports.html | false | boolean
 | *options* (advanced) | Allows to configure additional netty options using option. as prefix. For example option.child.keepAlive=false to set the netty option child.keepAlive=false. See the Netty documentation for possible options that can be used. |  | Map
 | *receiveBufferSize* (advanced) | The TCP/UDP buffer sizes to be used during inbound communication. Size is bytes. | 65536 | int
 | *receiveBufferSizePredictor* (advanced) | Configures the buffer size predictor. See details at Jetty documentation and this mail thread. |  | int
@@ -204,7 +204,7 @@ The component supports 78 options, which are listed below.
 | *camel.component.netty4.configuration.key-store-format* | Keystore format to be used for payload encryption. Defaults to JKS if not set |  | String
 | *camel.component.netty4.configuration.key-store-resource* | Client side certificate keystore to be used for encryption. Is loaded by default from classpath, but you can prefix with classpath:, file:, or http: to load the resource from different systems. |  | String
 | *camel.component.netty4.configuration.lazy-channel-creation* | Channels can be lazily created to avoid exceptions, if the remote server is not up and running when the Camel producer is started. | true | Boolean
-| *camel.component.netty4.configuration.native-transport* | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: http://netty.io/wiki/native-transports.html | false | Boolean
+| *camel.component.netty4.configuration.native-transport* | Whether to use native transport instead of NIO. Native transport takes advantage of the host operating system and is only supported on some platforms. You need to add the netty JAR for the host operating system you are using. See more details at: \http://netty.io/wiki/native-transports.html | false | Boolean
 | *camel.component.netty4.configuration.need-client-auth* | Configures whether the server needs client authentication when using SSL. | false | Boolean
 | *camel.component.netty4.configuration.netty-server-bootstrap-factory* | To use a custom NettyServerBootstrapFactory |  | NettyServerBootstrap Factory
 | *camel.component.netty4.configuration.network-interface* | When using UDP then this option can be used to specify a network interface by its name, such as eth0 to join a multicast group. |  | String
diff --git a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
index 68afdbc..43fdc9a 100644
--- a/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
+++ b/components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
@@ -96,7 +96,7 @@ with the following path and query parameters:
 | *httpHeaders* (common) | Custom HTTP headers to inject into every request, this could include OAuth tokens, etc. |  | Map
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *proxy* (common) | HTTP proxy server configuration |  | HttpHost
-| *serviceUri* (common) | Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc |  | String
+| *serviceUri* (common) | Target OData service base URI, e.g. \http://services.odata.org/OData/OData.svc |  | String
 | *socketTimeout* (common) | HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds) | 30000 | int
 | *sslContextParameters* (common) | To configure security using SSLContextParameters |  | SSLContextParameters
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
@@ -125,7 +125,7 @@ The component supports 15 options, which are listed below.
 | *camel.component.olingo2.configuration.http-headers* | Custom HTTP headers to inject into every request, this could include OAuth tokens, etc. |  | Map
 | *camel.component.olingo2.configuration.method-name* | What sub operation to use for the selected operation |  | String
 | *camel.component.olingo2.configuration.proxy* | HTTP proxy server configuration |  | HttpHost
-| *camel.component.olingo2.configuration.service-uri* | Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc |  | String
+| *camel.component.olingo2.configuration.service-uri* | Target OData service base URI, e.g. \http://services.odata.org/OData/OData.svc |  | String
 | *camel.component.olingo2.configuration.socket-timeout* | HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds) | 30000 | Integer
 | *camel.component.olingo2.configuration.ssl-context-parameters* | To configure security using SSLContextParameters |  | SSLContextParameters
 | *camel.component.olingo2.enabled* | Enable olingo2 component | true | Boolean
diff --git a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
index 4270311..f756520 100644
--- a/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
+++ b/components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
@@ -97,7 +97,7 @@ with the following path and query parameters:
 | *httpHeaders* (common) | Custom HTTP headers to inject into every request, this could include OAuth tokens, etc. |  | Map
 | *inBody* (common) | Sets the name of a parameter to be passed in the exchange In Body |  | String
 | *proxy* (common) | HTTP proxy server configuration |  | HttpHost
-| *serviceUri* (common) | Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc |  | String
+| *serviceUri* (common) | Target OData service base URI, e.g. \http://services.odata.org/OData/OData.svc |  | String
 | *socketTimeout* (common) | HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds) | 30000 | int
 | *sslContextParameters* (common) | To configure security using SSLContextParameters |  | SSLContextParameters
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
@@ -126,7 +126,7 @@ The component supports 15 options, which are listed below.
 | *camel.component.olingo4.configuration.http-headers* | Custom HTTP headers to inject into every request, this could include OAuth tokens, etc. |  | Map
 | *camel.component.olingo4.configuration.method-name* | What sub operation to use for the selected operation |  | String
 | *camel.component.olingo4.configuration.proxy* | HTTP proxy server configuration |  | HttpHost
-| *camel.component.olingo4.configuration.service-uri* | Target OData service base URI, e.g. http://services.odata.org/OData/OData.svc |  | String
+| *camel.component.olingo4.configuration.service-uri* | Target OData service base URI, e.g. \http://services.odata.org/OData/OData.svc |  | String
 | *camel.component.olingo4.configuration.socket-timeout* | HTTP request timeout in milliseconds, defaults to 30,000 (30 seconds) | 30000 | Integer
 | *camel.component.olingo4.configuration.ssl-context-parameters* | To configure security using SSLContextParameters |  | SSLContextParameters
 | *camel.component.olingo4.enabled* | Enable olingo4 component | true | Boolean
diff --git a/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc b/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
index 8ca11e8..ca15d9b 100644
--- a/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
+++ b/components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
@@ -94,7 +94,7 @@ with the following path and query parameters:
 | *key* (producer) | Set this parameter to true to return only scorecards for key indicators. |  | Boolean
 | *models* (producer) | Defines both request and response models |  | String
 | *perPage* (producer) | Enter the maximum number of scorecards each query can return. By default this value is 10, and the maximum is 100. | 10 | Integer
-| *release* (producer) | The ServiceNow release to target, default to Helsinki See https://docs.servicenow.com | HELSINKI | ServiceNowRelease
+| *release* (producer) | The ServiceNow release to target, default to Helsinki See \https://docs.servicenow.com | HELSINKI | ServiceNowRelease
 | *requestModels* (producer) | Defines the request model |  | String
 | *resource* (producer) | The default resource, can be overridden by header CamelServiceNowResource |  | String
 | *responseModels* (producer) | Defines the response model |  | String
@@ -123,7 +123,7 @@ with the following path and query parameters:
 | *password* (security) | *Required* ServiceNow account password, MUST be provided |  | String
 | *proxyPassword* (security) | Password for proxy authentication |  | String
 | *proxyUserName* (security) | Username for proxy authentication |  | String
-| *sslContextParameters* (security) | To configure security using SSLContextParameters. See http://camel.apache.org/camel-configuration-utilities.html |  | SSLContextParameters
+| *sslContextParameters* (security) | To configure security using SSLContextParameters. See \http://camel.apache.org/camel-configuration-utilities.html |  | SSLContextParameters
 | *userName* (security) | *Required* ServiceNow user account name, MUST be provided |  | String
 |===
 // endpoint options: END
@@ -167,14 +167,14 @@ The component supports 57 options, which are listed below.
 | *camel.component.servicenow.configuration.proxy-password* | Password for proxy authentication |  | String
 | *camel.component.servicenow.configuration.proxy-port* | The proxy port number |  | Integer
 | *camel.component.servicenow.configuration.proxy-user-name* | Username for proxy authentication |  | String
-| *camel.component.servicenow.configuration.release* | The ServiceNow release to target, default to Helsinki See https://docs.servicenow.com |  | ServiceNowRelease
+| *camel.component.servicenow.configuration.release* | The ServiceNow release to target, default to Helsinki See \https://docs.servicenow.com |  | ServiceNowRelease
 | *camel.component.servicenow.configuration.request-models* | Defines the request model |  | Map
 | *camel.component.servicenow.configuration.resource* | The default resource, can be overridden by header CamelServiceNowResource |  | String
 | *camel.component.servicenow.configuration.response-models* | Defines the response model |  | Map
 | *camel.component.servicenow.configuration.retrieve-target-record-on-import* | Set this parameter to true to retrieve the target record when using import set api. The import set result is then replaced by the target record | false | Boolean
 | *camel.component.servicenow.configuration.sort-by* | Specify the value to use when sorting results. By default, queries sort records by value. |  | String
 | *camel.component.servicenow.configuration.sort-dir* | Specify the sort direction, ascending or descending. By default, queries sort records in descending order. Use sysparm_sortdir=asc to sort in ascending order. |  | String
-| *camel.component.servicenow.configuration.ssl-context-parameters* | To configure security using SSLContextParameters. See http://camel.apache.org/camel-configuration-utilities.html |  | SSLContextParameters
+| *camel.component.servicenow.configuration.ssl-context-parameters* | To configure security using SSLContextParameters. See \http://camel.apache.org/camel-configuration-utilities.html |  | SSLContextParameters
 | *camel.component.servicenow.configuration.suppress-auto-sys-field* | True to suppress auto generation of system fields (default: false) |  | Boolean
 | *camel.component.servicenow.configuration.suppress-pagination-header* | Set this value to true to remove the Link header from the response. The Link header allows you to request additional pages of data when the number of records matching your query exceeds the query limit |  | Boolean
 | *camel.component.servicenow.configuration.table* | The default table, can be overridden by header CamelServiceNowTable |  | String
diff --git a/components/camel-zipkin/src/main/docs/zipkin.adoc b/components/camel-zipkin/src/main/docs/zipkin.adoc
index 87d5c38..d0e315b 100644
--- a/components/camel-zipkin/src/main/docs/zipkin.adoc
+++ b/components/camel-zipkin/src/main/docs/zipkin.adoc
@@ -100,7 +100,7 @@ The component supports 10 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.zipkin.client-service-mappings* | Sets client service mapping(s) that matches Camel events to the given zipkin service name. The key is the pattern, the value is the service name. |  | Map
-| *camel.zipkin.endpoint* | Sets the POST URL for zipkin's <a href="http://zipkin.io/zipkin-api/#/">v2 api</a>, usually "http://zipkinhost:9411/api/v2/spans" |  | String
+| *camel.zipkin.endpoint* | Sets the POST URL for zipkin's <a href="http://zipkin.io/zipkin-api/#/">v2 api</a>, usually "\http://zipkinhost:9411/api/v2/spans" |  | String
 | *camel.zipkin.exclude-patterns* | Sets exclude pattern(s) that will disable tracing with zipkin for Camel messages that matches the pattern. |  | Set
 | *camel.zipkin.host-name* | Sets the hostname if sending spans to a remote zipkin scribe (thrift RPC) collector. |  | String
 | *camel.zipkin.include-message-body* | Whether to include the Camel message body in the zipkin traces. This is not recommended for production usage, or when having big payloads. You can limit the size by configuring camel.springboot.log-debug-max-chars option. | false | Boolean
diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml b/tooling/maven/camel-package-maven-plugin/pom.xml
index a68a52f..b6156bd 100644
--- a/tooling/maven/camel-package-maven-plugin/pom.xml
+++ b/tooling/maven/camel-package-maven-plugin/pom.xml
@@ -191,6 +191,11 @@
       <version>${junit-jupiter-version}</version>
       <scope>test</scope>
     </dependency>
+    <dependency>
+      <groupId>org.assertj</groupId>
+      <artifactId>assertj-core</artifactId>
+      <version>${assertj-version}</version>
+    </dependency>
   </dependencies>
 
   <profiles>
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
new file mode 100644
index 0000000..13ea42d
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
@@ -0,0 +1,43 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.maven.packaging;
+
+import java.util.regex.Pattern;
+
+public final class MvelHelper {
+
+    public static final MvelHelper INSTANCE = new MvelHelper();
+
+    private static final Pattern DOLLAR_ESCAPE = Pattern.compile("\\$");
+
+    private static final Pattern URL_ESCAPE = Pattern.compile("(?<!href=\")(http(:?s)?://|(:?s)?ftp(?:s)?)");
+
+    private MvelHelper() {
+        // utility class
+    }
+
+    public static String escape(final String raw) {
+        if (raw == null) {
+            return null;
+        }
+
+        final String escapedDollars = DOLLAR_ESCAPE.matcher(raw).replaceAll("\\\\\\$");
+        final String escapedUrls = URL_ESCAPE.matcher(escapedDollars).replaceAll("\\\\$1");
+
+        return escapedUrls;
+    }
+}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
index 077a7c7..9d67358 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
@@ -172,7 +172,7 @@ public class PrepareExampleMojo extends AbstractMojo {
             Map<String, Object> map = new HashMap<>();
             map.put("examples", models);
             map.put("numberOfDeprecated", deprecated);
-            String out = (String) TemplateRuntime.eval(template, map);
+            String out = (String) TemplateRuntime.eval(template, map, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
index 358d2a5..b3ea3e3 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
@@ -475,7 +475,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
             Map<String, Object> map = new HashMap<>();
             map.put("eips", models);
             map.put("numberOfDeprecated", deprecated);
-            String out = (String) TemplateRuntime.eval(template, map);
+            String out = (String) TemplateRuntime.eval(template, map, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
@@ -489,7 +489,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
             map.put("components", models);
             map.put("numberOfArtifacts", artifacts);
             map.put("numberOfDeprecated", deprecated);
-            String out = (String) TemplateRuntime.eval(template, map);
+            String out = (String) TemplateRuntime.eval(template, map, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
@@ -503,7 +503,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
             map.put("others", models);
             map.put("numberOfArtifacts", artifacts);
             map.put("numberOfDeprecated", deprecated);
-            String out = (String) TemplateRuntime.eval(template, map);
+            String out = (String) TemplateRuntime.eval(template, map, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
@@ -517,7 +517,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
             map.put("dataformats", models);
             map.put("numberOfArtifacts", artifacts);
             map.put("numberOfDeprecated", deprecated);
-            String out = (String) TemplateRuntime.eval(template, map);
+            String out = (String) TemplateRuntime.eval(template, map, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
@@ -531,7 +531,7 @@ public class PrepareReadmeMojo extends AbstractMojo {
             map.put("languages", models);
             map.put("numberOfArtifacts", artifacts);
             map.put("numberOfDeprecated", deprecated);
-            String out = (String) TemplateRuntime.eval(template, map);
+            String out = (String) TemplateRuntime.eval(template, map, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index 3cb3b22..9ebcd443 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -23,6 +23,7 @@ import java.io.InputStream;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -915,7 +916,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
     private static String evaluateTemplate(final String templateName, final Object model) throws MojoExecutionException {
         try (InputStream templateStream = UpdateReadmeMojo.class.getClassLoader().getResourceAsStream(templateName)) {
             String template = loadText(templateStream);
-            return (String) TemplateRuntime.eval(template, model);
+            return (String) TemplateRuntime.eval(template, model, Collections.singletonMap("util", MvelHelper.INSTANCE));
         } catch (IOException e) {
             throw new MojoExecutionException("Error processing mvel template `" + templateName + "`", e);
         }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
index a0828d7..d54e50b 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
@@ -23,6 +23,7 @@ import java.io.FileReader;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 import java.util.stream.Collectors;
@@ -311,6 +312,20 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
                 String desc = row.getStringOrDefault("description", "");
                 String defaultValue = row.getStringOrDefault("defaultValue", "");
 
+                // is the option deprecated then include that as well in the description
+                String deprecated = row.getStringOrDefault("deprecated", "");
+                String deprecationNote = row.getStringOrDefault("deprecationNote", "");
+                if ("true".equals(deprecated)) {
+                    desc = "*Deprecated* " + desc;
+                    if (!StringHelper.isEmpty(deprecationNote)) {
+                        if (!desc.endsWith(".")) {
+                            desc = desc + ". Deprecation note: " + deprecationNote;
+                        } else {
+                            desc = desc + " Deprecation note: " + deprecationNote;
+                        }
+                    }
+                }
+
                 // skip this special option and also if not matching the filter
                 boolean skip = name.endsWith("customizer.enabled") || include != null && !name.contains("." + include + ".");
                 if (!skip) {
@@ -373,7 +388,7 @@ public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
 
         try {
             String template = loadText(UpdateSpringBootAutoConfigurationReadmeMojo.class.getClassLoader().getResourceAsStream("spring-boot-auto-configure-options.mvel"));
-            String out = (String) TemplateRuntime.eval(template, model);
+            String out = (String) TemplateRuntime.eval(template, model, Collections.singletonMap("util", MvelHelper.INSTANCE));
             return out;
         } catch (Exception e) {
             throw new MojoExecutionException("Error processing mvel template. Reason: " + e, e);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
index 1faaccf..ac16976 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
@@ -8,6 +8,6 @@ The @{title} component supports @{componentOptions.size()} options, which are li
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : componentOptions}| *@{row.getShortName(25)}* (@{row.shortGroup}) | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : componentOptions}| *@{row.getShortName(25)}* (@{row.shortGroup}) | @{util.escape(row.description)} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
index c957b75..5942392 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
@@ -8,6 +8,6 @@ The @{title} dataformat supports @{dataFormatOptions.size()} options, which are
 [width="100%",cols="2s,1m,1m,6",options="header"]
 |===
 | Name | Default | Java Type | Description
-@foreach{row : dataFormatOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description.replaceAll("\\$", "\\\\\\$")}
+@foreach{row : dataFormatOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{util.escape(row.description)}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel
index 3ad7508..a11511a 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel
@@ -6,6 +6,6 @@ The @{title} EIP supports @{eipOptions.size()} options which are listed below:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : eipOptions}| *@{row.getShortName(30)}* | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : eipOptions}| *@{row.getShortName(30)}* | @{util.escape(row.description)} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index 6cec166..1c9e33b 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -14,7 +14,7 @@ The @{title} endpoint has no path parameters.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : endpointPathOptions}| *@{row.getShortName(30)}* | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : endpointPathOptions}| *@{row.getShortName(30)}* | @{util.escape(row.description)} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
 
@@ -26,6 +26,6 @@ The @{title} endpoint has no query parameters.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : endpointOptions}| *@{row.getShortName(30)}* (@{row.shortGroup}) | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : endpointOptions}| *@{row.getShortName(30)}* (@{row.shortGroup}) | @{util.escape(row.description)} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel
index 01ea4d8..498d338 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel
@@ -8,6 +8,6 @@ The @{title} language supports @{languageOptions.size()} options, which are list
 [width="100%",cols="2,1m,1m,6",options="header"]
 |===
 | Name | Default | Java Type | Description
-@foreach{row : languageOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description.replaceAll("\\$", "\\\\\\$")}
+@foreach{row : languageOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{util.escape(row.description)}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel
index 765a66e2..16d3573 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel
@@ -7,7 +7,7 @@ Number of Components: @{components.size} in @{numberOfArtifacts} JAR artifacts (
 | Component | Available From | Description
 @foreach{row : components}
 | link:@{row.docLink}/${row.scheme}-component.adoc[@{row.title}] (@{row.artifactId}) +
-`@{row.syntax}` | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
+`@{row.syntax}` | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{util.escape(row.description)}
 @end{}
 |===
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel
index 3790e21..72d12c1 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel
@@ -6,7 +6,7 @@ Number of Data Formats: @{dataformats.size} in @{numberOfArtifacts} JAR artifact
 |===
 | Data Format | Available From | Description
 @foreach{row : dataformats}
-| link:@{row.docLink}/${row.name}-dataformat.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
+| link:@{row.docLink}/${row.name}-dataformat.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{util.escape(row.description)}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel
index 0869927..c4ce7f3 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel
@@ -7,7 +7,7 @@ Number of EIPs: @{eips.size} (@{numberOfDeprecated} deprecated)
 | EIP | Description
 @foreach{row : eips}
 | link:@{row.docLink}/${row.name}-eip.adoc[@{row.title}] +
-`<@{row.name}>` | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
+`<@{row.name}>` | @if{row.deprecated == "true"}*deprecated* @end{}@{util.escape(row.description)}
 @end{}
 |===
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel
index 72a3667..4001623 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel
@@ -6,7 +6,7 @@ Number of Examples: @{examples.size} (@{numberOfDeprecated} deprecated)
 |===
 | Example | Category | Description
 @foreach{row : examples}
-| link:@{row.docLink}[@{row.title}] (@{row.fileName}) | @{row.category} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
+| link:@{row.docLink}[@{row.title}] (@{row.fileName}) | @{row.category} | @if{row.deprecated == "true"}*deprecated* @end{}@{util.escape(row.description)}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel
index 120662f..ba0e1ca 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel
@@ -6,7 +6,7 @@ Number of Languages: @{languages.size} in @{numberOfArtifacts} JAR artifacts (@{
 |===
 | Language | Available From | Description
 @foreach{row : languages}
-| link:@{row.docLink}/${row.name}-language.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
+| link:@{row.docLink}/${row.name}-language.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{util.escape(row.description)}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel
index 7ae9c31..cbd06ce 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel
@@ -6,7 +6,7 @@ Number of Miscellaneous Components: @{others.size} in @{numberOfArtifacts} JAR a
 |===
 | Component | Available From | Description
 @foreach{row : others}
-| link:@{row.docLink}/${row.name}.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
+| link:@{row.docLink}/${row.name}.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{util.escape(row.description)}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
index 3b41a93..690708d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
@@ -22,6 +22,6 @@ The component supports @{options.size()} options, which are listed below.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : options}| *@{row.name}* | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : options}| *@{row.name}* | @{util.escape(row.description)} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
new file mode 100644
index 0000000..ac9e031
--- /dev/null
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
@@ -0,0 +1,66 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.maven.packaging;
+
+import java.util.stream.Stream;
+
+import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.Arguments;
+import org.junit.jupiter.params.provider.MethodSource;
+
+import static org.assertj.core.api.Assertions.assertThat;
+import static org.junit.jupiter.params.provider.Arguments.arguments;
+
+public class MvelHelperTest {
+
+    @Test
+    public void shouldBeRobustAtEscaping() {
+        assertThat(MvelHelper.escape(null)).isNull();
+        assertThat(MvelHelper.escape("")).isEmpty();
+        assertThat(MvelHelper.escape(" ")).isEqualTo(" ");
+    }
+
+    @ParameterizedTest
+    @MethodSource("dollarEscapeCases")
+    public void shouldEscapeDollarSigns(final String given, final String expected) {
+        assertThat(MvelHelper.escape(given)).isEqualTo(expected);
+    }
+
+    @ParameterizedTest
+    @MethodSource("urlEscapeCases")
+    public void shouldUrls(final String given, final String expected) {
+        assertThat(MvelHelper.escape(given)).isEqualTo(expected);
+    }
+
+    static Stream<Arguments> dollarEscapeCases() {
+        return Stream.of(
+            arguments("$", "\\$"),
+            arguments("some ${expression} here", "some \\${expression} here"));
+    }
+
+    static Stream<Arguments> urlEscapeCases() {
+        return Stream.of(
+            arguments("http", "http"),
+            arguments("some ${expression} here", "some \\${expression} here"),
+            arguments("http://example.com", "\\http://example.com"),
+            arguments("some http://example.com here", "some \\http://example.com here"),
+            arguments("https://example.com", "\\https://example.com"),
+            arguments("ftp://example.com", "\\ftp://example.com"),
+            arguments("Sets the POST URL for zipkin's <a href=\"http://zipkin.io/zipkin-api/#/\">v2 api</a>, usually \"http://zipkinhost:9411/api/v2/spans\"", "Sets the POST URL for zipkin's <a href=\"http://zipkin.io/zipkin-api/#/\">v2 api</a>, usually \"\\http://zipkinhost:9411/api/v2/spans\""));
+    }
+}


[camel] 07/16: adding additional escaping logic to the Maven plugin that generates the Asciidoc files

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit b43ea0d551cec3f03b833297adb8f1ab7a68e42d
Author: nayananga@acerubuntu18.04 <na...@gmail.com>
AuthorDate: Thu Jul 25 01:53:55 2019 +0530

    adding additional escaping logic to the Maven plugin that generates the Asciidoc files
    
    (cherry picked from commit 54b06503acd8d29a673d1e713cba512f5e2361f0)
---
 .../java/org/apache/camel/maven/packaging/MvelHelper.java |  5 ++++-
 .../org/apache/camel/maven/packaging/MvelHelperTest.java  | 15 +++++++++++++--
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
index 13ea42d..8387817 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MvelHelper.java
@@ -24,6 +24,8 @@ public final class MvelHelper {
 
     private static final Pattern DOLLAR_ESCAPE = Pattern.compile("\\$");
 
+    private static final Pattern CURLY_BRACKET_ESCAPE = Pattern.compile("(\\{[a-zA-Z0-9]+?)\\}");
+
     private static final Pattern URL_ESCAPE = Pattern.compile("(?<!href=\")(http(:?s)?://|(:?s)?ftp(?:s)?)");
 
     private MvelHelper() {
@@ -36,7 +38,8 @@ public final class MvelHelper {
         }
 
         final String escapedDollars = DOLLAR_ESCAPE.matcher(raw).replaceAll("\\\\\\$");
-        final String escapedUrls = URL_ESCAPE.matcher(escapedDollars).replaceAll("\\\\$1");
+        final String escapedCurlyBrackets = CURLY_BRACKET_ESCAPE.matcher(escapedDollars).replaceAll("\\\\$1\\\\}");
+        final String escapedUrls = URL_ESCAPE.matcher(escapedCurlyBrackets).replaceAll("\\\\$1");
 
         return escapedUrls;
     }
diff --git a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
index ac9e031..51ab0b6 100644
--- a/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
+++ b/tooling/maven/camel-package-maven-plugin/src/test/java/org/apache/camel/maven/packaging/MvelHelperTest.java
@@ -42,6 +42,12 @@ public class MvelHelperTest {
     }
 
     @ParameterizedTest
+    @MethodSource("curlyBracketEscapeCases")
+    public void shouldcurlyBracket(final String given, final String expected) {
+        assertThat(MvelHelper.escape(given)).isEqualTo(expected);
+    }
+
+    @ParameterizedTest
     @MethodSource("urlEscapeCases")
     public void shouldUrls(final String given, final String expected) {
         assertThat(MvelHelper.escape(given)).isEqualTo(expected);
@@ -50,13 +56,18 @@ public class MvelHelperTest {
     static Stream<Arguments> dollarEscapeCases() {
         return Stream.of(
             arguments("$", "\\$"),
-            arguments("some ${expression} here", "some \\${expression} here"));
+            arguments("some ${expression} here", "some \\$\\{expression\\} here"));
+    }
+
+    static Stream<Arguments> curlyBracketEscapeCases() {
+        return Stream.of(
+            arguments("some {expression} here", "some \\{expression\\} here"));
     }
 
     static Stream<Arguments> urlEscapeCases() {
         return Stream.of(
             arguments("http", "http"),
-            arguments("some ${expression} here", "some \\${expression} here"),
+            arguments("some ${expression} here", "some \\$\\{expression\\} here"),
             arguments("http://example.com", "\\http://example.com"),
             arguments("some http://example.com here", "some \\http://example.com here"),
             arguments("https://example.com", "\\https://example.com"),


[camel] 15/16: CAMEL-13932: Regen with CAMEL-13910

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit c7ff5b0603c8d5afb205cdca124b2f98fc59383a
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Tue Sep 3 16:32:46 2019 +0200

    CAMEL-13932: Regen with CAMEL-13910
---
 docs/components/modules/ROOT/pages/ahc-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/ahc-ws-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/amqp-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/apns-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/as2-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/asn1-dataformat.adoc                  | 1 +
 docs/components/modules/ROOT/pages/asterisk-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/atmos-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc   | 1 +
 docs/components/modules/ROOT/pages/atom-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/atomix-map-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/atomix-messaging-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/atomix-multimap-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/atomix-queue-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/atomix-set-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/atomix-value-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/avro-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/avro-dataformat.adoc                  | 1 +
 docs/components/modules/ROOT/pages/aws-cw-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/aws-ddb-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/aws-ec2-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-iam-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-kinesis-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc   | 1 +
 docs/components/modules/ROOT/pages/aws-kms-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-lambda-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/aws-mq-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/aws-s3-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/aws-sdb-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-ses-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-sns-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-sqs-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-swf-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/aws-xray.adoc                         | 1 +
 docs/components/modules/ROOT/pages/azure-blob-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/azure-queue-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/bam-example.adoc                      | 1 +
 docs/components/modules/ROOT/pages/barcode-dataformat.adoc               | 1 +
 docs/components/modules/ROOT/pages/base64-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/bean-validator-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/beanio-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/beanstalk-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/bindy-dataformat.adoc                 | 1 +
 docs/components/modules/ROOT/pages/blueprint.adoc                        | 1 +
 docs/components/modules/ROOT/pages/bonita-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/boon-dataformat.adoc                  | 1 +
 docs/components/modules/ROOT/pages/box-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/braintree-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/cache-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/caffeine-cache-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/castor-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/cdi.adoc                              | 1 +
 docs/components/modules/ROOT/pages/chronicle-engine-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/chunk-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/cmis-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/coap-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/cometd-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/consul-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/context-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/corda-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/couchbase-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/couchdb-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/cql-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/crypto-cms-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/crypto-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/crypto-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/csv-dataformat.adoc                   | 1 +
 docs/components/modules/ROOT/pages/cxf-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/cxfrs-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/digitalocean-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/disruptor-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/dns-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/docker-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/dozer-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/drill-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/dropbox-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/eclipse.adoc                          | 1 +
 docs/components/modules/ROOT/pages/ehcache-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/ejb-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/el-language.adoc                      | 1 +
 docs/components/modules/ROOT/pages/elasticsearch-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/elasticsearch5-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/elsql-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/etcd-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/eventadmin-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/exec-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/facebook-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/fhir-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc              | 1 +
 docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc               | 1 +
 docs/components/modules/ROOT/pages/flatpack-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/flatpack-dataformat.adoc              | 1 +
 docs/components/modules/ROOT/pages/flink-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/fop-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/freemarker-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/ftp-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/ftps-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/ganglia-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/geocoder-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/git-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/github-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/google-bigquery-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc    | 1 +
 docs/components/modules/ROOT/pages/google-calendar-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc | 1 +
 docs/components/modules/ROOT/pages/google-drive-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/google-mail-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/google-mail-stream-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/google-pubsub-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/google-sheets-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc   | 1 +
 docs/components/modules/ROOT/pages/gora-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/grape-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/groovy-language.adoc                  | 1 +
 docs/components/modules/ROOT/pages/grpc-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/guava-eventbus-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/hazelcast-atomicvalue-component.adoc  | 1 +
 docs/components/modules/ROOT/pages/hazelcast-instance-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/hazelcast-list-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/hazelcast-map-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/hazelcast-multimap-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/hazelcast-queue-component.adoc        | 1 +
 .../components/modules/ROOT/pages/hazelcast-replicatedmap-component.adoc | 1 +
 docs/components/modules/ROOT/pages/hazelcast-ringbuffer-component.adoc   | 1 +
 docs/components/modules/ROOT/pages/hazelcast-seda-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/hazelcast-set-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/hazelcast-topic-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/hazelcast.adoc                        | 1 +
 docs/components/modules/ROOT/pages/hbase-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/hdfs-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/hdfs2-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/headersmap.adoc                       | 1 +
 docs/components/modules/ROOT/pages/hessian-dataformat.adoc               | 1 +
 docs/components/modules/ROOT/pages/hipchat-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/hl7-dataformat.adoc                   | 1 +
 docs/components/modules/ROOT/pages/http-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/http4-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/ibatis-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/ical-dataformat.adoc                  | 1 +
 docs/components/modules/ROOT/pages/iec60870-client-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/iec60870-server-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/ignite-cache-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/ignite-compute-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/ignite-events-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/ignite-idgen-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/ignite-messaging-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/ignite-queue-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/ignite-set-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/infinispan-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/influxdb-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/iota-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/ipfs-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/irc-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/ironmq-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/jacksonxml-dataformat.adoc            | 1 +
 docs/components/modules/ROOT/pages/jasypt.adoc                           | 1 +
 docs/components/modules/ROOT/pages/javaScript-language.adoc              | 1 +
 docs/components/modules/ROOT/pages/javaspace-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/jaxb-dataformat.adoc                  | 1 +
 docs/components/modules/ROOT/pages/jbpm-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/jcache-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/jclouds-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/jcr-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/jdbc-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/jetty-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/jgroups-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/jgroups-raft-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/jibx-dataformat.adoc                  | 1 +
 docs/components/modules/ROOT/pages/jing-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/jira-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/jms-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/jmx-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/jolt-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/jpa-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/json-fastjson-dataformat.adoc         | 1 +
 docs/components/modules/ROOT/pages/json-gson-dataformat.adoc             | 1 +
 docs/components/modules/ROOT/pages/json-jackson-dataformat.adoc          | 1 +
 docs/components/modules/ROOT/pages/json-johnzon-dataformat.adoc          | 1 +
 docs/components/modules/ROOT/pages/json-validator-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/json-xstream-dataformat.adoc          | 1 +
 docs/components/modules/ROOT/pages/jsonpath-language.adoc                | 1 +
 docs/components/modules/ROOT/pages/jt400-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/jxpath-language.adoc                  | 1 +
 docs/components/modules/ROOT/pages/kafka-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/kestrel-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/krati-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/kubernetes-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc | 1 +
 docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc | 1 +
 docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/kubernetes-job-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc  | 1 +
 docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc       | 1 +
 .../ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc       | 1 +
 .../modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc      | 1 +
 docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc        | 1 +
 .../modules/ROOT/pages/kubernetes-replication-controllers-component.adoc | 1 +
 .../modules/ROOT/pages/kubernetes-resources-quota-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc     | 1 +
 .../modules/ROOT/pages/kubernetes-service-accounts-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/kubernetes-services-component.adoc    | 1 +
 docs/components/modules/ROOT/pages/kubernetes.adoc                       | 1 +
 docs/components/modules/ROOT/pages/ldap-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/ldif-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/linkedin-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/lpr-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/lucene-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/lumberjack-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/lzf-dataformat.adoc                   | 1 +
 docs/components/modules/ROOT/pages/mail-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/master-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/metrics-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/micrometer-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/milo-client-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/milo-server-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/mime-multipart-dataformat.adoc        | 1 +
 docs/components/modules/ROOT/pages/mina-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/mina2-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/mllp-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/mongodb-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/mongodb3-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/mqtt-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/msv-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/mustache-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/mvel-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/mvel-language.adoc                    | 1 +
 docs/components/modules/ROOT/pages/mybatis-bean-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/mybatis-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/nagios-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/nats-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/netty-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/netty-http-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/netty4-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/netty4-http-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/nsq-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/ognl-language.adoc                    | 1 +
 docs/components/modules/ROOT/pages/olingo2-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/olingo4-component.adoc                | 1 +
 .../components/modules/ROOT/pages/openshift-build-configs-component.adoc | 1 +
 docs/components/modules/ROOT/pages/openshift-builds-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/openshift-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/openstack-cinder-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/openstack-glance-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/openstack-keystone-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/openstack-neutron-component.adoc      | 1 +
 docs/components/modules/ROOT/pages/openstack-nova-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/openstack-swift-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/opentracing.adoc                      | 1 +
 docs/components/modules/ROOT/pages/optaplanner-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/paho-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/paxlogging-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/pdf-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/pgevent-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/pgp-dataformat.adoc                   | 1 +
 docs/components/modules/ROOT/pages/php-language.adoc                     | 1 +
 docs/components/modules/ROOT/pages/protobuf-dataformat.adoc              | 1 +
 docs/components/modules/ROOT/pages/pubnub-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/pulsar-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/python-language.adoc                  | 1 +
 docs/components/modules/ROOT/pages/quartz-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/quartz2-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/quickfix-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/rabbitmq-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/reactive-streams-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/reactor-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/rest-swagger-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/restlet-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/ribbon.adoc                           | 1 +
 docs/components/modules/ROOT/pages/rmi-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/routebox-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/rss-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/rss-dataformat.adoc                   | 1 +
 docs/components/modules/ROOT/pages/ruby-language.adoc                    | 1 +
 docs/components/modules/ROOT/pages/salesforce-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/sap-netweaver-component.adoc          | 1 +
 docs/components/modules/ROOT/pages/schematron-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/scp-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/scr.adoc                              | 1 +
 docs/components/modules/ROOT/pages/secureXML-dataformat.adoc             | 1 +
 docs/components/modules/ROOT/pages/service-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/servicenow-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/servlet-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/sftp-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/sip-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/sjms-batch-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/sjms-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/sjms2-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/slack-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/smpp-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/snmp-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc              | 1 +
 docs/components/modules/ROOT/pages/solr-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/spark-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/spark-rest-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/spel-language.adoc                    | 1 +
 docs/components/modules/ROOT/pages/splunk-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/spring-batch-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/spring-boot.adoc                      | 1 +
 docs/components/modules/ROOT/pages/spring-event-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/spring-integration-component.adoc     | 1 +
 docs/components/modules/ROOT/pages/spring-ldap-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/spring-redis-component.adoc           | 1 +
 docs/components/modules/ROOT/pages/spring-ws-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/spring.adoc                           | 1 +
 docs/components/modules/ROOT/pages/sql-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/sql-language.adoc                     | 1 +
 docs/components/modules/ROOT/pages/sql-stored-component.adoc             | 1 +
 docs/components/modules/ROOT/pages/ssh-component.adoc                    | 1 +
 docs/components/modules/ROOT/pages/stax-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/stomp-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/stream-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/string-template-component.adoc        | 1 +
 docs/components/modules/ROOT/pages/syslog-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/tarfile-dataformat.adoc               | 1 +
 docs/components/modules/ROOT/pages/telegram-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/terser-language.adoc                  | 1 +
 docs/components/modules/ROOT/pages/test-blueprint.adoc                   | 1 +
 docs/components/modules/ROOT/pages/test-cdi.adoc                         | 1 +
 docs/components/modules/ROOT/pages/test-karaf.adoc                       | 1 +
 docs/components/modules/ROOT/pages/test-spring.adoc                      | 1 +
 docs/components/modules/ROOT/pages/testcontainers.adoc                   | 1 +
 docs/components/modules/ROOT/pages/testng.adoc                           | 1 +
 docs/components/modules/ROOT/pages/thrift-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/thrift-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/tidyMarkup-dataformat.adoc            | 1 +
 docs/components/modules/ROOT/pages/tika-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/twilio-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/twitter-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/twitter-directmessage-component.adoc  | 1 +
 docs/components/modules/ROOT/pages/twitter-search-component.adoc         | 1 +
 docs/components/modules/ROOT/pages/twitter-streaming-component.adoc      | 1 +
 docs/components/modules/ROOT/pages/twitter-timeline-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/twitter.adoc                          | 1 +
 docs/components/modules/ROOT/pages/undertow-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc         | 1 +
 docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc       | 1 +
 docs/components/modules/ROOT/pages/univocity-tsv-dataformat.adoc         | 1 +
 docs/components/modules/ROOT/pages/velocity-component.adoc               | 1 +
 docs/components/modules/ROOT/pages/vertx-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/weather-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/web3j-component.adoc                  | 1 +
 docs/components/modules/ROOT/pages/websocket-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc       | 1 +
 docs/components/modules/ROOT/pages/wordpress-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/xchange-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/xmlBeans-dataformat.adoc              | 1 +
 docs/components/modules/ROOT/pages/xmlrpc-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/xmlrpc-dataformat.adoc                | 1 +
 docs/components/modules/ROOT/pages/xmlsecurity-component.adoc            | 1 +
 docs/components/modules/ROOT/pages/xmpp-component.adoc                   | 1 +
 docs/components/modules/ROOT/pages/xquery-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/xquery-language.adoc                  | 1 +
 docs/components/modules/ROOT/pages/xstream-dataformat.adoc               | 1 +
 docs/components/modules/ROOT/pages/yaml-snakeyaml-dataformat.adoc        | 1 +
 docs/components/modules/ROOT/pages/yammer-component.adoc                 | 1 +
 docs/components/modules/ROOT/pages/zendesk-component.adoc                | 1 +
 docs/components/modules/ROOT/pages/zipfile-dataformat.adoc               | 1 +
 docs/components/modules/ROOT/pages/zipkin.adoc                           | 1 +
 docs/components/modules/ROOT/pages/zookeeper-component.adoc              | 1 +
 docs/components/modules/ROOT/pages/zookeeper-master-component.adoc       | 1 +
 364 files changed, 364 insertions(+)

diff --git a/docs/components/modules/ROOT/pages/ahc-component.adoc b/docs/components/modules/ROOT/pages/ahc-component.adoc
index 0064876..47bc0ee 100644
--- a/docs/components/modules/ROOT/pages/ahc-component.adoc
+++ b/docs/components/modules/ROOT/pages/ahc-component.adoc
@@ -1,5 +1,6 @@
 [[ahc-component]]
 = AHC Component
+:page-source: components/camel-ahc/src/main/docs/ahc-component.adoc
 
 *Available as of Camel version 2.8*
 
diff --git a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
index 948565b..daa655c 100644
--- a/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
+++ b/docs/components/modules/ROOT/pages/ahc-ws-component.adoc
@@ -1,5 +1,6 @@
 [[ahc-ws-component]]
 = AHC Websocket Component
+:page-source: components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc b/docs/components/modules/ROOT/pages/amqp-component.adoc
index 730f991..31c08c1 100644
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -1,5 +1,6 @@
 [[amqp-component]]
 = AMQP Component
+:page-source: components/camel-amqp/src/main/docs/amqp-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/apns-component.adoc b/docs/components/modules/ROOT/pages/apns-component.adoc
index 243e313..84b5b8d 100644
--- a/docs/components/modules/ROOT/pages/apns-component.adoc
+++ b/docs/components/modules/ROOT/pages/apns-component.adoc
@@ -1,5 +1,6 @@
 [[apns-component]]
 = APNS Component
+:page-source: components/camel-apns/src/main/docs/apns-component.adoc
 
 *Available as of Camel version 2.8*
 
diff --git a/docs/components/modules/ROOT/pages/as2-component.adoc b/docs/components/modules/ROOT/pages/as2-component.adoc
index e8a3c1a..5940dc4 100644
--- a/docs/components/modules/ROOT/pages/as2-component.adoc
+++ b/docs/components/modules/ROOT/pages/as2-component.adoc
@@ -1,5 +1,6 @@
 [[as2-component]]
 = AS2 Component
+:page-source: components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
 
 *Available as of Camel version 2.22*
 
diff --git a/docs/components/modules/ROOT/pages/asn1-dataformat.adoc b/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
index 7d8f675..86d13fb 100644
--- a/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/asn1-dataformat.adoc
@@ -1,5 +1,6 @@
 [[asn1-dataformat]]
 = ASN.1 File DataFormat
+:page-source: components/camel-asn1/src/main/docs/asn1-dataformat.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/asterisk-component.adoc b/docs/components/modules/ROOT/pages/asterisk-component.adoc
index a6c82f2..f324cd2 100644
--- a/docs/components/modules/ROOT/pages/asterisk-component.adoc
+++ b/docs/components/modules/ROOT/pages/asterisk-component.adoc
@@ -1,5 +1,6 @@
 [[asterisk-component]]
 = Asterisk Component
+:page-source: components/camel-asterisk/src/main/docs/asterisk-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/atmos-component.adoc b/docs/components/modules/ROOT/pages/atmos-component.adoc
index 0b74584..9c1f9ed 100644
--- a/docs/components/modules/ROOT/pages/atmos-component.adoc
+++ b/docs/components/modules/ROOT/pages/atmos-component.adoc
@@ -1,5 +1,6 @@
 [[atmos-component]]
 = Atmos Component
+:page-source: components/camel-atmos/src/main/docs/atmos-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
index e8eb325..9507674 100644
--- a/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
+++ b/docs/components/modules/ROOT/pages/atmosphere-websocket-component.adoc
@@ -1,5 +1,6 @@
 [[atmosphere-websocket-component]]
 = Atmosphere Websocket Component
+:page-source: components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/atom-component.adoc b/docs/components/modules/ROOT/pages/atom-component.adoc
index add1ded..f764b05 100644
--- a/docs/components/modules/ROOT/pages/atom-component.adoc
+++ b/docs/components/modules/ROOT/pages/atom-component.adoc
@@ -1,5 +1,6 @@
 [[atom-component]]
 = Atom Component
+:page-source: components/camel-atom/src/main/docs/atom-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/atomix-map-component.adoc b/docs/components/modules/ROOT/pages/atomix-map-component.adoc
index 36298e0..a07e30d 100644
--- a/docs/components/modules/ROOT/pages/atomix-map-component.adoc
+++ b/docs/components/modules/ROOT/pages/atomix-map-component.adoc
@@ -1,5 +1,6 @@
 [[atomix-map-component]]
 = Atomix Map Component
+:page-source: components/camel-atomix/src/main/docs/atomix-map-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc b/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
index 072de61..7446f10 100644
--- a/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
+++ b/docs/components/modules/ROOT/pages/atomix-messaging-component.adoc
@@ -1,5 +1,6 @@
 [[atomix-messaging-component]]
 = Atomix Messaging Component
+:page-source: components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc b/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
index d058e1e..25d4549 100644
--- a/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
+++ b/docs/components/modules/ROOT/pages/atomix-multimap-component.adoc
@@ -1,5 +1,6 @@
 [[atomix-multimap-component]]
 = Atomix MultiMap Component
+:page-source: components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/atomix-queue-component.adoc b/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
index 56cda04..223e41b 100644
--- a/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
+++ b/docs/components/modules/ROOT/pages/atomix-queue-component.adoc
@@ -1,5 +1,6 @@
 [[atomix-queue-component]]
 = Atomix Queue Component
+:page-source: components/camel-atomix/src/main/docs/atomix-queue-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/atomix-set-component.adoc b/docs/components/modules/ROOT/pages/atomix-set-component.adoc
index db63d9d..9ca0634 100644
--- a/docs/components/modules/ROOT/pages/atomix-set-component.adoc
+++ b/docs/components/modules/ROOT/pages/atomix-set-component.adoc
@@ -1,5 +1,6 @@
 [[atomix-set-component]]
 = Atomix Set Component
+:page-source: components/camel-atomix/src/main/docs/atomix-set-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/atomix-value-component.adoc b/docs/components/modules/ROOT/pages/atomix-value-component.adoc
index 95fc702..e9c7504 100644
--- a/docs/components/modules/ROOT/pages/atomix-value-component.adoc
+++ b/docs/components/modules/ROOT/pages/atomix-value-component.adoc
@@ -1,5 +1,6 @@
 [[atomix-value-component]]
 = Atomix Value Component
+:page-source: components/camel-atomix/src/main/docs/atomix-value-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/avro-component.adoc b/docs/components/modules/ROOT/pages/avro-component.adoc
index bd311af..74eea31 100644
--- a/docs/components/modules/ROOT/pages/avro-component.adoc
+++ b/docs/components/modules/ROOT/pages/avro-component.adoc
@@ -1,5 +1,6 @@
 [[avro-component]]
 = Avro Component
+:page-source: components/camel-avro/src/main/docs/avro-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/avro-dataformat.adoc b/docs/components/modules/ROOT/pages/avro-dataformat.adoc
index 6c2e0b0..0b6ad86 100644
--- a/docs/components/modules/ROOT/pages/avro-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/avro-dataformat.adoc
@@ -1,5 +1,6 @@
 [[avro-dataformat]]
 = Avro DataFormat
+:page-source: components/camel-avro/src/main/docs/avro-dataformat.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/aws-cw-component.adoc b/docs/components/modules/ROOT/pages/aws-cw-component.adoc
index 422ade8..ee968a7 100644
--- a/docs/components/modules/ROOT/pages/aws-cw-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-cw-component.adoc
@@ -1,5 +1,6 @@
 [[aws-cw-component]]
 = AWS CloudWatch Component
+:page-source: components/camel-aws/src/main/docs/aws-cw-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/aws-ddb-component.adoc b/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
index d77b095..e6cae8c 100644
--- a/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-ddb-component.adoc
@@ -1,5 +1,6 @@
 [[aws-ddb-component]]
 = AWS DynamoDB Component
+:page-source: components/camel-aws/src/main/docs/aws-ddb-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc b/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
index 425c47f..4b62c73 100644
--- a/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
@@ -1,5 +1,6 @@
 [[aws-ddbstream-component]]
 = AWS DynamoDB Streams Component
+:page-source: components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc b/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
index 6097524..873809a 100644
--- a/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-ec2-component.adoc
@@ -1,5 +1,6 @@
 [[aws-ec2-component]]
 = AWS EC2 Component
+:page-source: components/camel-aws/src/main/docs/aws-ec2-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/aws-iam-component.adoc b/docs/components/modules/ROOT/pages/aws-iam-component.adoc
index 4fbcee0..92ee6fa 100644
--- a/docs/components/modules/ROOT/pages/aws-iam-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-iam-component.adoc
@@ -1,5 +1,6 @@
 [[aws-iam-component]]
 = AWS IAM Component
+:page-source: components/camel-aws/src/main/docs/aws-iam-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc b/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
index efc0659..2ac8b94 100644
--- a/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
@@ -1,5 +1,6 @@
 [[aws-kinesis-component]]
 = AWS Kinesis Component
+:page-source: components/camel-aws/src/main/docs/aws-kinesis-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc b/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
index f7ce451..9a4a4c1 100644
--- a/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
@@ -1,5 +1,6 @@
 [[aws-kinesis-firehose-component]]
 = AWS Kinesis Firehose Component
+:page-source: components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/aws-kms-component.adoc b/docs/components/modules/ROOT/pages/aws-kms-component.adoc
index 4b6d16b..bf7b0f6 100644
--- a/docs/components/modules/ROOT/pages/aws-kms-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-kms-component.adoc
@@ -1,5 +1,6 @@
 [[aws-kms-component]]
 = AWS KMS Component
+:page-source: components/camel-aws/src/main/docs/aws-kms-component.adoc
 
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/aws-lambda-component.adoc b/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
index 1f5730e..bcde4c6 100644
--- a/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-lambda-component.adoc
@@ -1,5 +1,6 @@
 [[aws-lambda-component]]
 = AWS Lambda Component
+:page-source: components/camel-aws/src/main/docs/aws-lambda-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/aws-mq-component.adoc b/docs/components/modules/ROOT/pages/aws-mq-component.adoc
index 8698b34..78bdb72 100644
--- a/docs/components/modules/ROOT/pages/aws-mq-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-mq-component.adoc
@@ -1,5 +1,6 @@
 [[aws-mq-component]]
 = AWS MQ Component
+:page-source: components/camel-aws/src/main/docs/aws-mq-component.adoc
 
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/aws-s3-component.adoc b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
index 9b22943..6c270e4 100644
--- a/docs/components/modules/ROOT/pages/aws-s3-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-s3-component.adoc
@@ -1,5 +1,6 @@
 [[aws-s3-component]]
 = AWS S3 Storage Service Component
+:page-source: components/camel-aws/src/main/docs/aws-s3-component.adoc
 
 *Available as of Camel version 2.8*
 
diff --git a/docs/components/modules/ROOT/pages/aws-sdb-component.adoc b/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
index 1b8aa22..79d465c 100644
--- a/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-sdb-component.adoc
@@ -1,5 +1,6 @@
 [[aws-sdb-component]]
 = AWS SimpleDB Component
+:page-source: components/camel-aws/src/main/docs/aws-sdb-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/aws-ses-component.adoc b/docs/components/modules/ROOT/pages/aws-ses-component.adoc
index 32af14f..660fb32 100644
--- a/docs/components/modules/ROOT/pages/aws-ses-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-ses-component.adoc
@@ -1,5 +1,6 @@
 [[aws-ses-component]]
 = AWS Simple Email Service Component
+:page-source: components/camel-aws/src/main/docs/aws-ses-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/aws-sns-component.adoc b/docs/components/modules/ROOT/pages/aws-sns-component.adoc
index dd01a2c..cc3761b 100644
--- a/docs/components/modules/ROOT/pages/aws-sns-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-sns-component.adoc
@@ -1,5 +1,6 @@
 [[aws-sns-component]]
 = AWS Simple Notification System Component
+:page-source: components/camel-aws/src/main/docs/aws-sns-component.adoc
 
 *Available as of Camel version 2.8*
 
diff --git a/docs/components/modules/ROOT/pages/aws-sqs-component.adoc b/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
index dfbb2e0..bdd3f63 100644
--- a/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-sqs-component.adoc
@@ -1,5 +1,6 @@
 [[aws-sqs-component]]
 = AWS Simple Queue Service Component
+:page-source: components/camel-aws/src/main/docs/aws-sqs-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/aws-swf-component.adoc b/docs/components/modules/ROOT/pages/aws-swf-component.adoc
index 911a91e..aa0190a 100644
--- a/docs/components/modules/ROOT/pages/aws-swf-component.adoc
+++ b/docs/components/modules/ROOT/pages/aws-swf-component.adoc
@@ -1,5 +1,6 @@
 [[aws-swf-component]]
 = AWS Simple Workflow Component
+:page-source: components/camel-aws/src/main/docs/aws-swf-component.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/aws-xray.adoc b/docs/components/modules/ROOT/pages/aws-xray.adoc
index 8d7763a..554aa82 100644
--- a/docs/components/modules/ROOT/pages/aws-xray.adoc
+++ b/docs/components/modules/ROOT/pages/aws-xray.adoc
@@ -1,5 +1,6 @@
 [[AWSXRay-AWSXRayComponent]]
 = AWS XRay Component
+:page-source: components/camel-aws-xray/src/main/docs/aws-xray.adoc
 
 *Available as of Camel 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/azure-blob-component.adoc b/docs/components/modules/ROOT/pages/azure-blob-component.adoc
index 279ded5..20df0c6 100644
--- a/docs/components/modules/ROOT/pages/azure-blob-component.adoc
+++ b/docs/components/modules/ROOT/pages/azure-blob-component.adoc
@@ -1,5 +1,6 @@
 [[azure-blob-component]]
 = Azure Storage Blob Service Component
+:page-source: components/camel-azure/src/main/docs/azure-blob-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/azure-queue-component.adoc b/docs/components/modules/ROOT/pages/azure-queue-component.adoc
index b0b87a7..e2b1e4e 100644
--- a/docs/components/modules/ROOT/pages/azure-queue-component.adoc
+++ b/docs/components/modules/ROOT/pages/azure-queue-component.adoc
@@ -1,5 +1,6 @@
 [[azure-queue-component]]
 = Azure Storage Queue Service Component
+:page-source: components/camel-azure/src/main/docs/azure-queue-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/bam-example.adoc b/docs/components/modules/ROOT/pages/bam-example.adoc
index 638b785..18f7894 100644
--- a/docs/components/modules/ROOT/pages/bam-example.adoc
+++ b/docs/components/modules/ROOT/pages/bam-example.adoc
@@ -1,4 +1,5 @@
 = Business Activity Monitor (BAM) Example
+:page-source: components/camel-bam/src/main/docs/bam-example.adoc
 
 The BAM (Business Activity Monitor) example shows how to
 monitor your transaction flows using Camel.
diff --git a/docs/components/modules/ROOT/pages/barcode-dataformat.adoc b/docs/components/modules/ROOT/pages/barcode-dataformat.adoc
index 2e939ef..11232a8 100644
--- a/docs/components/modules/ROOT/pages/barcode-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/barcode-dataformat.adoc
@@ -1,5 +1,6 @@
 [[barcode-dataformat]]
 = Barcode DataFormat
+:page-source: components/camel-barcode/src/main/docs/barcode-dataformat.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/base64-dataformat.adoc b/docs/components/modules/ROOT/pages/base64-dataformat.adoc
index 62a7e01..dfab4c2 100644
--- a/docs/components/modules/ROOT/pages/base64-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/base64-dataformat.adoc
@@ -1,5 +1,6 @@
 [[base64-dataformat]]
 = Base64 DataFormat
+:page-source: components/camel-base64/src/main/docs/base64-dataformat.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/bean-validator-component.adoc b/docs/components/modules/ROOT/pages/bean-validator-component.adoc
index f4d228a..19c49ae 100644
--- a/docs/components/modules/ROOT/pages/bean-validator-component.adoc
+++ b/docs/components/modules/ROOT/pages/bean-validator-component.adoc
@@ -1,5 +1,6 @@
 [[bean-validator-component]]
 = Bean Validator Component
+:page-source: components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/beanio-dataformat.adoc b/docs/components/modules/ROOT/pages/beanio-dataformat.adoc
index 05d284b..f23d9aa 100644
--- a/docs/components/modules/ROOT/pages/beanio-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/beanio-dataformat.adoc
@@ -1,5 +1,6 @@
 [[beanio-dataformat]]
 = BeanIO DataFormat
+:page-source: components/camel-beanio/src/main/docs/beanio-dataformat.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/beanstalk-component.adoc b/docs/components/modules/ROOT/pages/beanstalk-component.adoc
index 29dbce2..b465821 100644
--- a/docs/components/modules/ROOT/pages/beanstalk-component.adoc
+++ b/docs/components/modules/ROOT/pages/beanstalk-component.adoc
@@ -1,5 +1,6 @@
 [[beanstalk-component]]
 = Beanstalk Component
+:page-source: components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/bindy-dataformat.adoc b/docs/components/modules/ROOT/pages/bindy-dataformat.adoc
index 2bc4e84..bdb89ae 100644
--- a/docs/components/modules/ROOT/pages/bindy-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/bindy-dataformat.adoc
@@ -1,5 +1,6 @@
 [[bindy-dataformat]]
 = Bindy DataFormat
+:page-source: components/camel-bindy/src/main/docs/bindy-dataformat.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/blueprint.adoc b/docs/components/modules/ROOT/pages/blueprint.adoc
index dc091e3..73491e5 100644
--- a/docs/components/modules/ROOT/pages/blueprint.adoc
+++ b/docs/components/modules/ROOT/pages/blueprint.adoc
@@ -1,4 +1,5 @@
 = Using OSGi blueprint with Camel
+:page-source: components/camel-blueprint/src/main/docs/blueprint.adoc
 
 A custom XML namespace for Blueprint has been created to let you leverage the nice XML dialect.
 Given Blueprint custom namespaces are not standardized yet, this namespace can only be used on the Apache Aries Blueprint
diff --git a/docs/components/modules/ROOT/pages/bonita-component.adoc b/docs/components/modules/ROOT/pages/bonita-component.adoc
index 63b961a..3de1ee8 100644
--- a/docs/components/modules/ROOT/pages/bonita-component.adoc
+++ b/docs/components/modules/ROOT/pages/bonita-component.adoc
@@ -1,5 +1,6 @@
 [[bonita-component]]
 = Bonita Component
+:page-source: components/camel-bonita/src/main/docs/bonita-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/boon-dataformat.adoc b/docs/components/modules/ROOT/pages/boon-dataformat.adoc
index 3109c7f..86795ce 100644
--- a/docs/components/modules/ROOT/pages/boon-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/boon-dataformat.adoc
@@ -1,5 +1,6 @@
 [[boon-dataformat]]
 = Boon DataFormat (deprecated)
+:page-source: components/camel-boon/src/main/docs/boon-dataformat.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/box-component.adoc b/docs/components/modules/ROOT/pages/box-component.adoc
index 22e022f..cd90714 100644
--- a/docs/components/modules/ROOT/pages/box-component.adoc
+++ b/docs/components/modules/ROOT/pages/box-component.adoc
@@ -1,5 +1,6 @@
 [[box-component]]
 = Box Component
+:page-source: components/camel-box/camel-box-component/src/main/docs/box-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/braintree-component.adoc b/docs/components/modules/ROOT/pages/braintree-component.adoc
index 2ce3d48..ab045a3 100644
--- a/docs/components/modules/ROOT/pages/braintree-component.adoc
+++ b/docs/components/modules/ROOT/pages/braintree-component.adoc
@@ -1,5 +1,6 @@
 [[braintree-component]]
 = Braintree Component
+:page-source: components/camel-braintree/src/main/docs/braintree-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/cache-component.adoc b/docs/components/modules/ROOT/pages/cache-component.adoc
index 91c9e12..61e7f08 100644
--- a/docs/components/modules/ROOT/pages/cache-component.adoc
+++ b/docs/components/modules/ROOT/pages/cache-component.adoc
@@ -1,5 +1,6 @@
 [[cache-component]]
 = EHCache Component (deprecated)
+:page-source: components/camel-cache/src/main/docs/cache-component.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc b/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
index 31f7c7a..0f2c47b 100644
--- a/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
+++ b/docs/components/modules/ROOT/pages/caffeine-cache-component.adoc
@@ -1,5 +1,6 @@
 [[caffeine-cache-component]]
 = Caffeine Cache Component
+:page-source: components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc b/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
index 2ea19cd..9a51dc9 100644
--- a/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
+++ b/docs/components/modules/ROOT/pages/caffeine-loadcache-component.adoc
@@ -1,5 +1,6 @@
 [[caffeine-loadcache-component]]
 = Caffeine LoadCache Component
+:page-source: components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/castor-dataformat.adoc b/docs/components/modules/ROOT/pages/castor-dataformat.adoc
index a1a4076..3b4bf7d 100644
--- a/docs/components/modules/ROOT/pages/castor-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/castor-dataformat.adoc
@@ -1,5 +1,6 @@
 [[castor-dataformat]]
 = Castor DataFormat (deprecated)
+:page-source: components/camel-castor/src/main/docs/castor-dataformat.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/cdi.adoc b/docs/components/modules/ROOT/pages/cdi.adoc
index 2c14402..df07ceb 100644
--- a/docs/components/modules/ROOT/pages/cdi.adoc
+++ b/docs/components/modules/ROOT/pages/cdi.adoc
@@ -1,5 +1,6 @@
 [[cdi-component]]
 = Camel CDI
+:page-source: components/camel-cdi/src/main/docs/cdi.adoc
 
 The Camel CDI component provides auto-configuration for Apache Camel
 using CDI as dependency injection framework based
diff --git a/docs/components/modules/ROOT/pages/chronicle-engine-component.adoc b/docs/components/modules/ROOT/pages/chronicle-engine-component.adoc
index 1155057..d358184 100644
--- a/docs/components/modules/ROOT/pages/chronicle-engine-component.adoc
+++ b/docs/components/modules/ROOT/pages/chronicle-engine-component.adoc
@@ -1,5 +1,6 @@
 [[chronicle-engine-component]]
 = Chronicle Engine Component (deprecated)
+:page-source: components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/chunk-component.adoc b/docs/components/modules/ROOT/pages/chunk-component.adoc
index e8ca840..4c7a33f 100644
--- a/docs/components/modules/ROOT/pages/chunk-component.adoc
+++ b/docs/components/modules/ROOT/pages/chunk-component.adoc
@@ -1,5 +1,6 @@
 [[chunk-component]]
 = Chunk Component
+:page-source: components/camel-chunk/src/main/docs/chunk-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/cmis-component.adoc b/docs/components/modules/ROOT/pages/cmis-component.adoc
index fd29c97..9b2cd72 100644
--- a/docs/components/modules/ROOT/pages/cmis-component.adoc
+++ b/docs/components/modules/ROOT/pages/cmis-component.adoc
@@ -1,5 +1,6 @@
 [[cmis-component]]
 = CMIS Component
+:page-source: components/camel-cmis/src/main/docs/cmis-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/coap-component.adoc b/docs/components/modules/ROOT/pages/coap-component.adoc
index f3fcf70..eedc0fb 100644
--- a/docs/components/modules/ROOT/pages/coap-component.adoc
+++ b/docs/components/modules/ROOT/pages/coap-component.adoc
@@ -1,5 +1,6 @@
 [[coap-component]]
 = CoAP Component
+:page-source: components/camel-coap/src/main/docs/coap-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/cometd-component.adoc b/docs/components/modules/ROOT/pages/cometd-component.adoc
index a15622f..265d2b7 100644
--- a/docs/components/modules/ROOT/pages/cometd-component.adoc
+++ b/docs/components/modules/ROOT/pages/cometd-component.adoc
@@ -1,5 +1,6 @@
 [[cometd-component]]
 = CometD Component
+:page-source: components/camel-cometd/src/main/docs/cometd-component.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/consul-component.adoc b/docs/components/modules/ROOT/pages/consul-component.adoc
index 1f9bec2..7ef640d 100644
--- a/docs/components/modules/ROOT/pages/consul-component.adoc
+++ b/docs/components/modules/ROOT/pages/consul-component.adoc
@@ -1,5 +1,6 @@
 [[consul-component]]
 = Consul Component
+:page-source: components/camel-consul/src/main/docs/consul-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/context-component.adoc b/docs/components/modules/ROOT/pages/context-component.adoc
index 4f98e0d..f880cd6 100644
--- a/docs/components/modules/ROOT/pages/context-component.adoc
+++ b/docs/components/modules/ROOT/pages/context-component.adoc
@@ -1,5 +1,6 @@
 [[context-component]]
 = Camel Context Component (deprecated)
+:page-source: components/camel-context/src/main/docs/context-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/corda-component.adoc b/docs/components/modules/ROOT/pages/corda-component.adoc
index bb31e2b..85bb111 100644
--- a/docs/components/modules/ROOT/pages/corda-component.adoc
+++ b/docs/components/modules/ROOT/pages/corda-component.adoc
@@ -1,5 +1,6 @@
 [[corda-component]]
 = corda Component
+:page-source: components/camel-corda/src/main/docs/corda-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/couchbase-component.adoc b/docs/components/modules/ROOT/pages/couchbase-component.adoc
index af5df47..6c03d06 100644
--- a/docs/components/modules/ROOT/pages/couchbase-component.adoc
+++ b/docs/components/modules/ROOT/pages/couchbase-component.adoc
@@ -1,5 +1,6 @@
 [[couchbase-component]]
 = Couchbase Component
+:page-source: components/camel-couchbase/src/main/docs/couchbase-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/couchdb-component.adoc b/docs/components/modules/ROOT/pages/couchdb-component.adoc
index f994403..8e0b7f3 100644
--- a/docs/components/modules/ROOT/pages/couchdb-component.adoc
+++ b/docs/components/modules/ROOT/pages/couchdb-component.adoc
@@ -1,5 +1,6 @@
 [[couchdb-component]]
 = CouchDB Component
+:page-source: components/camel-couchdb/src/main/docs/couchdb-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/cql-component.adoc b/docs/components/modules/ROOT/pages/cql-component.adoc
index 98d9bdf..2c13829 100644
--- a/docs/components/modules/ROOT/pages/cql-component.adoc
+++ b/docs/components/modules/ROOT/pages/cql-component.adoc
@@ -1,5 +1,6 @@
 [[cql-component]]
 = Cassandra CQL Component
+:page-source: components/camel-cassandraql/src/main/docs/cql-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/crypto-cms-component.adoc b/docs/components/modules/ROOT/pages/crypto-cms-component.adoc
index 82fb77c..27bff3b 100644
--- a/docs/components/modules/ROOT/pages/crypto-cms-component.adoc
+++ b/docs/components/modules/ROOT/pages/crypto-cms-component.adoc
@@ -1,5 +1,6 @@
 [[crypto-cms-component]]
 = Crypto CMS Component
+:page-source: components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/crypto-component.adoc b/docs/components/modules/ROOT/pages/crypto-component.adoc
index 35a8fed..27d8f63 100644
--- a/docs/components/modules/ROOT/pages/crypto-component.adoc
+++ b/docs/components/modules/ROOT/pages/crypto-component.adoc
@@ -1,5 +1,6 @@
 [[crypto-component]]
 = Crypto (JCE) Component
+:page-source: components/camel-crypto/src/main/docs/crypto-component.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/crypto-dataformat.adoc b/docs/components/modules/ROOT/pages/crypto-dataformat.adoc
index 2f9f1b2..d394806 100644
--- a/docs/components/modules/ROOT/pages/crypto-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/crypto-dataformat.adoc
@@ -1,5 +1,6 @@
 [[crypto-dataformat]]
 = Crypto (Java Cryptographic Extension) DataFormat
+:page-source: components/camel-crypto/src/main/docs/crypto-dataformat.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/csv-dataformat.adoc b/docs/components/modules/ROOT/pages/csv-dataformat.adoc
index c59ac90..82c5c3f 100644
--- a/docs/components/modules/ROOT/pages/csv-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/csv-dataformat.adoc
@@ -1,5 +1,6 @@
 [[csv-dataformat]]
 = CSV DataFormat
+:page-source: components/camel-csv/src/main/docs/csv-dataformat.adoc
 
 *Available as of Camel version 1.3*
 
diff --git a/docs/components/modules/ROOT/pages/cxf-component.adoc b/docs/components/modules/ROOT/pages/cxf-component.adoc
index 8b0b8cb..cd69a11 100644
--- a/docs/components/modules/ROOT/pages/cxf-component.adoc
+++ b/docs/components/modules/ROOT/pages/cxf-component.adoc
@@ -1,5 +1,6 @@
 [[cxf-component]]
 = CXF Component
+:page-source: components/camel-cxf/src/main/docs/cxf-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/cxfrs-component.adoc b/docs/components/modules/ROOT/pages/cxfrs-component.adoc
index e82a112..eff111e 100644
--- a/docs/components/modules/ROOT/pages/cxfrs-component.adoc
+++ b/docs/components/modules/ROOT/pages/cxfrs-component.adoc
@@ -1,5 +1,6 @@
 [[cxfrs-component]]
 = CXF-RS Component
+:page-source: components/camel-cxf/src/main/docs/cxfrs-component.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/digitalocean-component.adoc b/docs/components/modules/ROOT/pages/digitalocean-component.adoc
index 51fa577..c28b430 100644
--- a/docs/components/modules/ROOT/pages/digitalocean-component.adoc
+++ b/docs/components/modules/ROOT/pages/digitalocean-component.adoc
@@ -1,5 +1,6 @@
 [[digitalocean-component]]
 = DigitalOcean Component
+:page-source: components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/disruptor-component.adoc b/docs/components/modules/ROOT/pages/disruptor-component.adoc
index 439c3fe..bb35802 100644
--- a/docs/components/modules/ROOT/pages/disruptor-component.adoc
+++ b/docs/components/modules/ROOT/pages/disruptor-component.adoc
@@ -1,5 +1,6 @@
 [[disruptor-component]]
 = Disruptor Component
+:page-source: components/camel-disruptor/src/main/docs/disruptor-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/dns-component.adoc b/docs/components/modules/ROOT/pages/dns-component.adoc
index 5bcbcef..7c81f29 100644
--- a/docs/components/modules/ROOT/pages/dns-component.adoc
+++ b/docs/components/modules/ROOT/pages/dns-component.adoc
@@ -1,5 +1,6 @@
 [[dns-component]]
 = DNS Component
+:page-source: components/camel-dns/src/main/docs/dns-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/docker-component.adoc b/docs/components/modules/ROOT/pages/docker-component.adoc
index 275a891..e2843e8 100644
--- a/docs/components/modules/ROOT/pages/docker-component.adoc
+++ b/docs/components/modules/ROOT/pages/docker-component.adoc
@@ -1,5 +1,6 @@
 [[docker-component]]
 = Docker Component
+:page-source: components/camel-docker/src/main/docs/docker-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/dozer-component.adoc b/docs/components/modules/ROOT/pages/dozer-component.adoc
index e78a70a..426e84b 100644
--- a/docs/components/modules/ROOT/pages/dozer-component.adoc
+++ b/docs/components/modules/ROOT/pages/dozer-component.adoc
@@ -1,5 +1,6 @@
 [[dozer-component]]
 = Dozer Component
+:page-source: components/camel-dozer/src/main/docs/dozer-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/drill-component.adoc b/docs/components/modules/ROOT/pages/drill-component.adoc
index 513ebba..01d3ae8 100644
--- a/docs/components/modules/ROOT/pages/drill-component.adoc
+++ b/docs/components/modules/ROOT/pages/drill-component.adoc
@@ -1,5 +1,6 @@
 [[drill-component]]
 = Drill Component
+:page-source: components/camel-drill/src/main/docs/drill-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/dropbox-component.adoc b/docs/components/modules/ROOT/pages/dropbox-component.adoc
index 9c829f3..ce47ad1 100644
--- a/docs/components/modules/ROOT/pages/dropbox-component.adoc
+++ b/docs/components/modules/ROOT/pages/dropbox-component.adoc
@@ -1,5 +1,6 @@
 [[dropbox-component]]
 = Dropbox Component
+:page-source: components/camel-dropbox/src/main/docs/dropbox-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/eclipse.adoc b/docs/components/modules/ROOT/pages/eclipse.adoc
index 2a0c149..0ed562e 100644
--- a/docs/components/modules/ROOT/pages/eclipse.adoc
+++ b/docs/components/modules/ROOT/pages/eclipse.adoc
@@ -1,4 +1,5 @@
 = Eclipse Component
+:page-source: components/camel-eclipse/src/main/docs/eclipse.adoc
 
 *Available as of Camel 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/ehcache-component.adoc b/docs/components/modules/ROOT/pages/ehcache-component.adoc
index 887da54..db84d31 100644
--- a/docs/components/modules/ROOT/pages/ehcache-component.adoc
+++ b/docs/components/modules/ROOT/pages/ehcache-component.adoc
@@ -1,5 +1,6 @@
 [[ehcache-component]]
 = Ehcache Component
+:page-source: components/camel-ehcache/src/main/docs/ehcache-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/ejb-component.adoc b/docs/components/modules/ROOT/pages/ejb-component.adoc
index e453d3e..c459e67 100644
--- a/docs/components/modules/ROOT/pages/ejb-component.adoc
+++ b/docs/components/modules/ROOT/pages/ejb-component.adoc
@@ -1,5 +1,6 @@
 [[ejb-component]]
 = EJB Component (deprecated)
+:page-source: components/camel-ejb/src/main/docs/ejb-component.adoc
 
 *Available as of Camel version 2.4*
 
diff --git a/docs/components/modules/ROOT/pages/el-language.adoc b/docs/components/modules/ROOT/pages/el-language.adoc
index 4e893c2..d85f812 100644
--- a/docs/components/modules/ROOT/pages/el-language.adoc
+++ b/docs/components/modules/ROOT/pages/el-language.adoc
@@ -1,5 +1,6 @@
 [[el-language]]
 = EL Language (deprecated)
+:page-source: components/camel-juel/src/main/docs/el-language.adoc
 [[EL-EL]]
 *Available as of Camel version 1.1.0*
 *Available as of Camel version 1.1*
diff --git a/docs/components/modules/ROOT/pages/elasticsearch-component.adoc b/docs/components/modules/ROOT/pages/elasticsearch-component.adoc
index 3eb9049..414c85e 100644
--- a/docs/components/modules/ROOT/pages/elasticsearch-component.adoc
+++ b/docs/components/modules/ROOT/pages/elasticsearch-component.adoc
@@ -1,5 +1,6 @@
 [[elasticsearch-component]]
 = Elasticsearch Component (deprecated)
+:page-source: components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc b/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
index 01d85f9..163079d 100644
--- a/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
+++ b/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
@@ -1,5 +1,6 @@
 [[elasticsearch-rest-component]]
 = Elastichsearch Rest Component
+:page-source: components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
 
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/elasticsearch5-component.adoc b/docs/components/modules/ROOT/pages/elasticsearch5-component.adoc
index 42a897b..897d481 100644
--- a/docs/components/modules/ROOT/pages/elasticsearch5-component.adoc
+++ b/docs/components/modules/ROOT/pages/elasticsearch5-component.adoc
@@ -1,5 +1,6 @@
 [[elasticsearch5-component]]
 = Elasticsearch5 Component (deprecated)
+:page-source: components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/elsql-component.adoc b/docs/components/modules/ROOT/pages/elsql-component.adoc
index d47e4ad..85a9df9 100644
--- a/docs/components/modules/ROOT/pages/elsql-component.adoc
+++ b/docs/components/modules/ROOT/pages/elsql-component.adoc
@@ -1,5 +1,6 @@
 [[elsql-component]]
 = ElSQL Component
+:page-source: components/camel-elsql/src/main/docs/elsql-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/etcd-component.adoc b/docs/components/modules/ROOT/pages/etcd-component.adoc
index d923778..94519f5 100644
--- a/docs/components/modules/ROOT/pages/etcd-component.adoc
+++ b/docs/components/modules/ROOT/pages/etcd-component.adoc
@@ -1,5 +1,6 @@
 [[etcd-component]]
 = etcd Component
+:page-source: components/camel-etcd/src/main/docs/etcd-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/eventadmin-component.adoc b/docs/components/modules/ROOT/pages/eventadmin-component.adoc
index 42abb53..d864eec 100644
--- a/docs/components/modules/ROOT/pages/eventadmin-component.adoc
+++ b/docs/components/modules/ROOT/pages/eventadmin-component.adoc
@@ -1,5 +1,6 @@
 [[eventadmin-component]]
 = OSGi EventAdmin Component
+:page-source: components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/exec-component.adoc b/docs/components/modules/ROOT/pages/exec-component.adoc
index 09d893a..9feb78f 100644
--- a/docs/components/modules/ROOT/pages/exec-component.adoc
+++ b/docs/components/modules/ROOT/pages/exec-component.adoc
@@ -1,5 +1,6 @@
 [[exec-component]]
 = Exec Component
+:page-source: components/camel-exec/src/main/docs/exec-component.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/facebook-component.adoc b/docs/components/modules/ROOT/pages/facebook-component.adoc
index 5ca2169..f71dc2e 100644
--- a/docs/components/modules/ROOT/pages/facebook-component.adoc
+++ b/docs/components/modules/ROOT/pages/facebook-component.adoc
@@ -1,5 +1,6 @@
 [[facebook-component]]
 = Facebook Component
+:page-source: components/camel-facebook/src/main/docs/facebook-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/fhir-component.adoc b/docs/components/modules/ROOT/pages/fhir-component.adoc
index 0f11c27..3021ccd 100644
--- a/docs/components/modules/ROOT/pages/fhir-component.adoc
+++ b/docs/components/modules/ROOT/pages/fhir-component.adoc
@@ -1,5 +1,6 @@
 [[fhir-component]]
 = FHIR Component
+:page-source: components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc b/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc
index 2a696cd..80f7f0a 100644
--- a/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/fhirJson-dataformat.adoc
@@ -1,5 +1,6 @@
 [[fhirJson-dataformat]]
 = FHIR JSon DataFormat
+:page-source: components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
 *Available as of Camel version 2.21*
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc b/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc
index 6fabaa1..2c15c6a 100644
--- a/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/fhirXml-dataformat.adoc
@@ -1,5 +1,6 @@
 [[fhirXml-dataformat]]
 = FHIR XML DataFormat
+:page-source: components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
 *Available as of Camel version 2.21*
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/flatpack-component.adoc b/docs/components/modules/ROOT/pages/flatpack-component.adoc
index 6636c72..477a800 100644
--- a/docs/components/modules/ROOT/pages/flatpack-component.adoc
+++ b/docs/components/modules/ROOT/pages/flatpack-component.adoc
@@ -1,5 +1,6 @@
 [[flatpack-component]]
 = Flatpack Component
+:page-source: components/camel-flatpack/src/main/docs/flatpack-component.adoc
 
 *Available as of Camel version 1.4*
 
diff --git a/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc b/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
index 0f42ab5..2cc0354 100644
--- a/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/flatpack-dataformat.adoc
@@ -1,5 +1,6 @@
 [[flatpack-dataformat]]
 = Flatpack DataFormat
+:page-source: components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/flink-component.adoc b/docs/components/modules/ROOT/pages/flink-component.adoc
index 8c04638..9a78beb 100644
--- a/docs/components/modules/ROOT/pages/flink-component.adoc
+++ b/docs/components/modules/ROOT/pages/flink-component.adoc
@@ -1,5 +1,6 @@
 [[flink-component]]
 = Apache Flink Component
+:page-source: components/camel-flink/src/main/docs/flink-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/fop-component.adoc b/docs/components/modules/ROOT/pages/fop-component.adoc
index 15767b9..df0f7dd 100644
--- a/docs/components/modules/ROOT/pages/fop-component.adoc
+++ b/docs/components/modules/ROOT/pages/fop-component.adoc
@@ -1,5 +1,6 @@
 [[fop-component]]
 = FOP Component
+:page-source: components/camel-fop/src/main/docs/fop-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/freemarker-component.adoc b/docs/components/modules/ROOT/pages/freemarker-component.adoc
index e99bda5..6971fdb 100644
--- a/docs/components/modules/ROOT/pages/freemarker-component.adoc
+++ b/docs/components/modules/ROOT/pages/freemarker-component.adoc
@@ -1,5 +1,6 @@
 [[freemarker-component]]
 = Freemarker Component
+:page-source: components/camel-freemarker/src/main/docs/freemarker-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/ftp-component.adoc b/docs/components/modules/ROOT/pages/ftp-component.adoc
index 68310a6..b85fbae 100644
--- a/docs/components/modules/ROOT/pages/ftp-component.adoc
+++ b/docs/components/modules/ROOT/pages/ftp-component.adoc
@@ -1,5 +1,6 @@
 [[ftp-component]]
 = FTP Component
+:page-source: components/camel-ftp/src/main/docs/ftp-component.adoc
 
 *Available as of Camel version 1.1*
 
diff --git a/docs/components/modules/ROOT/pages/ftps-component.adoc b/docs/components/modules/ROOT/pages/ftps-component.adoc
index 76c43be..10fc978 100644
--- a/docs/components/modules/ROOT/pages/ftps-component.adoc
+++ b/docs/components/modules/ROOT/pages/ftps-component.adoc
@@ -1,5 +1,6 @@
 [[ftps-component]]
 = FTPS Component
+:page-source: components/camel-ftp/src/main/docs/ftps-component.adoc
 
 *Available as of Camel version 2.2*
 
diff --git a/docs/components/modules/ROOT/pages/ganglia-component.adoc b/docs/components/modules/ROOT/pages/ganglia-component.adoc
index bce107a..1a63b39 100644
--- a/docs/components/modules/ROOT/pages/ganglia-component.adoc
+++ b/docs/components/modules/ROOT/pages/ganglia-component.adoc
@@ -1,5 +1,6 @@
 [[ganglia-component]]
 = Ganglia Component
+:page-source: components/camel-ganglia/src/main/docs/ganglia-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/geocoder-component.adoc b/docs/components/modules/ROOT/pages/geocoder-component.adoc
index d1d9d0f..a2d3d21 100644
--- a/docs/components/modules/ROOT/pages/geocoder-component.adoc
+++ b/docs/components/modules/ROOT/pages/geocoder-component.adoc
@@ -1,5 +1,6 @@
 [[geocoder-component]]
 = Geocoder Component
+:page-source: components/camel-geocoder/src/main/docs/geocoder-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/git-component.adoc b/docs/components/modules/ROOT/pages/git-component.adoc
index bcb9962..c13fbdd 100644
--- a/docs/components/modules/ROOT/pages/git-component.adoc
+++ b/docs/components/modules/ROOT/pages/git-component.adoc
@@ -1,5 +1,6 @@
 [[git-component]]
 = Git Component
+:page-source: components/camel-git/src/main/docs/git-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/github-component.adoc b/docs/components/modules/ROOT/pages/github-component.adoc
index 97eb2b2..a3ef7c0 100644
--- a/docs/components/modules/ROOT/pages/github-component.adoc
+++ b/docs/components/modules/ROOT/pages/github-component.adoc
@@ -1,5 +1,6 @@
 [[github-component]]
 = GitHub Component
+:page-source: components/camel-github/src/main/docs/github-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/google-bigquery-component.adoc b/docs/components/modules/ROOT/pages/google-bigquery-component.adoc
index deb5c66..5c54aee 100644
--- a/docs/components/modules/ROOT/pages/google-bigquery-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-bigquery-component.adoc
@@ -1,5 +1,6 @@
 [[google-bigquery-component]]
 = Google BigQuery Component
+:page-source: components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc b/docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc
index 956af8c..bebdfff 100644
--- a/docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc
@@ -1,5 +1,6 @@
 [[google-bigquery-sql-component]]
 = Google BigQuery Standard SQL Component
+:page-source: components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
 *Available as of Camel version 2.23*
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/google-calendar-component.adoc b/docs/components/modules/ROOT/pages/google-calendar-component.adoc
index 3570fba..57ef128 100644
--- a/docs/components/modules/ROOT/pages/google-calendar-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-calendar-component.adoc
@@ -1,5 +1,6 @@
 [[google-calendar-component]]
 = Google Calendar Component
+:page-source: components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc b/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
index b0e6ee0..52796c3 100644
--- a/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-calendar-stream-component.adoc
@@ -1,5 +1,6 @@
 [[google-calendar-stream-component]]
 = Google Calendar Stream Component
+:page-source: components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/google-drive-component.adoc b/docs/components/modules/ROOT/pages/google-drive-component.adoc
index bef3b5f..a9e54d9 100644
--- a/docs/components/modules/ROOT/pages/google-drive-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-drive-component.adoc
@@ -1,5 +1,6 @@
 [[google-drive-component]]
 = Google Drive Component
+:page-source: components/camel-google-drive/src/main/docs/google-drive-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/google-mail-component.adoc b/docs/components/modules/ROOT/pages/google-mail-component.adoc
index 315d85b..57da8a9 100644
--- a/docs/components/modules/ROOT/pages/google-mail-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-mail-component.adoc
@@ -1,5 +1,6 @@
 [[google-mail-component]]
 = Google Mail Component
+:page-source: components/camel-google-mail/src/main/docs/google-mail-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc b/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
index 4b80631..d240a40 100644
--- a/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-mail-stream-component.adoc
@@ -1,5 +1,6 @@
 [[google-mail-stream-component]]
 = Google Mail Stream Component
+:page-source: components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
 
 *Available as of Camel version 2.22*
 
diff --git a/docs/components/modules/ROOT/pages/google-pubsub-component.adoc b/docs/components/modules/ROOT/pages/google-pubsub-component.adoc
index 4c9e6f5..6baa06c 100644
--- a/docs/components/modules/ROOT/pages/google-pubsub-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-pubsub-component.adoc
@@ -1,5 +1,6 @@
 [[google-pubsub-component]]
 = Google Pubsub Component
+:page-source: components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/google-sheets-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
index 0d6e46a..33fc3ca 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-component.adoc
@@ -1,5 +1,6 @@
 [[google-sheets-component]]
 = Google Sheets Component
+:page-source: components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
index e1795ae..647a0b0 100644
--- a/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/google-sheets-stream-component.adoc
@@ -1,5 +1,6 @@
 [[google-sheets-stream-component]]
 = Google Sheets Stream Component
+:page-source: components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/gora-component.adoc b/docs/components/modules/ROOT/pages/gora-component.adoc
index 8493cfb..7acdfe6 100644
--- a/docs/components/modules/ROOT/pages/gora-component.adoc
+++ b/docs/components/modules/ROOT/pages/gora-component.adoc
@@ -1,5 +1,6 @@
 [[gora-component]]
 = Gora Component
+:page-source: components/camel-gora/src/main/docs/gora-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/grape-component.adoc b/docs/components/modules/ROOT/pages/grape-component.adoc
index 2c21f94..ecaa2ca 100644
--- a/docs/components/modules/ROOT/pages/grape-component.adoc
+++ b/docs/components/modules/ROOT/pages/grape-component.adoc
@@ -1,5 +1,6 @@
 [[grape-component]]
 = Grape Component
+:page-source: components/camel-grape/src/main/docs/grape-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/groovy-language.adoc b/docs/components/modules/ROOT/pages/groovy-language.adoc
index 28e6cf0..1664c97 100644
--- a/docs/components/modules/ROOT/pages/groovy-language.adoc
+++ b/docs/components/modules/ROOT/pages/groovy-language.adoc
@@ -1,5 +1,6 @@
 [[groovy-language]]
 = Groovy Language
+:page-source: components/camel-groovy/src/main/docs/groovy-language.adoc
 
 *Available as of Camel version 1.3*
 
diff --git a/docs/components/modules/ROOT/pages/grpc-component.adoc b/docs/components/modules/ROOT/pages/grpc-component.adoc
index 3c7cba7..30b0244 100644
--- a/docs/components/modules/ROOT/pages/grpc-component.adoc
+++ b/docs/components/modules/ROOT/pages/grpc-component.adoc
@@ -1,5 +1,6 @@
 [[grpc-component]]
 = gRPC Component
+:page-source: components/camel-grpc/src/main/docs/grpc-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/guava-eventbus-component.adoc b/docs/components/modules/ROOT/pages/guava-eventbus-component.adoc
index 1826d4a..72eb84d 100644
--- a/docs/components/modules/ROOT/pages/guava-eventbus-component.adoc
+++ b/docs/components/modules/ROOT/pages/guava-eventbus-component.adoc
@@ -1,5 +1,6 @@
 [[guava-eventbus-component]]
 = Guava EventBus Component
+:page-source: components/camel-guava-eventbus/src/main/docs/guava-eventbus-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-atomicvalue-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-atomicvalue-component.adoc
index cd8e24d..4494129 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-atomicvalue-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-atomicvalue-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-atomicvalue-component]]
 = Hazelcast Atomic Number Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-atomicvalue-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-instance-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-instance-component.adoc
index 6eb2c06..b9d262e 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-instance-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-instance-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-instance-component]]
 = Hazelcast Instance Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-instance-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-list-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-list-component.adoc
index 8bf9f32..c036bda 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-list-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-list-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-list-component]]
 = Hazelcast List Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-list-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-map-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-map-component.adoc
index 9285885..4004a11 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-map-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-map-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-map-component]]
 = Hazelcast Map Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-map-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-multimap-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-multimap-component.adoc
index 09b19d3..54943e5 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-multimap-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-multimap-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-multimap-component]]
 = Hazelcast Multimap Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-multimap-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-queue-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-queue-component.adoc
index 2ad4aae..e6439b8 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-queue-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-queue-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-queue-component]]
 = Hazelcast Queue Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-queue-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-replicatedmap-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-replicatedmap-component.adoc
index f52d2cd..0c7c8af 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-replicatedmap-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-replicatedmap-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-replicatedmap-component]]
 = Hazelcast Replicated Map Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-replicatedmap-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-ringbuffer-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-ringbuffer-component.adoc
index 5ea7225..2d00f27 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-ringbuffer-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-ringbuffer-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-ringbuffer-component]]
 = Hazelcast Ringbuffer Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-ringbuffer-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-seda-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-seda-component.adoc
index 72d21a1..d3d4ebf 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-seda-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-seda-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-seda-component]]
 = Hazelcast SEDA Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-seda-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-set-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-set-component.adoc
index d4fc047..9ed3e83 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-set-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-set-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-set-component]]
 = Hazelcast Set Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-set-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast-topic-component.adoc b/docs/components/modules/ROOT/pages/hazelcast-topic-component.adoc
index 1d66af2..f789686 100644
--- a/docs/components/modules/ROOT/pages/hazelcast-topic-component.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast-topic-component.adoc
@@ -1,5 +1,6 @@
 [[hazelcast-topic-component]]
 = Hazelcast Topic Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast-topic-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/hazelcast.adoc b/docs/components/modules/ROOT/pages/hazelcast.adoc
index 2bc5c60..8aabc04 100644
--- a/docs/components/modules/ROOT/pages/hazelcast.adoc
+++ b/docs/components/modules/ROOT/pages/hazelcast.adoc
@@ -1,4 +1,5 @@
 = Hazelcast Component
+:page-source: components/camel-hazelcast/src/main/docs/hazelcast.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/hbase-component.adoc b/docs/components/modules/ROOT/pages/hbase-component.adoc
index 946be72..a6aa3ac 100644
--- a/docs/components/modules/ROOT/pages/hbase-component.adoc
+++ b/docs/components/modules/ROOT/pages/hbase-component.adoc
@@ -1,5 +1,6 @@
 [[hbase-component]]
 = HBase Component
+:page-source: components/camel-hbase/src/main/docs/hbase-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/hdfs-component.adoc b/docs/components/modules/ROOT/pages/hdfs-component.adoc
index 4746c41..7251577 100644
--- a/docs/components/modules/ROOT/pages/hdfs-component.adoc
+++ b/docs/components/modules/ROOT/pages/hdfs-component.adoc
@@ -1,5 +1,6 @@
 [[hdfs-component]]
 = HDFS Component (deprecated)
+:page-source: components/camel-hdfs/src/main/docs/hdfs-component.adoc
 
 *Available as of Camel version 2.8*
 
diff --git a/docs/components/modules/ROOT/pages/hdfs2-component.adoc b/docs/components/modules/ROOT/pages/hdfs2-component.adoc
index cf710ef..e03a29e 100644
--- a/docs/components/modules/ROOT/pages/hdfs2-component.adoc
+++ b/docs/components/modules/ROOT/pages/hdfs2-component.adoc
@@ -1,5 +1,6 @@
 [[hdfs2-component]]
 = HDFS2 Component
+:page-source: components/camel-hdfs2/src/main/docs/hdfs2-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/headersmap.adoc b/docs/components/modules/ROOT/pages/headersmap.adoc
index e7d7f70..3c20bac 100644
--- a/docs/components/modules/ROOT/pages/headersmap.adoc
+++ b/docs/components/modules/ROOT/pages/headersmap.adoc
@@ -1,4 +1,5 @@
 = HeadersMap
+:page-source: components/camel-headersmap/src/main/docs/headersmap.adoc
 
 *Available as of Camel 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/hessian-dataformat.adoc b/docs/components/modules/ROOT/pages/hessian-dataformat.adoc
index 062bd4e..6fd1236 100644
--- a/docs/components/modules/ROOT/pages/hessian-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/hessian-dataformat.adoc
@@ -1,5 +1,6 @@
 [[hessian-dataformat]]
 = Hessian DataFormat (deprecated)
+:page-source: components/camel-hessian/src/main/docs/hessian-dataformat.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/hipchat-component.adoc b/docs/components/modules/ROOT/pages/hipchat-component.adoc
index 220d9d4..0b86e69 100644
--- a/docs/components/modules/ROOT/pages/hipchat-component.adoc
+++ b/docs/components/modules/ROOT/pages/hipchat-component.adoc
@@ -1,5 +1,6 @@
 [[hipchat-component]]
 = Hipchat Component
+:page-source: components/camel-hipchat/src/main/docs/hipchat-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/hl7-dataformat.adoc b/docs/components/modules/ROOT/pages/hl7-dataformat.adoc
index cac8734..6e332e7 100644
--- a/docs/components/modules/ROOT/pages/hl7-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/hl7-dataformat.adoc
@@ -1,5 +1,6 @@
 [[hl7-dataformat]]
 = HL7 DataFormat
+:page-source: components/camel-hl7/src/main/docs/hl7-dataformat.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/http-component.adoc b/docs/components/modules/ROOT/pages/http-component.adoc
index 48f4d60..a32eef0 100644
--- a/docs/components/modules/ROOT/pages/http-component.adoc
+++ b/docs/components/modules/ROOT/pages/http-component.adoc
@@ -1,5 +1,6 @@
 [[http-component]]
 = HTTP Component (deprecated)
+:page-source: components/camel-http/src/main/docs/http-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/http4-component.adoc b/docs/components/modules/ROOT/pages/http4-component.adoc
index bb06c76..5a428e9 100644
--- a/docs/components/modules/ROOT/pages/http4-component.adoc
+++ b/docs/components/modules/ROOT/pages/http4-component.adoc
@@ -1,5 +1,6 @@
 [[http4-component]]
 = HTTP4 Component
+:page-source: components/camel-http4/src/main/docs/http4-component.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/ibatis-component.adoc b/docs/components/modules/ROOT/pages/ibatis-component.adoc
index 81d9fb2..ed27b3f 100644
--- a/docs/components/modules/ROOT/pages/ibatis-component.adoc
+++ b/docs/components/modules/ROOT/pages/ibatis-component.adoc
@@ -1,5 +1,6 @@
 [[ibatis-component]]
 = iBatis Component (deprecated)
+:page-source: components/camel-ibatis/src/main/docs/ibatis-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/ical-dataformat.adoc b/docs/components/modules/ROOT/pages/ical-dataformat.adoc
index b52104d..a68038f 100644
--- a/docs/components/modules/ROOT/pages/ical-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/ical-dataformat.adoc
@@ -1,5 +1,6 @@
 [[ical-dataformat]]
 = iCal DataFormat
+:page-source: components/camel-ical/src/main/docs/ical-dataformat.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/iec60870-client-component.adoc b/docs/components/modules/ROOT/pages/iec60870-client-component.adoc
index 491f8a9..cea5cdb 100644
--- a/docs/components/modules/ROOT/pages/iec60870-client-component.adoc
+++ b/docs/components/modules/ROOT/pages/iec60870-client-component.adoc
@@ -1,5 +1,6 @@
 [[iec60870-client-component]]
 = IEC 60870 Client Component
+:page-source: components/camel-iec60870/src/main/docs/iec60870-client-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/iec60870-server-component.adoc b/docs/components/modules/ROOT/pages/iec60870-server-component.adoc
index 0490a7b..34bde17 100644
--- a/docs/components/modules/ROOT/pages/iec60870-server-component.adoc
+++ b/docs/components/modules/ROOT/pages/iec60870-server-component.adoc
@@ -1,5 +1,6 @@
 [[iec60870-server-component]]
 = IEC 60870 Server Component
+:page-source: components/camel-iec60870/src/main/docs/iec60870-server-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-cache-component.adoc b/docs/components/modules/ROOT/pages/ignite-cache-component.adoc
index cc2b5a3..34dafdc 100644
--- a/docs/components/modules/ROOT/pages/ignite-cache-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-cache-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-cache-component]]
 = Ignite Cache Component
+:page-source: components/camel-ignite/src/main/docs/ignite-cache-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-compute-component.adoc b/docs/components/modules/ROOT/pages/ignite-compute-component.adoc
index 2c6bcfa..4db160f 100644
--- a/docs/components/modules/ROOT/pages/ignite-compute-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-compute-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-compute-component]]
 = Ignite Compute Component
+:page-source: components/camel-ignite/src/main/docs/ignite-compute-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-events-component.adoc b/docs/components/modules/ROOT/pages/ignite-events-component.adoc
index 7140b08..9967e64 100644
--- a/docs/components/modules/ROOT/pages/ignite-events-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-events-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-events-component]]
 = Ignite Events Component
+:page-source: components/camel-ignite/src/main/docs/ignite-events-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc b/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
index 757ba2e..cb0da16 100644
--- a/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-idgen-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-idgen-component]]
 = Ignite ID Generator Component
+:page-source: components/camel-ignite/src/main/docs/ignite-idgen-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-messaging-component.adoc b/docs/components/modules/ROOT/pages/ignite-messaging-component.adoc
index 5ee5709..c530714 100644
--- a/docs/components/modules/ROOT/pages/ignite-messaging-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-messaging-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-messaging-component]]
 = Ignite Messaging Component
+:page-source: components/camel-ignite/src/main/docs/ignite-messaging-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-queue-component.adoc b/docs/components/modules/ROOT/pages/ignite-queue-component.adoc
index ea94975..17dc111 100644
--- a/docs/components/modules/ROOT/pages/ignite-queue-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-queue-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-queue-component]]
 = Ignite Queues Component
+:page-source: components/camel-ignite/src/main/docs/ignite-queue-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ignite-set-component.adoc b/docs/components/modules/ROOT/pages/ignite-set-component.adoc
index 55d3f6f..c607c9d 100644
--- a/docs/components/modules/ROOT/pages/ignite-set-component.adoc
+++ b/docs/components/modules/ROOT/pages/ignite-set-component.adoc
@@ -1,5 +1,6 @@
 [[ignite-set-component]]
 = Ignite Sets Component
+:page-source: components/camel-ignite/src/main/docs/ignite-set-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/infinispan-component.adoc b/docs/components/modules/ROOT/pages/infinispan-component.adoc
index 4066778..a3e98e7 100644
--- a/docs/components/modules/ROOT/pages/infinispan-component.adoc
+++ b/docs/components/modules/ROOT/pages/infinispan-component.adoc
@@ -1,5 +1,6 @@
 [[infinispan-component]]
 = Infinispan Component
+:page-source: components/camel-infinispan/src/main/docs/infinispan-component.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/influxdb-component.adoc b/docs/components/modules/ROOT/pages/influxdb-component.adoc
index edb8aac..be126cc 100644
--- a/docs/components/modules/ROOT/pages/influxdb-component.adoc
+++ b/docs/components/modules/ROOT/pages/influxdb-component.adoc
@@ -1,5 +1,6 @@
 [[influxdb-component]]
 = InfluxDB Component
+:page-source: components/camel-influxdb/src/main/docs/influxdb-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/iota-component.adoc b/docs/components/modules/ROOT/pages/iota-component.adoc
index 90abe76..db2ac96 100644
--- a/docs/components/modules/ROOT/pages/iota-component.adoc
+++ b/docs/components/modules/ROOT/pages/iota-component.adoc
@@ -1,5 +1,6 @@
 [[iota-component]]
 = IOTA Component
+:page-source: components/camel-iota/src/main/docs/iota-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/ipfs-component.adoc b/docs/components/modules/ROOT/pages/ipfs-component.adoc
index e9e6843..5b4a14c 100644
--- a/docs/components/modules/ROOT/pages/ipfs-component.adoc
+++ b/docs/components/modules/ROOT/pages/ipfs-component.adoc
@@ -1,5 +1,6 @@
 [[ipfs-component]]
 = IPFS Component
+:page-source: components/camel-ipfs/src/main/docs/ipfs-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/irc-component.adoc b/docs/components/modules/ROOT/pages/irc-component.adoc
index c66c9dc..6d1deed 100644
--- a/docs/components/modules/ROOT/pages/irc-component.adoc
+++ b/docs/components/modules/ROOT/pages/irc-component.adoc
@@ -1,5 +1,6 @@
 [[irc-component]]
 = IRC Component
+:page-source: components/camel-irc/src/main/docs/irc-component.adoc
 
 *Available as of Camel version 1.1*
 
diff --git a/docs/components/modules/ROOT/pages/ironmq-component.adoc b/docs/components/modules/ROOT/pages/ironmq-component.adoc
index d20900d..6a06ca9 100644
--- a/docs/components/modules/ROOT/pages/ironmq-component.adoc
+++ b/docs/components/modules/ROOT/pages/ironmq-component.adoc
@@ -1,5 +1,6 @@
 [[ironmq-component]]
 = IronMQ Component
+:page-source: components/camel-ironmq/src/main/docs/ironmq-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/jacksonxml-dataformat.adoc b/docs/components/modules/ROOT/pages/jacksonxml-dataformat.adoc
index 6295745..67d841d 100644
--- a/docs/components/modules/ROOT/pages/jacksonxml-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/jacksonxml-dataformat.adoc
@@ -1,5 +1,6 @@
 [[jacksonxml-dataformat]]
 = JacksonXML DataFormat
+:page-source: components/camel-jacksonxml/src/main/docs/jacksonxml-dataformat.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/jasypt.adoc b/docs/components/modules/ROOT/pages/jasypt.adoc
index 4c63f2a..b879c57 100644
--- a/docs/components/modules/ROOT/pages/jasypt.adoc
+++ b/docs/components/modules/ROOT/pages/jasypt.adoc
@@ -1,4 +1,5 @@
 = Jasypt component
+:page-source: components/camel-jasypt/src/main/docs/jasypt.adoc
 
 *Available as of Camel 2.5*
 
diff --git a/docs/components/modules/ROOT/pages/javaScript-language.adoc b/docs/components/modules/ROOT/pages/javaScript-language.adoc
index 8f0d704..2952a9e 100644
--- a/docs/components/modules/ROOT/pages/javaScript-language.adoc
+++ b/docs/components/modules/ROOT/pages/javaScript-language.adoc
@@ -1,5 +1,6 @@
 [[javaScript-language]]
 = JavaScript Language (deprecated)
+:page-source: components/camel-script/src/main/docs/javaScript-language.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/javaspace-component.adoc b/docs/components/modules/ROOT/pages/javaspace-component.adoc
index 750ba70..ae33429 100644
--- a/docs/components/modules/ROOT/pages/javaspace-component.adoc
+++ b/docs/components/modules/ROOT/pages/javaspace-component.adoc
@@ -1,5 +1,6 @@
 [[javaspace-component]]
 = JavaSpace Component (deprecated)
+:page-source: components/camel-javaspace/src/main/docs/javaspace-component.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc b/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
index 69bed0b..ccb338e 100644
--- a/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/jaxb-dataformat.adoc
@@ -1,5 +1,6 @@
 [[jaxb-dataformat]]
 = JAXB DataFormat
+:page-source: components/camel-jaxb/src/main/docs/jaxb-dataformat.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/jbpm-component.adoc b/docs/components/modules/ROOT/pages/jbpm-component.adoc
index 4abcfd5..718987e 100644
--- a/docs/components/modules/ROOT/pages/jbpm-component.adoc
+++ b/docs/components/modules/ROOT/pages/jbpm-component.adoc
@@ -1,5 +1,6 @@
 [[jbpm-component]]
 = JBPM Component
+:page-source: components/camel-jbpm/src/main/docs/jbpm-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/jcache-component.adoc b/docs/components/modules/ROOT/pages/jcache-component.adoc
index 28a4370..983a902 100644
--- a/docs/components/modules/ROOT/pages/jcache-component.adoc
+++ b/docs/components/modules/ROOT/pages/jcache-component.adoc
@@ -1,5 +1,6 @@
 [[jcache-component]]
 = JCache Component
+:page-source: components/camel-jcache/src/main/docs/jcache-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/jclouds-component.adoc b/docs/components/modules/ROOT/pages/jclouds-component.adoc
index 4d057a8..e17c252 100644
--- a/docs/components/modules/ROOT/pages/jclouds-component.adoc
+++ b/docs/components/modules/ROOT/pages/jclouds-component.adoc
@@ -1,5 +1,6 @@
 [[jclouds-component]]
 = JClouds Component
+:page-source: components/camel-jclouds/src/main/docs/jclouds-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/jcr-component.adoc b/docs/components/modules/ROOT/pages/jcr-component.adoc
index 2d848b7..3c05bd1 100644
--- a/docs/components/modules/ROOT/pages/jcr-component.adoc
+++ b/docs/components/modules/ROOT/pages/jcr-component.adoc
@@ -1,5 +1,6 @@
 [[jcr-component]]
 = JCR Component
+:page-source: components/camel-jcr/src/main/docs/jcr-component.adoc
 
 *Available as of Camel version 1.3*
 
diff --git a/docs/components/modules/ROOT/pages/jdbc-component.adoc b/docs/components/modules/ROOT/pages/jdbc-component.adoc
index e3f5ce1..122adbb 100644
--- a/docs/components/modules/ROOT/pages/jdbc-component.adoc
+++ b/docs/components/modules/ROOT/pages/jdbc-component.adoc
@@ -1,5 +1,6 @@
 [[jdbc-component]]
 = JDBC Component
+:page-source: components/camel-jdbc/src/main/docs/jdbc-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/jetty-component.adoc b/docs/components/modules/ROOT/pages/jetty-component.adoc
index c34437e..bf77a1f 100644
--- a/docs/components/modules/ROOT/pages/jetty-component.adoc
+++ b/docs/components/modules/ROOT/pages/jetty-component.adoc
@@ -1,5 +1,6 @@
 [[jetty-component]]
 = Jetty 9 Component
+:page-source: components/camel-jetty9/src/main/docs/jetty-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/jgroups-component.adoc b/docs/components/modules/ROOT/pages/jgroups-component.adoc
index bd493c6..8c9b13f 100644
--- a/docs/components/modules/ROOT/pages/jgroups-component.adoc
+++ b/docs/components/modules/ROOT/pages/jgroups-component.adoc
@@ -1,5 +1,6 @@
 [[jgroups-component]]
 = JGroups Component
+:page-source: components/camel-jgroups/src/main/docs/jgroups-component.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc b/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
index 9a42e17..7a3eeaa 100644
--- a/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
+++ b/docs/components/modules/ROOT/pages/jgroups-raft-component.adoc
@@ -1,5 +1,6 @@
 [[jgroups-raft-component]]
 = JGroups raft Component
+:page-source: components/camel-jgroups-raft/src/main/docs/jgroups-raft-component.adoc
 
 *Available as of Camel version 2.24*
 
diff --git a/docs/components/modules/ROOT/pages/jibx-dataformat.adoc b/docs/components/modules/ROOT/pages/jibx-dataformat.adoc
index 6c65051..2eafba4 100644
--- a/docs/components/modules/ROOT/pages/jibx-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/jibx-dataformat.adoc
@@ -1,5 +1,6 @@
 [[jibx-dataformat]]
 = JiBX DataFormat
+:page-source: components/camel-jibx/src/main/docs/jibx-dataformat.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/jing-component.adoc b/docs/components/modules/ROOT/pages/jing-component.adoc
index 57fc037..33491ad 100644
--- a/docs/components/modules/ROOT/pages/jing-component.adoc
+++ b/docs/components/modules/ROOT/pages/jing-component.adoc
@@ -1,5 +1,6 @@
 [[jing-component]]
 = Jing Component
+:page-source: components/camel-jing/src/main/docs/jing-component.adoc
 
 *Available as of Camel version 1.1*
 
diff --git a/docs/components/modules/ROOT/pages/jira-component.adoc b/docs/components/modules/ROOT/pages/jira-component.adoc
index 0ffde7f..4c1d1dc 100644
--- a/docs/components/modules/ROOT/pages/jira-component.adoc
+++ b/docs/components/modules/ROOT/pages/jira-component.adoc
@@ -1,5 +1,6 @@
 [[jira-component]]
 = JIRA Component (deprecated)
+:page-source: components/camel-jira/src/main/docs/jira-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/jms-component.adoc b/docs/components/modules/ROOT/pages/jms-component.adoc
index 59bce36..971d2bd 100644
--- a/docs/components/modules/ROOT/pages/jms-component.adoc
+++ b/docs/components/modules/ROOT/pages/jms-component.adoc
@@ -1,5 +1,6 @@
 [[jms-component]]
 = JMS Component
+:page-source: components/camel-jms/src/main/docs/jms-component.adoc
 ifdef::env-github[]
 *Available as of Camel version 1.0.0*
 *Available as of Camel version 1.0*
diff --git a/docs/components/modules/ROOT/pages/jmx-component.adoc b/docs/components/modules/ROOT/pages/jmx-component.adoc
index adacc1d..1016003 100644
--- a/docs/components/modules/ROOT/pages/jmx-component.adoc
+++ b/docs/components/modules/ROOT/pages/jmx-component.adoc
@@ -1,5 +1,6 @@
 [[jmx-component]]
 = JMX Component
+:page-source: components/camel-jmx/src/main/docs/jmx-component.adoc
 ifdef::env-github[]
 *Available as of Camel version 2.6.0*
 *Available as of Camel version 2.6*
diff --git a/docs/components/modules/ROOT/pages/jolt-component.adoc b/docs/components/modules/ROOT/pages/jolt-component.adoc
index e5b43b7..9de69c8 100644
--- a/docs/components/modules/ROOT/pages/jolt-component.adoc
+++ b/docs/components/modules/ROOT/pages/jolt-component.adoc
@@ -1,5 +1,6 @@
 [[jolt-component]]
 = JOLT Component
+:page-source: components/camel-jolt/src/main/docs/jolt-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/jpa-component.adoc b/docs/components/modules/ROOT/pages/jpa-component.adoc
index e06c10d..4d49a03 100644
--- a/docs/components/modules/ROOT/pages/jpa-component.adoc
+++ b/docs/components/modules/ROOT/pages/jpa-component.adoc
@@ -1,5 +1,6 @@
 [[jpa-component]]
 = JPA Component
+:page-source: components/camel-jpa/src/main/docs/jpa-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/json-fastjson-dataformat.adoc b/docs/components/modules/ROOT/pages/json-fastjson-dataformat.adoc
index b348614..7da76c8 100644
--- a/docs/components/modules/ROOT/pages/json-fastjson-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/json-fastjson-dataformat.adoc
@@ -1,5 +1,6 @@
 [[json-fastjson-dataformat]]
 = JSon Fastjson DataFormat
+:page-source: components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/json-gson-dataformat.adoc b/docs/components/modules/ROOT/pages/json-gson-dataformat.adoc
index 0eb6545..2037787 100644
--- a/docs/components/modules/ROOT/pages/json-gson-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/json-gson-dataformat.adoc
@@ -1,5 +1,6 @@
 [[json-gson-dataformat]]
 = JSon GSon DataFormat
+:page-source: components/camel-gson/src/main/docs/json-gson-dataformat.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/json-jackson-dataformat.adoc b/docs/components/modules/ROOT/pages/json-jackson-dataformat.adoc
index 9bcf4527..4f67f97 100644
--- a/docs/components/modules/ROOT/pages/json-jackson-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/json-jackson-dataformat.adoc
@@ -1,5 +1,6 @@
 [[json-jackson-dataformat]]
 = JSon Jackson DataFormat
+:page-source: components/camel-jackson/src/main/docs/json-jackson-dataformat.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/json-johnzon-dataformat.adoc b/docs/components/modules/ROOT/pages/json-johnzon-dataformat.adoc
index 63fdc71..e998a7c 100644
--- a/docs/components/modules/ROOT/pages/json-johnzon-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/json-johnzon-dataformat.adoc
@@ -1,5 +1,6 @@
 [[json-johnzon-dataformat]]
 = JSon Johnzon DataFormat
+:page-source: components/camel-johnzon/src/main/docs/json-johnzon-dataformat.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/json-validator-component.adoc b/docs/components/modules/ROOT/pages/json-validator-component.adoc
index 55f1ad3..fe7a03f 100644
--- a/docs/components/modules/ROOT/pages/json-validator-component.adoc
+++ b/docs/components/modules/ROOT/pages/json-validator-component.adoc
@@ -1,5 +1,6 @@
 [[json-validator-component]]
 = JSON Schema Validator Component
+:page-source: components/camel-json-validator/src/main/docs/json-validator-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/json-xstream-dataformat.adoc b/docs/components/modules/ROOT/pages/json-xstream-dataformat.adoc
index f777fd1..e29d75c 100644
--- a/docs/components/modules/ROOT/pages/json-xstream-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/json-xstream-dataformat.adoc
@@ -1,5 +1,6 @@
 [[json-xstream-dataformat]]
 = JSon XStream DataFormat
+:page-source: components/camel-xstream/src/main/docs/json-xstream-dataformat.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/jsonpath-language.adoc b/docs/components/modules/ROOT/pages/jsonpath-language.adoc
index cca70f4..9320ff4 100644
--- a/docs/components/modules/ROOT/pages/jsonpath-language.adoc
+++ b/docs/components/modules/ROOT/pages/jsonpath-language.adoc
@@ -1,5 +1,6 @@
 [[jsonpath-language]]
 = JsonPath Language
+:page-source: components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/jt400-component.adoc b/docs/components/modules/ROOT/pages/jt400-component.adoc
index 3516c3d..89910e8 100644
--- a/docs/components/modules/ROOT/pages/jt400-component.adoc
+++ b/docs/components/modules/ROOT/pages/jt400-component.adoc
@@ -1,5 +1,6 @@
 [[jt400-component]]
 = JT400 Component
+:page-source: components/camel-jt400/src/main/docs/jt400-component.adoc
 
 *Available as of Camel version 1.5*
 
diff --git a/docs/components/modules/ROOT/pages/jxpath-language.adoc b/docs/components/modules/ROOT/pages/jxpath-language.adoc
index 2916b8a..53a10aa 100644
--- a/docs/components/modules/ROOT/pages/jxpath-language.adoc
+++ b/docs/components/modules/ROOT/pages/jxpath-language.adoc
@@ -1,5 +1,6 @@
 [[jxpath-language]]
 = JXPath Language (deprecated)
+:page-source: components/camel-jxpath/src/main/docs/jxpath-language.adoc
 
 *Available as of Camel version 1.3*
 
diff --git a/docs/components/modules/ROOT/pages/kafka-component.adoc b/docs/components/modules/ROOT/pages/kafka-component.adoc
index d2b52e7..926ce21 100644
--- a/docs/components/modules/ROOT/pages/kafka-component.adoc
+++ b/docs/components/modules/ROOT/pages/kafka-component.adoc
@@ -1,5 +1,6 @@
 [[kafka-component]]
 = Kafka Component
+:page-source: components/camel-kafka/src/main/docs/kafka-component.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/kestrel-component.adoc b/docs/components/modules/ROOT/pages/kestrel-component.adoc
index 787ff17..ad49380 100644
--- a/docs/components/modules/ROOT/pages/kestrel-component.adoc
+++ b/docs/components/modules/ROOT/pages/kestrel-component.adoc
@@ -1,5 +1,6 @@
 [[kestrel-component]]
 = Kestrel Component (deprecated)
+:page-source: components/camel-kestrel/src/main/docs/kestrel-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/krati-component.adoc b/docs/components/modules/ROOT/pages/krati-component.adoc
index 097060d..8fbe6c9 100644
--- a/docs/components/modules/ROOT/pages/krati-component.adoc
+++ b/docs/components/modules/ROOT/pages/krati-component.adoc
@@ -1,5 +1,6 @@
 [[krati-component]]
 = Krati Component (deprecated)
+:page-source: components/camel-krati/src/main/docs/krati-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-component.adoc
index e18938c..0774ae6 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-component]]
 = Kubernetes Component (deprecated)
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
index 5203c94..9cf7924 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-config-maps-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-config-maps-component]]
 = Kubernetes ConfigMap Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-config-maps-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
index 1632606..9c1784f 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-deployments-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-deployments-component]]
 = Kubernetes Deployments Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-deployments-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
index 8447424..f74f587 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-hpa-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-hpa-component]]
 = Kubernetes HPA Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-hpa-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
index 2c0b847..588958d 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-job-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-job-component]]
 = Kubernetes Job Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-job-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
index e44fa99..6e56cf8 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-namespaces-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-namespaces-component]]
 = Kubernetes Namespaces Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-namespaces-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
index d7d51c0..a1bb55c 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-nodes-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-nodes-component]]
 = Kubernetes Nodes Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-nodes-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
index 439339b..32ebaf1 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-claims-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-persistent-volumes-claims-component]]
 = Kubernetes Persistent Volume Claim Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-claims-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
index ab35250..dbb7d55 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-persistent-volumes-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-persistent-volumes-component]]
 = Kubernetes Persistent Volume Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-persistent-volumes-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
index 7abba2f..42fec6a 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-pods-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-pods-component]]
 = Kubernetes Pods Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-pods-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
index c099ac7..c06cf32 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-replication-controllers-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-replication-controllers-component]]
 = Kubernetes Replication Controller Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-replication-controllers-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
index 932c131..00242f8 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-resources-quota-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-resources-quota-component]]
 = Kubernetes Resources Quota Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-resources-quota-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
index 768fa2c..34a2ff9 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-secrets-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-secrets-component]]
 = Kubernetes Secrets Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-secrets-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
index 59402c5..59c24d3 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-service-accounts-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-service-accounts-component]]
 = Kubernetes Service Account Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-service-accounts-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc b/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
index 399924e..5c5358a 100644
--- a/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes-services-component.adoc
@@ -1,5 +1,6 @@
 [[kubernetes-services-component]]
 = Kubernetes Services Component
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes-services-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/kubernetes.adoc b/docs/components/modules/ROOT/pages/kubernetes.adoc
index 4679bd5..5c920e2 100644
--- a/docs/components/modules/ROOT/pages/kubernetes.adoc
+++ b/docs/components/modules/ROOT/pages/kubernetes.adoc
@@ -1,4 +1,5 @@
 = Kubernetes Components
+:page-source: components/camel-kubernetes/src/main/docs/kubernetes.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ldap-component.adoc b/docs/components/modules/ROOT/pages/ldap-component.adoc
index c2d2fd1..03bd667 100644
--- a/docs/components/modules/ROOT/pages/ldap-component.adoc
+++ b/docs/components/modules/ROOT/pages/ldap-component.adoc
@@ -1,5 +1,6 @@
 [[ldap-component]]
 = LDAP Component
+:page-source: components/camel-ldap/src/main/docs/ldap-component.adoc
 
 *Available as of Camel version 1.5*
 
diff --git a/docs/components/modules/ROOT/pages/ldif-component.adoc b/docs/components/modules/ROOT/pages/ldif-component.adoc
index 0b3ca43..69e95ec 100644
--- a/docs/components/modules/ROOT/pages/ldif-component.adoc
+++ b/docs/components/modules/ROOT/pages/ldif-component.adoc
@@ -1,5 +1,6 @@
 [[ldif-component]]
 = LDIF Component
+:page-source: components/camel-ldif/src/main/docs/ldif-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/linkedin-component.adoc b/docs/components/modules/ROOT/pages/linkedin-component.adoc
index 33ce09c..45b633b 100644
--- a/docs/components/modules/ROOT/pages/linkedin-component.adoc
+++ b/docs/components/modules/ROOT/pages/linkedin-component.adoc
@@ -1,5 +1,6 @@
 [[linkedin-component]]
 = Linkedin Component
+:page-source: components/camel-linkedin/camel-linkedin-component/src/main/docs/linkedin-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/lpr-component.adoc b/docs/components/modules/ROOT/pages/lpr-component.adoc
index 222eacf..4c069bb 100644
--- a/docs/components/modules/ROOT/pages/lpr-component.adoc
+++ b/docs/components/modules/ROOT/pages/lpr-component.adoc
@@ -1,5 +1,6 @@
 [[lpr-component]]
 = Printer Component
+:page-source: components/camel-printer/src/main/docs/lpr-component.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/lucene-component.adoc b/docs/components/modules/ROOT/pages/lucene-component.adoc
index 7d6f72a..6c083bd 100644
--- a/docs/components/modules/ROOT/pages/lucene-component.adoc
+++ b/docs/components/modules/ROOT/pages/lucene-component.adoc
@@ -1,5 +1,6 @@
 [[lucene-component]]
 = Lucene Component
+:page-source: components/camel-lucene/src/main/docs/lucene-component.adoc
 
 *Available as of Camel version 2.2*
 
diff --git a/docs/components/modules/ROOT/pages/lumberjack-component.adoc b/docs/components/modules/ROOT/pages/lumberjack-component.adoc
index d1b6308..39c730b 100644
--- a/docs/components/modules/ROOT/pages/lumberjack-component.adoc
+++ b/docs/components/modules/ROOT/pages/lumberjack-component.adoc
@@ -1,5 +1,6 @@
 [[lumberjack-component]]
 = Lumberjack Component
+:page-source: components/camel-lumberjack/src/main/docs/lumberjack-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/lzf-dataformat.adoc b/docs/components/modules/ROOT/pages/lzf-dataformat.adoc
index ea5b71a..6be9d6a 100644
--- a/docs/components/modules/ROOT/pages/lzf-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/lzf-dataformat.adoc
@@ -1,5 +1,6 @@
 [[lzf-dataformat]]
 = LZF Deflate Compression DataFormat
+:page-source: components/camel-lzf/src/main/docs/lzf-dataformat.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/mail-component.adoc b/docs/components/modules/ROOT/pages/mail-component.adoc
index 47d4234..e53c2b3 100644
--- a/docs/components/modules/ROOT/pages/mail-component.adoc
+++ b/docs/components/modules/ROOT/pages/mail-component.adoc
@@ -1,5 +1,6 @@
 [[mail-component]]
 = Mail Component
+:page-source: components/camel-mail/src/main/docs/mail-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/master-component.adoc b/docs/components/modules/ROOT/pages/master-component.adoc
index ce4816c..7084270 100644
--- a/docs/components/modules/ROOT/pages/master-component.adoc
+++ b/docs/components/modules/ROOT/pages/master-component.adoc
@@ -1,5 +1,6 @@
 [[master-component]]
 = Master Component
+:page-source: components/camel-master/src/main/docs/master-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/metrics-component.adoc b/docs/components/modules/ROOT/pages/metrics-component.adoc
index bdf775b..1162236 100644
--- a/docs/components/modules/ROOT/pages/metrics-component.adoc
+++ b/docs/components/modules/ROOT/pages/metrics-component.adoc
@@ -1,5 +1,6 @@
 [[metrics-component]]
 = Metrics Component
+:page-source: components/camel-metrics/src/main/docs/metrics-component.adoc
 ifdef::env-github[]
 *Available as of Camel version 2.14.0*
 *Available as of Camel version 2.14*
diff --git a/docs/components/modules/ROOT/pages/micrometer-component.adoc b/docs/components/modules/ROOT/pages/micrometer-component.adoc
index 26f5115..799d8cb 100644
--- a/docs/components/modules/ROOT/pages/micrometer-component.adoc
+++ b/docs/components/modules/ROOT/pages/micrometer-component.adoc
@@ -1,5 +1,6 @@
 [[micrometer-component]]
 = Micrometer Component
+:page-source: components/camel-micrometer/src/main/docs/micrometer-component.adoc
 ifdef::env-github[]
 *Available as of Camel version 2.22.0*
 *Available as of Camel version 2.22*
diff --git a/docs/components/modules/ROOT/pages/milo-client-component.adoc b/docs/components/modules/ROOT/pages/milo-client-component.adoc
index 2a9e759..ee11262 100644
--- a/docs/components/modules/ROOT/pages/milo-client-component.adoc
+++ b/docs/components/modules/ROOT/pages/milo-client-component.adoc
@@ -1,5 +1,6 @@
 [[milo-client-component]]
 = OPC UA Client Component
+:page-source: components/camel-milo/src/main/docs/milo-client-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/milo-server-component.adoc b/docs/components/modules/ROOT/pages/milo-server-component.adoc
index f59d4ca..1be1401 100644
--- a/docs/components/modules/ROOT/pages/milo-server-component.adoc
+++ b/docs/components/modules/ROOT/pages/milo-server-component.adoc
@@ -1,5 +1,6 @@
 [[milo-server-component]]
 = OPC UA Server Component
+:page-source: components/camel-milo/src/main/docs/milo-server-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/mime-multipart-dataformat.adoc b/docs/components/modules/ROOT/pages/mime-multipart-dataformat.adoc
index d0695e7..3f4e062 100644
--- a/docs/components/modules/ROOT/pages/mime-multipart-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/mime-multipart-dataformat.adoc
@@ -1,5 +1,6 @@
 [[mime-multipart-dataformat]]
 = MIME Multipart DataFormat
+:page-source: components/camel-mail/src/main/docs/mime-multipart-dataformat.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/mina-component.adoc b/docs/components/modules/ROOT/pages/mina-component.adoc
index 35cc832..50bc323 100644
--- a/docs/components/modules/ROOT/pages/mina-component.adoc
+++ b/docs/components/modules/ROOT/pages/mina-component.adoc
@@ -1,5 +1,6 @@
 [[mina-component]]
 = Mina Component (deprecated)
+:page-source: components/camel-mina/src/main/docs/mina-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/mina2-component.adoc b/docs/components/modules/ROOT/pages/mina2-component.adoc
index 29ee287..69ee081 100644
--- a/docs/components/modules/ROOT/pages/mina2-component.adoc
+++ b/docs/components/modules/ROOT/pages/mina2-component.adoc
@@ -1,5 +1,6 @@
 [[mina2-component]]
 = Mina2 Component
+:page-source: components/camel-mina2/src/main/docs/mina2-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/mllp-component.adoc b/docs/components/modules/ROOT/pages/mllp-component.adoc
index d681731..3c5164d 100644
--- a/docs/components/modules/ROOT/pages/mllp-component.adoc
+++ b/docs/components/modules/ROOT/pages/mllp-component.adoc
@@ -1,5 +1,6 @@
 [[mllp-component]]
 = MLLP Component
+:page-source: components/camel-mllp/src/main/docs/mllp-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/mongodb-component.adoc b/docs/components/modules/ROOT/pages/mongodb-component.adoc
index d7236dd..802bba9 100644
--- a/docs/components/modules/ROOT/pages/mongodb-component.adoc
+++ b/docs/components/modules/ROOT/pages/mongodb-component.adoc
@@ -1,5 +1,6 @@
 [[mongodb-component]]
 = MongoDB Component (deprecated)
+:page-source: components/camel-mongodb/src/main/docs/mongodb-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc b/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
index d0d2840..eff3aed 100644
--- a/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
+++ b/docs/components/modules/ROOT/pages/mongodb-gridfs-component.adoc
@@ -1,5 +1,6 @@
 [[mongodb-gridfs-component]]
 = MongoDB GridFS Component
+:page-source: components/camel-mongodb-gridfs/src/main/docs/mongodb-gridfs-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/mongodb3-component.adoc b/docs/components/modules/ROOT/pages/mongodb3-component.adoc
index bc66ab6..6e9a811 100644
--- a/docs/components/modules/ROOT/pages/mongodb3-component.adoc
+++ b/docs/components/modules/ROOT/pages/mongodb3-component.adoc
@@ -1,5 +1,6 @@
 [[mongodb3-component]]
 = MongoDB Component
+:page-source: components/camel-mongodb3/src/main/docs/mongodb3-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/mqtt-component.adoc b/docs/components/modules/ROOT/pages/mqtt-component.adoc
index cca35d1..fb57bca 100644
--- a/docs/components/modules/ROOT/pages/mqtt-component.adoc
+++ b/docs/components/modules/ROOT/pages/mqtt-component.adoc
@@ -1,5 +1,6 @@
 [[mqtt-component]]
 = MQTT Component
+:page-source: components/camel-mqtt/src/main/docs/mqtt-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/msv-component.adoc b/docs/components/modules/ROOT/pages/msv-component.adoc
index 2e9ae82..4ee49a9 100644
--- a/docs/components/modules/ROOT/pages/msv-component.adoc
+++ b/docs/components/modules/ROOT/pages/msv-component.adoc
@@ -1,5 +1,6 @@
 [[msv-component]]
 = MSV Component
+:page-source: components/camel-msv/src/main/docs/msv-component.adoc
 
 *Available as of Camel version 1.1*
 
diff --git a/docs/components/modules/ROOT/pages/mustache-component.adoc b/docs/components/modules/ROOT/pages/mustache-component.adoc
index 85f7add..10c4a7e 100644
--- a/docs/components/modules/ROOT/pages/mustache-component.adoc
+++ b/docs/components/modules/ROOT/pages/mustache-component.adoc
@@ -1,5 +1,6 @@
 [[mustache-component]]
 = Mustache Component
+:page-source: components/camel-mustache/src/main/docs/mustache-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/mvel-component.adoc b/docs/components/modules/ROOT/pages/mvel-component.adoc
index 63ca4e3..2dc770d 100644
--- a/docs/components/modules/ROOT/pages/mvel-component.adoc
+++ b/docs/components/modules/ROOT/pages/mvel-component.adoc
@@ -1,5 +1,6 @@
 [[mvel-component]]
 = MVEL Component
+:page-source: components/camel-mvel/src/main/docs/mvel-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/mvel-language.adoc b/docs/components/modules/ROOT/pages/mvel-language.adoc
index 63509191..b790d8f 100644
--- a/docs/components/modules/ROOT/pages/mvel-language.adoc
+++ b/docs/components/modules/ROOT/pages/mvel-language.adoc
@@ -1,5 +1,6 @@
 [[mvel-language]]
 = MVEL Language
+:page-source: components/camel-mvel/src/main/docs/mvel-language.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/mybatis-bean-component.adoc b/docs/components/modules/ROOT/pages/mybatis-bean-component.adoc
index e669f7a..b4cfd92 100644
--- a/docs/components/modules/ROOT/pages/mybatis-bean-component.adoc
+++ b/docs/components/modules/ROOT/pages/mybatis-bean-component.adoc
@@ -1,5 +1,6 @@
 [[mybatis-bean-component]]
 = MyBatis Bean Component
+:page-source: components/camel-mybatis/src/main/docs/mybatis-bean-component.adoc
 
 *Available as of Camel version 2.22*
 
diff --git a/docs/components/modules/ROOT/pages/mybatis-component.adoc b/docs/components/modules/ROOT/pages/mybatis-component.adoc
index f26082b..7b074b3 100644
--- a/docs/components/modules/ROOT/pages/mybatis-component.adoc
+++ b/docs/components/modules/ROOT/pages/mybatis-component.adoc
@@ -1,5 +1,6 @@
 [[mybatis-component]]
 = MyBatis Component
+:page-source: components/camel-mybatis/src/main/docs/mybatis-component.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/nagios-component.adoc b/docs/components/modules/ROOT/pages/nagios-component.adoc
index a9a5fb0..d6ac7a8 100644
--- a/docs/components/modules/ROOT/pages/nagios-component.adoc
+++ b/docs/components/modules/ROOT/pages/nagios-component.adoc
@@ -1,5 +1,6 @@
 [[nagios-component]]
 = Nagios Component
+:page-source: components/camel-nagios/src/main/docs/nagios-component.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/nats-component.adoc b/docs/components/modules/ROOT/pages/nats-component.adoc
index 1c47919..67af5e8 100644
--- a/docs/components/modules/ROOT/pages/nats-component.adoc
+++ b/docs/components/modules/ROOT/pages/nats-component.adoc
@@ -1,5 +1,6 @@
 [[nats-component]]
 = Nats Component
+:page-source: components/camel-nats/src/main/docs/nats-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/netty-component.adoc b/docs/components/modules/ROOT/pages/netty-component.adoc
index 75111aa..491751c 100644
--- a/docs/components/modules/ROOT/pages/netty-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty-component.adoc
@@ -1,5 +1,6 @@
 [[netty-component]]
 = Netty Component (deprecated)
+:page-source: components/camel-netty/src/main/docs/netty-component.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/netty-http-component.adoc b/docs/components/modules/ROOT/pages/netty-http-component.adoc
index a3b6169..7628b06 100644
--- a/docs/components/modules/ROOT/pages/netty-http-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty-http-component.adoc
@@ -1,5 +1,6 @@
 [[netty-http-component]]
 = Netty HTTP Component (deprecated)
+:page-source: components/camel-netty-http/src/main/docs/netty-http-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/netty4-component.adoc b/docs/components/modules/ROOT/pages/netty4-component.adoc
index 387e97c..f4df810 100644
--- a/docs/components/modules/ROOT/pages/netty4-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty4-component.adoc
@@ -1,5 +1,6 @@
 [[netty4-component]]
 = Netty4 Component
+:page-source: components/camel-netty4/src/main/docs/netty4-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/netty4-http-component.adoc b/docs/components/modules/ROOT/pages/netty4-http-component.adoc
index 5d643a4..32a0ad9 100644
--- a/docs/components/modules/ROOT/pages/netty4-http-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty4-http-component.adoc
@@ -1,5 +1,6 @@
 [[netty4-http-component]]
 = Netty4 HTTP Component
+:page-source: components/camel-netty4-http/src/main/docs/netty4-http-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/nsq-component.adoc b/docs/components/modules/ROOT/pages/nsq-component.adoc
index 195a859..d74e3f2 100644
--- a/docs/components/modules/ROOT/pages/nsq-component.adoc
+++ b/docs/components/modules/ROOT/pages/nsq-component.adoc
@@ -1,5 +1,6 @@
 [[nsq-component]]
 = NSQ Component
+:page-source: components/camel-nsq/src/main/docs/nsq-component.adoc
 
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/ognl-language.adoc b/docs/components/modules/ROOT/pages/ognl-language.adoc
index 7d15cc3..b6335b1 100644
--- a/docs/components/modules/ROOT/pages/ognl-language.adoc
+++ b/docs/components/modules/ROOT/pages/ognl-language.adoc
@@ -1,5 +1,6 @@
 [[ognl-language]]
 = OGNL Language
+:page-source: components/camel-ognl/src/main/docs/ognl-language.adoc
 
 *Available as of Camel version 1.1*
 
diff --git a/docs/components/modules/ROOT/pages/olingo2-component.adoc b/docs/components/modules/ROOT/pages/olingo2-component.adoc
index 12e2ec1..217a226 100644
--- a/docs/components/modules/ROOT/pages/olingo2-component.adoc
+++ b/docs/components/modules/ROOT/pages/olingo2-component.adoc
@@ -1,5 +1,6 @@
 [[olingo2-component]]
 = Olingo2 Component
+:page-source: components/camel-olingo2/camel-olingo2-component/src/main/docs/olingo2-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/olingo4-component.adoc b/docs/components/modules/ROOT/pages/olingo4-component.adoc
index 2c1e148..264ed78 100644
--- a/docs/components/modules/ROOT/pages/olingo4-component.adoc
+++ b/docs/components/modules/ROOT/pages/olingo4-component.adoc
@@ -1,5 +1,6 @@
 [[olingo4-component]]
 = Olingo4 Component
+:page-source: components/camel-olingo4/camel-olingo4-component/src/main/docs/olingo4-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/openshift-build-configs-component.adoc b/docs/components/modules/ROOT/pages/openshift-build-configs-component.adoc
index e2b1935..7b6e03a 100644
--- a/docs/components/modules/ROOT/pages/openshift-build-configs-component.adoc
+++ b/docs/components/modules/ROOT/pages/openshift-build-configs-component.adoc
@@ -1,5 +1,6 @@
 [[openshift-build-configs-component]]
 = Openshift Build Config Component
+:page-source: components/camel-kubernetes/src/main/docs/openshift-build-configs-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/openshift-builds-component.adoc b/docs/components/modules/ROOT/pages/openshift-builds-component.adoc
index ea5ad54..27f15b2 100644
--- a/docs/components/modules/ROOT/pages/openshift-builds-component.adoc
+++ b/docs/components/modules/ROOT/pages/openshift-builds-component.adoc
@@ -1,5 +1,6 @@
 [[openshift-builds-component]]
 = Openshift Builds Component
+:page-source: components/camel-kubernetes/src/main/docs/openshift-builds-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/openshift-component.adoc b/docs/components/modules/ROOT/pages/openshift-component.adoc
index 166262f..f72912f 100644
--- a/docs/components/modules/ROOT/pages/openshift-component.adoc
+++ b/docs/components/modules/ROOT/pages/openshift-component.adoc
@@ -1,5 +1,6 @@
 [[openshift-component]]
 = OpenShift Component (deprecated)
+:page-source: components/camel-openshift/src/main/docs/openshift-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/openstack-cinder-component.adoc b/docs/components/modules/ROOT/pages/openstack-cinder-component.adoc
index 55ff835..0ff266b 100644
--- a/docs/components/modules/ROOT/pages/openstack-cinder-component.adoc
+++ b/docs/components/modules/ROOT/pages/openstack-cinder-component.adoc
@@ -1,5 +1,6 @@
 [[openstack-cinder-component]]
 = OpenStack Cinder Component
+:page-source: components/camel-openstack/src/main/docs/openstack-cinder-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/openstack-glance-component.adoc b/docs/components/modules/ROOT/pages/openstack-glance-component.adoc
index 014ec98..7485ce1 100644
--- a/docs/components/modules/ROOT/pages/openstack-glance-component.adoc
+++ b/docs/components/modules/ROOT/pages/openstack-glance-component.adoc
@@ -1,5 +1,6 @@
 [[openstack-glance-component]]
 = OpenStack Glance Component
+:page-source: components/camel-openstack/src/main/docs/openstack-glance-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/openstack-keystone-component.adoc b/docs/components/modules/ROOT/pages/openstack-keystone-component.adoc
index 8707d16..76752cd 100644
--- a/docs/components/modules/ROOT/pages/openstack-keystone-component.adoc
+++ b/docs/components/modules/ROOT/pages/openstack-keystone-component.adoc
@@ -1,5 +1,6 @@
 [[openstack-keystone-component]]
 = OpenStack Keystone Component
+:page-source: components/camel-openstack/src/main/docs/openstack-keystone-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/openstack-neutron-component.adoc b/docs/components/modules/ROOT/pages/openstack-neutron-component.adoc
index 4324910..5aa1348 100644
--- a/docs/components/modules/ROOT/pages/openstack-neutron-component.adoc
+++ b/docs/components/modules/ROOT/pages/openstack-neutron-component.adoc
@@ -1,5 +1,6 @@
 [[openstack-neutron-component]]
 = OpenStack Neutron Component
+:page-source: components/camel-openstack/src/main/docs/openstack-neutron-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/openstack-nova-component.adoc b/docs/components/modules/ROOT/pages/openstack-nova-component.adoc
index be73725..1b432f1 100644
--- a/docs/components/modules/ROOT/pages/openstack-nova-component.adoc
+++ b/docs/components/modules/ROOT/pages/openstack-nova-component.adoc
@@ -1,5 +1,6 @@
 [[openstack-nova-component]]
 = OpenStack Nova Component
+:page-source: components/camel-openstack/src/main/docs/openstack-nova-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/openstack-swift-component.adoc b/docs/components/modules/ROOT/pages/openstack-swift-component.adoc
index 0a869b5..1d9aadd 100644
--- a/docs/components/modules/ROOT/pages/openstack-swift-component.adoc
+++ b/docs/components/modules/ROOT/pages/openstack-swift-component.adoc
@@ -1,5 +1,6 @@
 [[openstack-swift-component]]
 = OpenStack Swift Component
+:page-source: components/camel-openstack/src/main/docs/openstack-swift-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/opentracing.adoc b/docs/components/modules/ROOT/pages/opentracing.adoc
index 42cd2c3..6379df6 100644
--- a/docs/components/modules/ROOT/pages/opentracing.adoc
+++ b/docs/components/modules/ROOT/pages/opentracing.adoc
@@ -1,5 +1,6 @@
 [[OpenTracing-OpenTracingComponent]]
 = OpenTracing Component
+:page-source: components/camel-opentracing/src/main/docs/opentracing.adoc
 
 *Available as of Camel 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/optaplanner-component.adoc b/docs/components/modules/ROOT/pages/optaplanner-component.adoc
index 39d0b37..c0bf445 100644
--- a/docs/components/modules/ROOT/pages/optaplanner-component.adoc
+++ b/docs/components/modules/ROOT/pages/optaplanner-component.adoc
@@ -1,5 +1,6 @@
 [[optaplanner-component]]
 = OptaPlanner Component
+:page-source: components/camel-optaplanner/src/main/docs/optaplanner-component.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/paho-component.adoc b/docs/components/modules/ROOT/pages/paho-component.adoc
index eac9991..d93a5bf 100644
--- a/docs/components/modules/ROOT/pages/paho-component.adoc
+++ b/docs/components/modules/ROOT/pages/paho-component.adoc
@@ -1,5 +1,6 @@
 [[paho-component]]
 = Paho Component
+:page-source: components/camel-paho/src/main/docs/paho-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/paxlogging-component.adoc b/docs/components/modules/ROOT/pages/paxlogging-component.adoc
index ecbd7b0..07a1d7a 100644
--- a/docs/components/modules/ROOT/pages/paxlogging-component.adoc
+++ b/docs/components/modules/ROOT/pages/paxlogging-component.adoc
@@ -1,5 +1,6 @@
 [[paxlogging-component]]
 = OSGi PAX Logging Component
+:page-source: components/camel-paxlogging/src/main/docs/paxlogging-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/pdf-component.adoc b/docs/components/modules/ROOT/pages/pdf-component.adoc
index e204813..e9c46953 100644
--- a/docs/components/modules/ROOT/pages/pdf-component.adoc
+++ b/docs/components/modules/ROOT/pages/pdf-component.adoc
@@ -1,5 +1,6 @@
 [[pdf-component]]
 = PDF Component
+:page-source: components/camel-pdf/src/main/docs/pdf-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/pgevent-component.adoc b/docs/components/modules/ROOT/pages/pgevent-component.adoc
index 94b0daf..31db883 100644
--- a/docs/components/modules/ROOT/pages/pgevent-component.adoc
+++ b/docs/components/modules/ROOT/pages/pgevent-component.adoc
@@ -1,5 +1,6 @@
 [[pgevent-component]]
 = PostgresSQL Event Component
+:page-source: components/camel-pgevent/src/main/docs/pgevent-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/pgp-dataformat.adoc b/docs/components/modules/ROOT/pages/pgp-dataformat.adoc
index a10bd61..8979db2 100644
--- a/docs/components/modules/ROOT/pages/pgp-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/pgp-dataformat.adoc
@@ -1,5 +1,6 @@
 [[pgp-dataformat]]
 = PGP DataFormat
+:page-source: components/camel-crypto/src/main/docs/pgp-dataformat.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/php-language.adoc b/docs/components/modules/ROOT/pages/php-language.adoc
index 992e0e0..33796f2 100644
--- a/docs/components/modules/ROOT/pages/php-language.adoc
+++ b/docs/components/modules/ROOT/pages/php-language.adoc
@@ -1,5 +1,6 @@
 [[php-language]]
 = PHP Language (deprecated)
+:page-source: components/camel-script/src/main/docs/php-language.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc b/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
index 6210f92..fbc9e14 100644
--- a/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
@@ -1,5 +1,6 @@
 [[protobuf-dataformat]]
 = Protobuf DataFormat
+:page-source: components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
 [[Protobuf-Protobuf-ProtocolBuffers]]
 *Available as of Camel version 2.2.0*
 *Available as of Camel version 2.2*
diff --git a/docs/components/modules/ROOT/pages/pubnub-component.adoc b/docs/components/modules/ROOT/pages/pubnub-component.adoc
index 7c9064f..376fb42 100644
--- a/docs/components/modules/ROOT/pages/pubnub-component.adoc
+++ b/docs/components/modules/ROOT/pages/pubnub-component.adoc
@@ -1,5 +1,6 @@
 [[pubnub-component]]
 = PubNub Component
+:page-source: components/camel-pubnub/src/main/docs/pubnub-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/pulsar-component.adoc b/docs/components/modules/ROOT/pages/pulsar-component.adoc
index bedd9fd..67b7f628 100644
--- a/docs/components/modules/ROOT/pages/pulsar-component.adoc
+++ b/docs/components/modules/ROOT/pages/pulsar-component.adoc
@@ -1,5 +1,6 @@
 [[pulsar-component]]
 = Apache Pulsar Component
+:page-source: components/camel-pulsar/src/main/docs/pulsar-component.adoc
 
 *Available as of Camel version 2.24*
 
diff --git a/docs/components/modules/ROOT/pages/python-language.adoc b/docs/components/modules/ROOT/pages/python-language.adoc
index cd5e4f7..857c842 100644
--- a/docs/components/modules/ROOT/pages/python-language.adoc
+++ b/docs/components/modules/ROOT/pages/python-language.adoc
@@ -1,5 +1,6 @@
 [[python-language]]
 = Python Language (deprecated)
+:page-source: components/camel-script/src/main/docs/python-language.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/quartz-component.adoc b/docs/components/modules/ROOT/pages/quartz-component.adoc
index 22fa783..677be27 100644
--- a/docs/components/modules/ROOT/pages/quartz-component.adoc
+++ b/docs/components/modules/ROOT/pages/quartz-component.adoc
@@ -1,5 +1,6 @@
 [[quartz-component]]
 = Quartz Component (deprecated)
+:page-source: components/camel-quartz/src/main/docs/quartz-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/quartz2-component.adoc b/docs/components/modules/ROOT/pages/quartz2-component.adoc
index 05d9621..3496298 100644
--- a/docs/components/modules/ROOT/pages/quartz2-component.adoc
+++ b/docs/components/modules/ROOT/pages/quartz2-component.adoc
@@ -1,5 +1,6 @@
 [[quartz2-component]]
 = Quartz2 Component
+:page-source: components/camel-quartz2/src/main/docs/quartz2-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/quickfix-component.adoc b/docs/components/modules/ROOT/pages/quickfix-component.adoc
index 376e304..7a50a8b 100644
--- a/docs/components/modules/ROOT/pages/quickfix-component.adoc
+++ b/docs/components/modules/ROOT/pages/quickfix-component.adoc
@@ -1,5 +1,6 @@
 [[quickfix-component]]
 = QuickFix Component
+:page-source: components/camel-quickfix/src/main/docs/quickfix-component.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/rabbitmq-component.adoc b/docs/components/modules/ROOT/pages/rabbitmq-component.adoc
index bff2663..38cca60 100644
--- a/docs/components/modules/ROOT/pages/rabbitmq-component.adoc
+++ b/docs/components/modules/ROOT/pages/rabbitmq-component.adoc
@@ -1,5 +1,6 @@
 [[rabbitmq-component]]
 = RabbitMQ Component
+:page-source: components/camel-rabbitmq/src/main/docs/rabbitmq-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/reactive-streams-component.adoc b/docs/components/modules/ROOT/pages/reactive-streams-component.adoc
index 1fe0b87..b316cba 100644
--- a/docs/components/modules/ROOT/pages/reactive-streams-component.adoc
+++ b/docs/components/modules/ROOT/pages/reactive-streams-component.adoc
@@ -1,5 +1,6 @@
 [[reactive-streams-component]]
 = Reactive Streams Component
+:page-source: components/camel-reactive-streams/src/main/docs/reactive-streams-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/reactor-component.adoc b/docs/components/modules/ROOT/pages/reactor-component.adoc
index b5f08d6..d85663a 100644
--- a/docs/components/modules/ROOT/pages/reactor-component.adoc
+++ b/docs/components/modules/ROOT/pages/reactor-component.adoc
@@ -1,4 +1,5 @@
 = Reactor Component
+:page-source: components/camel-reactor/src/main/docs/reactor-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/rest-swagger-component.adoc b/docs/components/modules/ROOT/pages/rest-swagger-component.adoc
index 4797b6b..dcc79bc 100644
--- a/docs/components/modules/ROOT/pages/rest-swagger-component.adoc
+++ b/docs/components/modules/ROOT/pages/rest-swagger-component.adoc
@@ -1,5 +1,6 @@
 [[rest-swagger-component]]
 = REST Swagger Component
+:page-source: components/camel-rest-swagger/src/main/docs/rest-swagger-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/restlet-component.adoc b/docs/components/modules/ROOT/pages/restlet-component.adoc
index 32fd898..c186496 100644
--- a/docs/components/modules/ROOT/pages/restlet-component.adoc
+++ b/docs/components/modules/ROOT/pages/restlet-component.adoc
@@ -1,5 +1,6 @@
 [[restlet-component]]
 = Restlet Component
+:page-source: components/camel-restlet/src/main/docs/restlet-component.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/ribbon.adoc b/docs/components/modules/ROOT/pages/ribbon.adoc
index f023305..cce3c22 100644
--- a/docs/components/modules/ROOT/pages/ribbon.adoc
+++ b/docs/components/modules/ROOT/pages/ribbon.adoc
@@ -1,4 +1,5 @@
 = Ribbon Component
+:page-source: components/camel-ribbon/src/main/docs/ribbon.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/rmi-component.adoc b/docs/components/modules/ROOT/pages/rmi-component.adoc
index f80e0a6..e04bd84 100644
--- a/docs/components/modules/ROOT/pages/rmi-component.adoc
+++ b/docs/components/modules/ROOT/pages/rmi-component.adoc
@@ -1,5 +1,6 @@
 [[rmi-component]]
 = RMI Component (deprecated)
+:page-source: components/camel-rmi/src/main/docs/rmi-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/routebox-component.adoc b/docs/components/modules/ROOT/pages/routebox-component.adoc
index f436b5f..a5d9b8d 100644
--- a/docs/components/modules/ROOT/pages/routebox-component.adoc
+++ b/docs/components/modules/ROOT/pages/routebox-component.adoc
@@ -1,5 +1,6 @@
 [[routebox-component]]
 = RouteBox Component (deprecated)
+:page-source: components/camel-routebox/src/main/docs/routebox-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/rss-component.adoc b/docs/components/modules/ROOT/pages/rss-component.adoc
index 49b1747..074b84a 100644
--- a/docs/components/modules/ROOT/pages/rss-component.adoc
+++ b/docs/components/modules/ROOT/pages/rss-component.adoc
@@ -1,5 +1,6 @@
 [[rss-component]]
 = RSS Component
+:page-source: components/camel-rss/src/main/docs/rss-component.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/rss-dataformat.adoc b/docs/components/modules/ROOT/pages/rss-dataformat.adoc
index 479d5c1..5a1dcb0 100644
--- a/docs/components/modules/ROOT/pages/rss-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/rss-dataformat.adoc
@@ -1,5 +1,6 @@
 [[rss-dataformat]]
 = RSS DataFormat
+:page-source: components/camel-rss/src/main/docs/rss-dataformat.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/ruby-language.adoc b/docs/components/modules/ROOT/pages/ruby-language.adoc
index 42c755b..33a69ab 100644
--- a/docs/components/modules/ROOT/pages/ruby-language.adoc
+++ b/docs/components/modules/ROOT/pages/ruby-language.adoc
@@ -1,5 +1,6 @@
 [[ruby-language]]
 = Ruby Language (deprecated)
+:page-source: components/camel-script/src/main/docs/ruby-language.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/salesforce-component.adoc b/docs/components/modules/ROOT/pages/salesforce-component.adoc
index 76d31c4..9f60cd5 100644
--- a/docs/components/modules/ROOT/pages/salesforce-component.adoc
+++ b/docs/components/modules/ROOT/pages/salesforce-component.adoc
@@ -1,5 +1,6 @@
 [[salesforce-component]]
 = Salesforce Component
+:page-source: components/camel-salesforce/camel-salesforce-component/src/main/docs/salesforce-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc b/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
index 8b33bc9..3f31639 100644
--- a/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
+++ b/docs/components/modules/ROOT/pages/sap-netweaver-component.adoc
@@ -1,5 +1,6 @@
 [[sap-netweaver-component]]
 = SAP NetWeaver Component
+:page-source: components/camel-sap-netweaver/src/main/docs/sap-netweaver-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/schematron-component.adoc b/docs/components/modules/ROOT/pages/schematron-component.adoc
index bd524b1..2aa94c4 100644
--- a/docs/components/modules/ROOT/pages/schematron-component.adoc
+++ b/docs/components/modules/ROOT/pages/schematron-component.adoc
@@ -1,5 +1,6 @@
 [[schematron-component]]
 = Schematron Component
+:page-source: components/camel-schematron/src/main/docs/schematron-component.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/scp-component.adoc b/docs/components/modules/ROOT/pages/scp-component.adoc
index 4c10452..9451b99 100644
--- a/docs/components/modules/ROOT/pages/scp-component.adoc
+++ b/docs/components/modules/ROOT/pages/scp-component.adoc
@@ -1,5 +1,6 @@
 [[scp-component]]
 = SCP Component
+:page-source: components/camel-jsch/src/main/docs/scp-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/scr.adoc b/docs/components/modules/ROOT/pages/scr.adoc
index f20b5a6..4a7ff3a 100644
--- a/docs/components/modules/ROOT/pages/scr.adoc
+++ b/docs/components/modules/ROOT/pages/scr.adoc
@@ -1,4 +1,5 @@
 = Camel SCR (deprecated)
+:page-source: components/camel-scr/src/main/docs/scr.adoc
 
 *Available as of Camel 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/secureXML-dataformat.adoc b/docs/components/modules/ROOT/pages/secureXML-dataformat.adoc
index 2e04f60..df1f732 100644
--- a/docs/components/modules/ROOT/pages/secureXML-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/secureXML-dataformat.adoc
@@ -1,5 +1,6 @@
 [[secureXML-dataformat]]
 = XML Security DataFormat
+:page-source: components/camel-xmlsecurity/src/main/docs/secureXML-dataformat.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/service-component.adoc b/docs/components/modules/ROOT/pages/service-component.adoc
index f303ee8..2536f32 100644
--- a/docs/components/modules/ROOT/pages/service-component.adoc
+++ b/docs/components/modules/ROOT/pages/service-component.adoc
@@ -1,5 +1,6 @@
 [[service-component]]
 = Service Component
+:page-source: components/camel-service/src/main/docs/service-component.adoc
 
 *Available as of Camel version 2.22*
 
diff --git a/docs/components/modules/ROOT/pages/servicenow-component.adoc b/docs/components/modules/ROOT/pages/servicenow-component.adoc
index ff24921..4dd85ce 100644
--- a/docs/components/modules/ROOT/pages/servicenow-component.adoc
+++ b/docs/components/modules/ROOT/pages/servicenow-component.adoc
@@ -1,5 +1,6 @@
 [[servicenow-component]]
 = ServiceNow Component
+:page-source: components/camel-servicenow/camel-servicenow-component/src/main/docs/servicenow-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/servlet-component.adoc b/docs/components/modules/ROOT/pages/servlet-component.adoc
index 7c4be16..8982649 100644
--- a/docs/components/modules/ROOT/pages/servlet-component.adoc
+++ b/docs/components/modules/ROOT/pages/servlet-component.adoc
@@ -1,5 +1,6 @@
 [[servlet-component]]
 = Servlet Component
+:page-source: components/camel-servlet/src/main/docs/servlet-component.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/sftp-component.adoc b/docs/components/modules/ROOT/pages/sftp-component.adoc
index 8573a9c..8a34efd 100644
--- a/docs/components/modules/ROOT/pages/sftp-component.adoc
+++ b/docs/components/modules/ROOT/pages/sftp-component.adoc
@@ -1,5 +1,6 @@
 [[sftp-component]]
 = SFTP Component
+:page-source: components/camel-ftp/src/main/docs/sftp-component.adoc
 
 *Available as of Camel version 1.1*
 
diff --git a/docs/components/modules/ROOT/pages/sip-component.adoc b/docs/components/modules/ROOT/pages/sip-component.adoc
index 50ba000..3cd07b4 100644
--- a/docs/components/modules/ROOT/pages/sip-component.adoc
+++ b/docs/components/modules/ROOT/pages/sip-component.adoc
@@ -1,5 +1,6 @@
 [[sip-component]]
 = SIP Component
+:page-source: components/camel-sip/src/main/docs/sip-component.adoc
 
 *Available as of Camel version 2.5*
 
diff --git a/docs/components/modules/ROOT/pages/sjms-batch-component.adoc b/docs/components/modules/ROOT/pages/sjms-batch-component.adoc
index e9bb3db..c22b837 100644
--- a/docs/components/modules/ROOT/pages/sjms-batch-component.adoc
+++ b/docs/components/modules/ROOT/pages/sjms-batch-component.adoc
@@ -1,5 +1,6 @@
 [[sjms-batch-component]]
 = Simple JMS Batch Component
+:page-source: components/camel-sjms/src/main/docs/sjms-batch-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/sjms-component.adoc b/docs/components/modules/ROOT/pages/sjms-component.adoc
index 9b68b6a..b5b011c 100644
--- a/docs/components/modules/ROOT/pages/sjms-component.adoc
+++ b/docs/components/modules/ROOT/pages/sjms-component.adoc
@@ -1,5 +1,6 @@
 [[sjms-component]]
 = Simple JMS Component
+:page-source: components/camel-sjms/src/main/docs/sjms-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/sjms2-component.adoc b/docs/components/modules/ROOT/pages/sjms2-component.adoc
index 7ff74f5..ecf9a10 100644
--- a/docs/components/modules/ROOT/pages/sjms2-component.adoc
+++ b/docs/components/modules/ROOT/pages/sjms2-component.adoc
@@ -1,5 +1,6 @@
 [[sjms2-component]]
 = Simple JMS2 Component
+:page-source: components/camel-sjms2/src/main/docs/sjms2-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/slack-component.adoc b/docs/components/modules/ROOT/pages/slack-component.adoc
index 258e499..e756494 100644
--- a/docs/components/modules/ROOT/pages/slack-component.adoc
+++ b/docs/components/modules/ROOT/pages/slack-component.adoc
@@ -1,5 +1,6 @@
 [[slack-component]]
 = Slack Component
+:page-source: components/camel-slack/src/main/docs/slack-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/smpp-component.adoc b/docs/components/modules/ROOT/pages/smpp-component.adoc
index 589878f..5bd8fe4 100644
--- a/docs/components/modules/ROOT/pages/smpp-component.adoc
+++ b/docs/components/modules/ROOT/pages/smpp-component.adoc
@@ -1,5 +1,6 @@
 [[smpp-component]]
 = SMPP Component
+:page-source: components/camel-smpp/src/main/docs/smpp-component.adoc
 
 *Available as of Camel version 2.2*
 
diff --git a/docs/components/modules/ROOT/pages/snmp-component.adoc b/docs/components/modules/ROOT/pages/snmp-component.adoc
index 30083fc..7ad73f7 100644
--- a/docs/components/modules/ROOT/pages/snmp-component.adoc
+++ b/docs/components/modules/ROOT/pages/snmp-component.adoc
@@ -1,5 +1,6 @@
 [[snmp-component]]
 = SNMP Component
+:page-source: components/camel-snmp/src/main/docs/snmp-component.adoc
 
 *Available as of Camel version 2.1*
 
diff --git a/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc b/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
index b25aa58..a36f4e6 100644
--- a/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/soapjaxb-dataformat.adoc
@@ -1,5 +1,6 @@
 [[soapjaxb-dataformat]]
 = SOAP DataFormat
+:page-source: components/camel-soap/src/main/docs/soapjaxb-dataformat.adoc
 
 *Available as of Camel version 2.3*
 
diff --git a/docs/components/modules/ROOT/pages/solr-component.adoc b/docs/components/modules/ROOT/pages/solr-component.adoc
index 878be74..30134a6 100644
--- a/docs/components/modules/ROOT/pages/solr-component.adoc
+++ b/docs/components/modules/ROOT/pages/solr-component.adoc
@@ -1,5 +1,6 @@
 [[solr-component]]
 = Solr Component
+:page-source: components/camel-solr/src/main/docs/solr-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/spark-component.adoc b/docs/components/modules/ROOT/pages/spark-component.adoc
index 320a38f..24e4ca5 100644
--- a/docs/components/modules/ROOT/pages/spark-component.adoc
+++ b/docs/components/modules/ROOT/pages/spark-component.adoc
@@ -1,5 +1,6 @@
 [[spark-component]]
 = Apache Spark Component
+:page-source: components/camel-spark/src/main/docs/spark-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/spark-rest-component.adoc b/docs/components/modules/ROOT/pages/spark-rest-component.adoc
index 571f652..c7f645f 100644
--- a/docs/components/modules/ROOT/pages/spark-rest-component.adoc
+++ b/docs/components/modules/ROOT/pages/spark-rest-component.adoc
@@ -1,5 +1,6 @@
 [[spark-rest-component]]
 = Spark Rest Component
+:page-source: components/camel-spark-rest/src/main/docs/spark-rest-component.adoc
 
 *Available as of Camel version 2.14*
 
diff --git a/docs/components/modules/ROOT/pages/spel-language.adoc b/docs/components/modules/ROOT/pages/spel-language.adoc
index 39d9c75..62d403a 100644
--- a/docs/components/modules/ROOT/pages/spel-language.adoc
+++ b/docs/components/modules/ROOT/pages/spel-language.adoc
@@ -1,5 +1,6 @@
 [[spel-language]]
 = SpEL Language
+:page-source: components/camel-spring/src/main/docs/spel-language.adoc
 
 *Available as of Camel version 2.7*
 
diff --git a/docs/components/modules/ROOT/pages/splunk-component.adoc b/docs/components/modules/ROOT/pages/splunk-component.adoc
index 3f504e1..b404b51 100644
--- a/docs/components/modules/ROOT/pages/splunk-component.adoc
+++ b/docs/components/modules/ROOT/pages/splunk-component.adoc
@@ -1,5 +1,6 @@
 [[splunk-component]]
 = Splunk Component
+:page-source: components/camel-splunk/src/main/docs/splunk-component.adoc
 
 *Available as of Camel version 2.13*
 
diff --git a/docs/components/modules/ROOT/pages/spring-batch-component.adoc b/docs/components/modules/ROOT/pages/spring-batch-component.adoc
index 52df4c4..f6d2b44 100644
--- a/docs/components/modules/ROOT/pages/spring-batch-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-batch-component.adoc
@@ -1,5 +1,6 @@
 [[spring-batch-component]]
 = Spring Batch Component
+:page-source: components/camel-spring-batch/src/main/docs/spring-batch-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/spring-boot.adoc b/docs/components/modules/ROOT/pages/spring-boot.adoc
index fdfc254..f6264ae 100644
--- a/docs/components/modules/ROOT/pages/spring-boot.adoc
+++ b/docs/components/modules/ROOT/pages/spring-boot.adoc
@@ -1,5 +1,6 @@
 [[SpringBoot-SpringBoot]]
 = Spring Boot
+:page-source: components/camel-spring-boot/src/main/docs/spring-boot.adoc
 
 *Available as of Camel 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/spring-event-component.adoc b/docs/components/modules/ROOT/pages/spring-event-component.adoc
index f89da74..1a40f95 100644
--- a/docs/components/modules/ROOT/pages/spring-event-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-event-component.adoc
@@ -1,5 +1,6 @@
 [[spring-event-component]]
 = Spring Event Component
+:page-source: components/camel-spring/src/main/docs/spring-event-component.adoc
 
 *Available as of Camel version 1.4*
 
diff --git a/docs/components/modules/ROOT/pages/spring-integration-component.adoc b/docs/components/modules/ROOT/pages/spring-integration-component.adoc
index 5d46fc6..da0562d 100644
--- a/docs/components/modules/ROOT/pages/spring-integration-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-integration-component.adoc
@@ -1,5 +1,6 @@
 [[spring-integration-component]]
 = Spring Integration Component
+:page-source: components/camel-spring-integration/src/main/docs/spring-integration-component.adoc
 
 *Available as of Camel version 1.4*
 
diff --git a/docs/components/modules/ROOT/pages/spring-ldap-component.adoc b/docs/components/modules/ROOT/pages/spring-ldap-component.adoc
index f31af88..940776d 100644
--- a/docs/components/modules/ROOT/pages/spring-ldap-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-ldap-component.adoc
@@ -1,5 +1,6 @@
 [[spring-ldap-component]]
 = Spring LDAP Component
+:page-source: components/camel-spring-ldap/src/main/docs/spring-ldap-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/spring-redis-component.adoc b/docs/components/modules/ROOT/pages/spring-redis-component.adoc
index 0e85b4c..3270da9 100644
--- a/docs/components/modules/ROOT/pages/spring-redis-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-redis-component.adoc
@@ -1,5 +1,6 @@
 [[spring-redis-component]]
 = Spring Redis Component
+:page-source: components/camel-spring-redis/src/main/docs/spring-redis-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/spring-ws-component.adoc b/docs/components/modules/ROOT/pages/spring-ws-component.adoc
index 6633c65..40105f8 100644
--- a/docs/components/modules/ROOT/pages/spring-ws-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-ws-component.adoc
@@ -1,5 +1,6 @@
 [[spring-ws-component]]
 = Spring WebService Component
+:page-source: components/camel-spring-ws/src/main/docs/spring-ws-component.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/spring.adoc b/docs/components/modules/ROOT/pages/spring.adoc
index 14c4ba5..cd203b3 100644
--- a/docs/components/modules/ROOT/pages/spring.adoc
+++ b/docs/components/modules/ROOT/pages/spring.adoc
@@ -1,5 +1,6 @@
 [[SpringSupport-SpringSupport]]
 = Spring Support
+:page-source: components/camel-spring/src/main/docs/spring.adoc
 
 Apache Camel is designed to work nicely with the
 http://www.springframework.org/[Spring Framework] in a number of ways.
diff --git a/docs/components/modules/ROOT/pages/sql-component.adoc b/docs/components/modules/ROOT/pages/sql-component.adoc
index 469d765..d3685ff 100644
--- a/docs/components/modules/ROOT/pages/sql-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-component.adoc
@@ -1,5 +1,6 @@
 [[sql-component]]
 = SQL Component
+:page-source: components/camel-sql/src/main/docs/sql-component.adoc
 
 *Available as of Camel version 1.4*
 
diff --git a/docs/components/modules/ROOT/pages/sql-language.adoc b/docs/components/modules/ROOT/pages/sql-language.adoc
index 91b9c72..af2073d 100644
--- a/docs/components/modules/ROOT/pages/sql-language.adoc
+++ b/docs/components/modules/ROOT/pages/sql-language.adoc
@@ -1,5 +1,6 @@
 [[sql-language]]
 = SQL Language (deprecated)
+:page-source: components/camel-josql/src/main/docs/sql-language.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/sql-stored-component.adoc b/docs/components/modules/ROOT/pages/sql-stored-component.adoc
index 9f30fc9..6cb0ea4 100644
--- a/docs/components/modules/ROOT/pages/sql-stored-component.adoc
+++ b/docs/components/modules/ROOT/pages/sql-stored-component.adoc
@@ -1,5 +1,6 @@
 [[sql-stored-component]]
 = SQL Stored Procedure Component
+:page-source: components/camel-sql/src/main/docs/sql-stored-component.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/ssh-component.adoc b/docs/components/modules/ROOT/pages/ssh-component.adoc
index 8a5be67..d07fcd0 100644
--- a/docs/components/modules/ROOT/pages/ssh-component.adoc
+++ b/docs/components/modules/ROOT/pages/ssh-component.adoc
@@ -1,5 +1,6 @@
 [[ssh-component]]
 = SSH Component
+:page-source: components/camel-ssh/src/main/docs/ssh-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/stax-component.adoc b/docs/components/modules/ROOT/pages/stax-component.adoc
index 72f4763..1e782ea 100644
--- a/docs/components/modules/ROOT/pages/stax-component.adoc
+++ b/docs/components/modules/ROOT/pages/stax-component.adoc
@@ -1,5 +1,6 @@
 [[stax-component]]
 = StAX Component
+:page-source: components/camel-stax/src/main/docs/stax-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/stomp-component.adoc b/docs/components/modules/ROOT/pages/stomp-component.adoc
index 6572111..eed7adb 100644
--- a/docs/components/modules/ROOT/pages/stomp-component.adoc
+++ b/docs/components/modules/ROOT/pages/stomp-component.adoc
@@ -1,5 +1,6 @@
 [[stomp-component]]
 = Stomp Component
+:page-source: components/camel-stomp/src/main/docs/stomp-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/stream-component.adoc b/docs/components/modules/ROOT/pages/stream-component.adoc
index 57a9607..b4684ff 100644
--- a/docs/components/modules/ROOT/pages/stream-component.adoc
+++ b/docs/components/modules/ROOT/pages/stream-component.adoc
@@ -1,5 +1,6 @@
 [[stream-component]]
 = Stream Component
+:page-source: components/camel-stream/src/main/docs/stream-component.adoc
 
 *Available as of Camel version 1.3*
 
diff --git a/docs/components/modules/ROOT/pages/string-template-component.adoc b/docs/components/modules/ROOT/pages/string-template-component.adoc
index 3c0ce07..785eb24 100644
--- a/docs/components/modules/ROOT/pages/string-template-component.adoc
+++ b/docs/components/modules/ROOT/pages/string-template-component.adoc
@@ -1,5 +1,6 @@
 [[string-template-component]]
 = String Template Component
+:page-source: components/camel-stringtemplate/src/main/docs/string-template-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/syslog-dataformat.adoc b/docs/components/modules/ROOT/pages/syslog-dataformat.adoc
index f7680a2..722af62 100644
--- a/docs/components/modules/ROOT/pages/syslog-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/syslog-dataformat.adoc
@@ -1,5 +1,6 @@
 [[syslog-dataformat]]
 = Syslog DataFormat
+:page-source: components/camel-syslog/src/main/docs/syslog-dataformat.adoc
 
 *Available as of Camel version 2.6*
 
diff --git a/docs/components/modules/ROOT/pages/tarfile-dataformat.adoc b/docs/components/modules/ROOT/pages/tarfile-dataformat.adoc
index a148d7b..51c72ae 100644
--- a/docs/components/modules/ROOT/pages/tarfile-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/tarfile-dataformat.adoc
@@ -1,5 +1,6 @@
 [[tarfile-dataformat]]
 = Tar File DataFormat
+:page-source: components/camel-tarfile/src/main/docs/tarfile-dataformat.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/telegram-component.adoc b/docs/components/modules/ROOT/pages/telegram-component.adoc
index ed11123..d2bcb3a 100644
--- a/docs/components/modules/ROOT/pages/telegram-component.adoc
+++ b/docs/components/modules/ROOT/pages/telegram-component.adoc
@@ -1,5 +1,6 @@
 [[telegram-component]]
 = Telegram Component
+:page-source: components/camel-telegram/src/main/docs/telegram-component.adoc
 
 *Available as of Camel version 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/terser-language.adoc b/docs/components/modules/ROOT/pages/terser-language.adoc
index 7f92e21..e1381e7 100644
--- a/docs/components/modules/ROOT/pages/terser-language.adoc
+++ b/docs/components/modules/ROOT/pages/terser-language.adoc
@@ -1,5 +1,6 @@
 [[terser-language]]
 = HL7 Terser Language
+:page-source: components/camel-hl7/src/main/docs/terser-language.adoc
 == Terser language
 *Available as of Camel version 2.11.0*
 *Available as of Camel version 2.11*
diff --git a/docs/components/modules/ROOT/pages/test-blueprint.adoc b/docs/components/modules/ROOT/pages/test-blueprint.adoc
index 886677e..846ade9 100644
--- a/docs/components/modules/ROOT/pages/test-blueprint.adoc
+++ b/docs/components/modules/ROOT/pages/test-blueprint.adoc
@@ -1,4 +1,5 @@
 = Blueprint Testing
+:page-source: components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
 
 *Available as of Camel 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/test-cdi.adoc b/docs/components/modules/ROOT/pages/test-cdi.adoc
index b74a554..c4a330e 100644
--- a/docs/components/modules/ROOT/pages/test-cdi.adoc
+++ b/docs/components/modules/ROOT/pages/test-cdi.adoc
@@ -1,5 +1,6 @@
 [[CDITesting-CDITesting]]
 = CDI Testing
+:page-source: components/camel-test-cdi/src/main/docs/test-cdi.adoc
 
 http://camel.apache.org/testing.html[Testing] is a crucial part of any
 development or integration work. In case you're using the Camel CDI
diff --git a/docs/components/modules/ROOT/pages/test-karaf.adoc b/docs/components/modules/ROOT/pages/test-karaf.adoc
index 5668522..22cfe4d 100644
--- a/docs/components/modules/ROOT/pages/test-karaf.adoc
+++ b/docs/components/modules/ROOT/pages/test-karaf.adoc
@@ -1,4 +1,5 @@
 = Test Karaf
+:page-source: components/camel-test-karaf/src/main/docs/test-karaf.adoc
 
 *Available since Camel 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/test-spring.adoc b/docs/components/modules/ROOT/pages/test-spring.adoc
index 7b876fc..823258a 100644
--- a/docs/components/modules/ROOT/pages/test-spring.adoc
+++ b/docs/components/modules/ROOT/pages/test-spring.adoc
@@ -1,4 +1,5 @@
 = Test Spring
+:page-source: components/camel-test-spring/src/main/docs/test-spring.adoc
 
 *Available since 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/testcontainers.adoc b/docs/components/modules/ROOT/pages/testcontainers.adoc
index 9083093..1db077e 100644
--- a/docs/components/modules/ROOT/pages/testcontainers.adoc
+++ b/docs/components/modules/ROOT/pages/testcontainers.adoc
@@ -1,4 +1,5 @@
 = Testcontainers
+:page-source: components/camel-testcontainers/src/main/docs/testcontainers.adoc
 
 *Available since 2.22.0*
 
diff --git a/docs/components/modules/ROOT/pages/testng.adoc b/docs/components/modules/ROOT/pages/testng.adoc
index 48309f7..2ae96d0 100644
--- a/docs/components/modules/ROOT/pages/testng.adoc
+++ b/docs/components/modules/ROOT/pages/testng.adoc
@@ -1,4 +1,5 @@
 = TestNG (deprecated)
+:page-source: components/camel-testng/src/main/docs/testng.adoc
 
 *Available since Camel 2.8*
 
diff --git a/docs/components/modules/ROOT/pages/thrift-component.adoc b/docs/components/modules/ROOT/pages/thrift-component.adoc
index 1a3bf45..a6416b5 100644
--- a/docs/components/modules/ROOT/pages/thrift-component.adoc
+++ b/docs/components/modules/ROOT/pages/thrift-component.adoc
@@ -1,5 +1,6 @@
 [[thrift-component]]
 = Thrift Component
+:page-source: components/camel-thrift/src/main/docs/thrift-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/thrift-dataformat.adoc b/docs/components/modules/ROOT/pages/thrift-dataformat.adoc
index 4d9451a..97f3c3f 100644
--- a/docs/components/modules/ROOT/pages/thrift-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/thrift-dataformat.adoc
@@ -1,5 +1,6 @@
 [[thrift-dataformat]]
 = Thrift DataFormat
+:page-source: components/camel-thrift/src/main/docs/thrift-dataformat.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/tidyMarkup-dataformat.adoc b/docs/components/modules/ROOT/pages/tidyMarkup-dataformat.adoc
index de4d3d6..9cd1698 100644
--- a/docs/components/modules/ROOT/pages/tidyMarkup-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/tidyMarkup-dataformat.adoc
@@ -1,5 +1,6 @@
 [[tidyMarkup-dataformat]]
 = TidyMarkup DataFormat
+:page-source: components/camel-tagsoup/src/main/docs/tidyMarkup-dataformat.adoc
 
 *Available as of Camel version 2.0*
 
diff --git a/docs/components/modules/ROOT/pages/tika-component.adoc b/docs/components/modules/ROOT/pages/tika-component.adoc
index fec35c1..71ee31c 100644
--- a/docs/components/modules/ROOT/pages/tika-component.adoc
+++ b/docs/components/modules/ROOT/pages/tika-component.adoc
@@ -1,5 +1,6 @@
 [[tika-component]]
 = Tika Component
+:page-source: components/camel-tika/src/main/docs/tika-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/twilio-component.adoc b/docs/components/modules/ROOT/pages/twilio-component.adoc
index 7c9e512..41f2250 100644
--- a/docs/components/modules/ROOT/pages/twilio-component.adoc
+++ b/docs/components/modules/ROOT/pages/twilio-component.adoc
@@ -1,5 +1,6 @@
 [[twilio-component]]
 = Twilio Component
+:page-source: components/camel-twilio/src/main/docs/twilio-component.adoc
 
 *Available as of Camel version 2.20*
 
diff --git a/docs/components/modules/ROOT/pages/twitter-component.adoc b/docs/components/modules/ROOT/pages/twitter-component.adoc
index c6e77cb..03d4c1e 100644
--- a/docs/components/modules/ROOT/pages/twitter-component.adoc
+++ b/docs/components/modules/ROOT/pages/twitter-component.adoc
@@ -1,5 +1,6 @@
 [[twitter-component]]
 = Twitter Component (deprecated)
+:page-source: components/camel-twitter/src/main/docs/twitter-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/twitter-directmessage-component.adoc b/docs/components/modules/ROOT/pages/twitter-directmessage-component.adoc
index a3dbf12..9871f75 100644
--- a/docs/components/modules/ROOT/pages/twitter-directmessage-component.adoc
+++ b/docs/components/modules/ROOT/pages/twitter-directmessage-component.adoc
@@ -1,5 +1,6 @@
 [[twitter-directmessage-component]]
 = Twitter Direct Message Component
+:page-source: components/camel-twitter/src/main/docs/twitter-directmessage-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/twitter-search-component.adoc b/docs/components/modules/ROOT/pages/twitter-search-component.adoc
index 9a19781..3385971 100644
--- a/docs/components/modules/ROOT/pages/twitter-search-component.adoc
+++ b/docs/components/modules/ROOT/pages/twitter-search-component.adoc
@@ -1,5 +1,6 @@
 [[twitter-search-component]]
 = Twitter Search Component
+:page-source: components/camel-twitter/src/main/docs/twitter-search-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/twitter-streaming-component.adoc b/docs/components/modules/ROOT/pages/twitter-streaming-component.adoc
index 81cc2dd..8e62e67 100644
--- a/docs/components/modules/ROOT/pages/twitter-streaming-component.adoc
+++ b/docs/components/modules/ROOT/pages/twitter-streaming-component.adoc
@@ -1,5 +1,6 @@
 [[twitter-streaming-component]]
 = Twitter Streaming Component
+:page-source: components/camel-twitter/src/main/docs/twitter-streaming-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/twitter-timeline-component.adoc b/docs/components/modules/ROOT/pages/twitter-timeline-component.adoc
index 17c8512..5ec0499 100644
--- a/docs/components/modules/ROOT/pages/twitter-timeline-component.adoc
+++ b/docs/components/modules/ROOT/pages/twitter-timeline-component.adoc
@@ -1,5 +1,6 @@
 [[twitter-timeline-component]]
 = Twitter Timeline Component
+:page-source: components/camel-twitter/src/main/docs/twitter-timeline-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/twitter.adoc b/docs/components/modules/ROOT/pages/twitter.adoc
index 971478e..9f3b847 100644
--- a/docs/components/modules/ROOT/pages/twitter.adoc
+++ b/docs/components/modules/ROOT/pages/twitter.adoc
@@ -1,4 +1,5 @@
 = Twitter Components 
+:page-source: components/camel-twitter/src/main/docs/twitter.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/undertow-component.adoc b/docs/components/modules/ROOT/pages/undertow-component.adoc
index ddae3cd..796a168 100644
--- a/docs/components/modules/ROOT/pages/undertow-component.adoc
+++ b/docs/components/modules/ROOT/pages/undertow-component.adoc
@@ -1,5 +1,6 @@
 [[undertow-component]]
 = Undertow Component
+:page-source: components/camel-undertow/src/main/docs/undertow-component.adoc
 
 *Available as of Camel version 2.16*
 
diff --git a/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc b/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
index 4bf6778..6ec5476 100644
--- a/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
@@ -1,5 +1,6 @@
 [[univocity-csv-dataformat]]
 = uniVocity CSV DataFormat
+:page-source: components/camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc b/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
index 878bb23..2f0adfe 100644
--- a/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
@@ -1,5 +1,6 @@
 [[univocity-fixed-dataformat]]
 = uniVocity Fixed Length DataFormat
+:page-source: components/camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/univocity-tsv-dataformat.adoc b/docs/components/modules/ROOT/pages/univocity-tsv-dataformat.adoc
index 09b0f01..dd2746b 100644
--- a/docs/components/modules/ROOT/pages/univocity-tsv-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/univocity-tsv-dataformat.adoc
@@ -1,5 +1,6 @@
 [[univocity-tsv-dataformat]]
 = uniVocity TSV DataFormat
+:page-source: components/camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc
 
 *Available as of Camel version 2.15*
 
diff --git a/docs/components/modules/ROOT/pages/velocity-component.adoc b/docs/components/modules/ROOT/pages/velocity-component.adoc
index 6c7f803..3ade4ac 100644
--- a/docs/components/modules/ROOT/pages/velocity-component.adoc
+++ b/docs/components/modules/ROOT/pages/velocity-component.adoc
@@ -1,5 +1,6 @@
 [[velocity-component]]
 = Velocity Component
+:page-source: components/camel-velocity/src/main/docs/velocity-component.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/vertx-component.adoc b/docs/components/modules/ROOT/pages/vertx-component.adoc
index ad69e94..77df80c 100644
--- a/docs/components/modules/ROOT/pages/vertx-component.adoc
+++ b/docs/components/modules/ROOT/pages/vertx-component.adoc
@@ -1,5 +1,6 @@
 [[vertx-component]]
 = Vert.x Component
+:page-source: components/camel-vertx/src/main/docs/vertx-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/weather-component.adoc b/docs/components/modules/ROOT/pages/weather-component.adoc
index 964e679..b4dc298 100644
--- a/docs/components/modules/ROOT/pages/weather-component.adoc
+++ b/docs/components/modules/ROOT/pages/weather-component.adoc
@@ -1,5 +1,6 @@
 [[weather-component]]
 = Weather Component
+:page-source: components/camel-weather/src/main/docs/weather-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/web3j-component.adoc b/docs/components/modules/ROOT/pages/web3j-component.adoc
index c5a475a..a1de073 100644
--- a/docs/components/modules/ROOT/pages/web3j-component.adoc
+++ b/docs/components/modules/ROOT/pages/web3j-component.adoc
@@ -1,5 +1,6 @@
 [[web3j-component]]
 = Web3j Ethereum Blockchain Component
+:page-source: components/camel-web3j/src/main/docs/web3j-component.adoc
 
 *Available as of Camel version 2.22*
 
diff --git a/docs/components/modules/ROOT/pages/websocket-component.adoc b/docs/components/modules/ROOT/pages/websocket-component.adoc
index 2537b91..b6f5689 100644
--- a/docs/components/modules/ROOT/pages/websocket-component.adoc
+++ b/docs/components/modules/ROOT/pages/websocket-component.adoc
@@ -1,5 +1,6 @@
 [[websocket-component]]
 = Jetty Websocket Component
+:page-source: components/camel-websocket/src/main/docs/websocket-component.adoc
 
 *Available as of Camel version 2.10*
 
diff --git a/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc b/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc
index 8e943d4..eb7a4fa 100644
--- a/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc
+++ b/docs/components/modules/ROOT/pages/websocket-jsr356-component.adoc
@@ -1,5 +1,6 @@
 [[websocket-jsr356-component]]
 = Javax Websocket Component
+:page-source: components/camel-websocket-jsr356/src/main/docs/websocket-jsr356-component.adoc
 *Available as of Camel version 2.23*
 *Available as of Camel version 2.23*
 
diff --git a/docs/components/modules/ROOT/pages/wordpress-component.adoc b/docs/components/modules/ROOT/pages/wordpress-component.adoc
index ec52403..dccac1e 100644
--- a/docs/components/modules/ROOT/pages/wordpress-component.adoc
+++ b/docs/components/modules/ROOT/pages/wordpress-component.adoc
@@ -1,5 +1,6 @@
 [[wordpress-component]]
 = Wordpress Component
+:page-source: components/camel-wordpress/src/main/docs/wordpress-component.adoc
 
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/xchange-component.adoc b/docs/components/modules/ROOT/pages/xchange-component.adoc
index 6c89d93..6b2802d 100644
--- a/docs/components/modules/ROOT/pages/xchange-component.adoc
+++ b/docs/components/modules/ROOT/pages/xchange-component.adoc
@@ -1,5 +1,6 @@
 [[xchange-component]]
 = XChange Component
+:page-source: components/camel-xchange/src/main/docs/xchange-component.adoc
 
 *Available as of Camel version 2.21*
 
diff --git a/docs/components/modules/ROOT/pages/xmlBeans-dataformat.adoc b/docs/components/modules/ROOT/pages/xmlBeans-dataformat.adoc
index 35e166b..112cd27 100644
--- a/docs/components/modules/ROOT/pages/xmlBeans-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/xmlBeans-dataformat.adoc
@@ -1,5 +1,6 @@
 [[xmlBeans-dataformat]]
 = XML Beans DataFormat (deprecated)
+:page-source: components/camel-xmlbeans/src/main/docs/xmlBeans-dataformat.adoc
 
 *Available as of Camel version 1.2*
 
diff --git a/docs/components/modules/ROOT/pages/xmlrpc-component.adoc b/docs/components/modules/ROOT/pages/xmlrpc-component.adoc
index dd9a307..b6ee703 100644
--- a/docs/components/modules/ROOT/pages/xmlrpc-component.adoc
+++ b/docs/components/modules/ROOT/pages/xmlrpc-component.adoc
@@ -1,5 +1,6 @@
 [[xmlrpc-component]]
 = XML RPC Component (deprecated)
+:page-source: components/camel-xmlrpc/src/main/docs/xmlrpc-component.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/xmlrpc-dataformat.adoc b/docs/components/modules/ROOT/pages/xmlrpc-dataformat.adoc
index b6e3b21..6127e21 100644
--- a/docs/components/modules/ROOT/pages/xmlrpc-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/xmlrpc-dataformat.adoc
@@ -1,5 +1,6 @@
 [[xmlrpc-dataformat]]
 = XML RPC DataFormat
+:page-source: components/camel-xmlrpc/src/main/docs/xmlrpc-dataformat.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/xmlsecurity-component.adoc b/docs/components/modules/ROOT/pages/xmlsecurity-component.adoc
index 9211099..d96e07d 100644
--- a/docs/components/modules/ROOT/pages/xmlsecurity-component.adoc
+++ b/docs/components/modules/ROOT/pages/xmlsecurity-component.adoc
@@ -1,5 +1,6 @@
 [[xmlsecurity-component]]
 = XML Security Component
+:page-source: components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/xmpp-component.adoc b/docs/components/modules/ROOT/pages/xmpp-component.adoc
index a8661ad..1c78017 100644
--- a/docs/components/modules/ROOT/pages/xmpp-component.adoc
+++ b/docs/components/modules/ROOT/pages/xmpp-component.adoc
@@ -1,5 +1,6 @@
 [[xmpp-component]]
 = XMPP Component
+:page-source: components/camel-xmpp/src/main/docs/xmpp-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/xquery-component.adoc b/docs/components/modules/ROOT/pages/xquery-component.adoc
index cb20a22..e77ae92 100644
--- a/docs/components/modules/ROOT/pages/xquery-component.adoc
+++ b/docs/components/modules/ROOT/pages/xquery-component.adoc
@@ -1,5 +1,6 @@
 [[xquery-component]]
 = XQuery Component
+:page-source: components/camel-saxon/src/main/docs/xquery-component.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/xquery-language.adoc b/docs/components/modules/ROOT/pages/xquery-language.adoc
index 4f2493b..58b087f 100644
--- a/docs/components/modules/ROOT/pages/xquery-language.adoc
+++ b/docs/components/modules/ROOT/pages/xquery-language.adoc
@@ -1,5 +1,6 @@
 [[xquery-language]]
 = XQuery Language
+:page-source: components/camel-saxon/src/main/docs/xquery-language.adoc
 
 *Available as of Camel version 1.0*
 
diff --git a/docs/components/modules/ROOT/pages/xstream-dataformat.adoc b/docs/components/modules/ROOT/pages/xstream-dataformat.adoc
index 2c460bf..e13b830 100644
--- a/docs/components/modules/ROOT/pages/xstream-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/xstream-dataformat.adoc
@@ -1,5 +1,6 @@
 [[xstream-dataformat]]
 = XStream DataFormat
+:page-source: components/camel-xstream/src/main/docs/xstream-dataformat.adoc
 
 *Available as of Camel version 1.3*
 
diff --git a/docs/components/modules/ROOT/pages/yaml-snakeyaml-dataformat.adoc b/docs/components/modules/ROOT/pages/yaml-snakeyaml-dataformat.adoc
index d1dbc20..cafe03b 100644
--- a/docs/components/modules/ROOT/pages/yaml-snakeyaml-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/yaml-snakeyaml-dataformat.adoc
@@ -1,5 +1,6 @@
 [[yaml-snakeyaml-dataformat]]
 = YAML SnakeYAML DataFormat
+:page-source: components/camel-snakeyaml/src/main/docs/yaml-snakeyaml-dataformat.adoc
 
 *Available as of Camel version 2.17*
 
diff --git a/docs/components/modules/ROOT/pages/yammer-component.adoc b/docs/components/modules/ROOT/pages/yammer-component.adoc
index 6f869c3..5530068 100644
--- a/docs/components/modules/ROOT/pages/yammer-component.adoc
+++ b/docs/components/modules/ROOT/pages/yammer-component.adoc
@@ -1,5 +1,6 @@
 [[yammer-component]]
 = Yammer Component
+:page-source: components/camel-yammer/src/main/docs/yammer-component.adoc
 
 *Available as of Camel version 2.12*
 
diff --git a/docs/components/modules/ROOT/pages/zendesk-component.adoc b/docs/components/modules/ROOT/pages/zendesk-component.adoc
index 0e3e45f..37b77a6 100644
--- a/docs/components/modules/ROOT/pages/zendesk-component.adoc
+++ b/docs/components/modules/ROOT/pages/zendesk-component.adoc
@@ -1,5 +1,6 @@
 [[zendesk-component]]
 = Zendesk Component
+:page-source: components/camel-zendesk/src/main/docs/zendesk-component.adoc
 
 *Available as of Camel version 2.19*
 
diff --git a/docs/components/modules/ROOT/pages/zipfile-dataformat.adoc b/docs/components/modules/ROOT/pages/zipfile-dataformat.adoc
index d90016d..395a16e 100644
--- a/docs/components/modules/ROOT/pages/zipfile-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/zipfile-dataformat.adoc
@@ -1,5 +1,6 @@
 [[zipfile-dataformat]]
 = Zip File DataFormat
+:page-source: components/camel-zipfile/src/main/docs/zipfile-dataformat.adoc
 
 *Available as of Camel version 2.11*
 
diff --git a/docs/components/modules/ROOT/pages/zipkin.adoc b/docs/components/modules/ROOT/pages/zipkin.adoc
index 7fc6c3b..dec55ce 100644
--- a/docs/components/modules/ROOT/pages/zipkin.adoc
+++ b/docs/components/modules/ROOT/pages/zipkin.adoc
@@ -1,5 +1,6 @@
 [[Zipkin-ZipkinComponent]]
 = Zipkin Component
+:page-source: components/camel-zipkin/src/main/docs/zipkin.adoc
 
 *Available as of Camel 2.18*
 
diff --git a/docs/components/modules/ROOT/pages/zookeeper-component.adoc b/docs/components/modules/ROOT/pages/zookeeper-component.adoc
index 0bb32a7..03b12e1 100644
--- a/docs/components/modules/ROOT/pages/zookeeper-component.adoc
+++ b/docs/components/modules/ROOT/pages/zookeeper-component.adoc
@@ -1,5 +1,6 @@
 [[zookeeper-component]]
 = ZooKeeper Component
+:page-source: components/camel-zookeeper/src/main/docs/zookeeper-component.adoc
 
 *Available as of Camel version 2.9*
 
diff --git a/docs/components/modules/ROOT/pages/zookeeper-master-component.adoc b/docs/components/modules/ROOT/pages/zookeeper-master-component.adoc
index 7e6abaa..ac01f8c 100644
--- a/docs/components/modules/ROOT/pages/zookeeper-master-component.adoc
+++ b/docs/components/modules/ROOT/pages/zookeeper-master-component.adoc
@@ -1,5 +1,6 @@
 [[zookeeper-master-component]]
 = ZooKeeper Master Component
+:page-source: components/camel-zookeeper-master/src/main/docs/zookeeper-master-component.adoc
 
 *Available as of Camel version 2.19*
 


[camel] 14/16: CAMEL-13910: add `page-source` attribute

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 9353641a2f6b69f1672ee163423b34c215e38933
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Mon Sep 2 12:03:00 2019 +0200

    CAMEL-13910: add `page-source` attribute
    
    This adds the `page-source` Asciidoc page attribute to each copied
    Asciidoc document so when the "Edit this Page" link is rendered it will
    point to the source document instead of the copy.
    
    (cherry picked from commit d405ba2c9bcf1edc6e8450d06aef3972390cad9a)
    
    # Conflicts:
    #	docs/gulpfile.js
---
 docs/gulpfile.js  |  8 ++++++++
 docs/package.json |  1 +
 docs/yarn.lock    | 44 +++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 52 insertions(+), 1 deletion(-)

diff --git a/docs/gulpfile.js b/docs/gulpfile.js
index 79cb77a..960c243 100644
--- a/docs/gulpfile.js
+++ b/docs/gulpfile.js
@@ -20,6 +20,7 @@ const inject = require('gulp-inject');
 const map = require('map-stream')
 const path = require('path');
 const rename = require('gulp-rename');
+const replace = require('gulp-replace');
 const sort = require('gulp-sort');
 const through2 = require('through2');
 const File = require('vinyl')
@@ -50,6 +51,7 @@ function createComponentSymlinks() {
         // }));
         // uncomment above .pipe() and remove the .pipe() below
         // when antora#188 is resolved
+        .pipe(insertSourceAttribute())
         .pipe(dest('components/modules/ROOT/pages/'));
 }
 
@@ -92,6 +94,12 @@ function insertGeneratedNotice() {
            });
 }
 
+function insertSourceAttribute() {
+    return replace(/^= .+/m, function(match) {
+        return `${match}\n:page-source: ${path.relative('..', this.file.path)}`;
+    });
+}
+
 function createComponentNav() {
     return src('component-nav.adoc.template')
         .pipe(insertGeneratedNotice())
diff --git a/docs/package.json b/docs/package.json
index 3642774..b28be99 100644
--- a/docs/package.json
+++ b/docs/package.json
@@ -9,6 +9,7 @@
     "gulp-cli": "^2.0.1",
     "gulp-inject": "^5.0.2",
     "gulp-rename": "^1.4.0",
+    "gulp-replace": "^1.0.0",
     "gulp-sort": "^2.0.0",
     "map-stream": "^0.0.7",
     "through2": "^3.0.1"
diff --git a/docs/yarn.lock b/docs/yarn.lock
index 9946b20..529f5ed 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -350,6 +350,11 @@ binary-extensions@^1.0.0:
   resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-1.12.0.tgz#c2d780f53d45bba8317a8902d4ceeaf3a6385b14"
   integrity sha512-DYWGk01lDcxeS/K9IHPGWfT8PsJmbXRtRd2Sx72Tnb8pcYZQFF1oSDb8hJtS1vhp212q1Rzi5dUf9+nq0o9UIg==
 
+binaryextensions@2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.1.2.tgz#c83c3d74233ba7674e4f313cb2a2b70f54e94b7c"
+  integrity sha512-xVNN69YGDghOqCCtA6FI7avYrr02mTJjOgB0/f1VPD3pJC8QEvjTKWc4epDx8AqxxA75NI0QpVM2gPJXUbE4Tg==
+
 bops@~0.0.6:
   version "0.0.7"
   resolved "https://registry.yarnpkg.com/bops/-/bops-0.0.7.tgz#b4a0a5a839a406454af0fe05a8b91a7a766a54e2"
@@ -762,6 +767,11 @@ each-props@^1.3.0:
     is-plain-object "^2.0.1"
     object.defaults "^1.1.0"
 
+editions@^1.3.3:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b"
+  integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg==
+
 end-of-stream@^1.0.0, end-of-stream@^1.1.0:
   version "1.4.1"
   resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
@@ -812,7 +822,7 @@ es6-weak-map@^2.0.1:
     es6-iterator "^2.0.1"
     es6-symbol "^3.1.1"
 
-escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
+escape-string-regexp@^1.0.3, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
   integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
@@ -1229,6 +1239,15 @@ gulp-rename@^1.4.0:
   resolved "https://registry.yarnpkg.com/gulp-rename/-/gulp-rename-1.4.0.tgz#de1c718e7c4095ae861f7296ef4f3248648240bd"
   integrity sha512-swzbIGb/arEoFK89tPY58vg3Ok1bw+d35PfUNwWqdo7KM4jkmuGA78JiDNqR+JeZFaeeHnRg9N7aihX3YPmsyg==
 
+gulp-replace@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/gulp-replace/-/gulp-replace-1.0.0.tgz#b32bd61654d97b8d78430a67b3e8ce067b7c9143"
+  integrity sha512-lgdmrFSI1SdhNMXZQbrC75MOl1UjYWlOWNbNRnz+F/KHmgxt3l6XstBoAYIdadwETFyG/6i+vWUSCawdC3pqOw==
+  dependencies:
+    istextorbinary "2.2.1"
+    readable-stream "^2.0.1"
+    replacestream "^4.0.0"
+
 gulp-sort@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/gulp-sort/-/gulp-sort-2.0.0.tgz#c6762a2f1f0de0a3fc595a21599d3fac8dba1aca"
@@ -1595,6 +1614,15 @@ isomorphic-git@0.47.0:
     stream-source "^0.3.5"
     through2 "^3.0.0"
 
+istextorbinary@2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53"
+  integrity sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw==
+  dependencies:
+    binaryextensions "2"
+    editions "^1.3.3"
+    textextensions "2"
+
 js-yaml@^3.12.0:
   version "3.13.1"
   resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
@@ -2455,6 +2483,15 @@ replace-homedir@^1.0.0:
     is-absolute "^1.0.0"
     remove-trailing-separator "^1.1.0"
 
+replacestream@^4.0.0:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/replacestream/-/replacestream-4.0.3.tgz#3ee5798092be364b1cdb1484308492cb3dff2f36"
+  integrity sha512-AC0FiLS352pBBiZhd4VXB1Ab/lh0lEgpP+GGvZqbQh8a5cmXVoTe5EX/YeTFArnp4SRGTHh1qCHu9lGs1qG8sA==
+  dependencies:
+    escape-string-regexp "^1.0.3"
+    object-assign "^4.0.1"
+    readable-stream "^2.0.2"
+
 require-directory@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -2830,6 +2867,11 @@ tar@^4:
     safe-buffer "^5.1.2"
     yallist "^3.0.2"
 
+textextensions@2:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.5.0.tgz#e21d3831dafa37513dd80666dff541414e314293"
+  integrity sha512-1IkVr355eHcomgK7fgj1Xsokturx6L5S2JRT5WcRdA6v5shk9sxWuO/w/VbpQexwkXJMQIa/j1dBi3oo7+HhcA==
+
 through2-filter@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/through2-filter/-/through2-filter-2.0.0.tgz#60bc55a0dacb76085db1f9dae99ab43f83d622ec"


[camel] 02/16: Upgrade maven plugins to maven 3.x

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit d4ae077f4f99f1345395b3673ab4dfeb578ca126
Author: Guillaume Nodet <gn...@gmail.com>
AuthorDate: Thu Nov 29 22:23:08 2018 +0000

    Upgrade maven plugins to maven 3.x
    
    (cherry picked from commit 3e3790365d9a807eedabd81392e4a76a818723de)
    
    # Conflicts:
    #	tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
    #	tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
---
 tooling/maven/bom-generator-maven-plugin/pom.xml   | 18 +++--
 .../maven/bom/generator/BomGeneratorMojo.java      | 48 ++++---------
 .../maven/camel-api-component-maven-plugin/pom.xml |  8 +--
 .../pom.xml                                        |  8 ---
 tooling/maven/camel-maven-plugin/pom.xml           | 26 ++++++-
 .../java/org/apache/camel/maven/EmbeddedMojo.java  | 29 +++-----
 .../org/apache/camel/maven/RouteCoverageMojo.java  | 26 +++----
 .../main/java/org/apache/camel/maven/RunMojo.java  | 68 +++++++-----------
 .../java/org/apache/camel/maven/ValidateMojo.java  | 56 +++++----------
 tooling/maven/camel-package-maven-plugin/pom.xml   |  6 +-
 .../packaging/PackageArchetypeCatalogMojo.java     | 21 +++---
 .../maven/packaging/PackageComponentMojo.java      | 22 +++---
 .../maven/packaging/PackageDataFormatMojo.java     | 25 +++----
 .../camel/maven/packaging/PackageLanguageMojo.java | 25 +++----
 .../camel/maven/packaging/PackageModelMojo.java    | 25 +++----
 .../camel/maven/packaging/PackageOtherMojo.java    | 25 +++----
 .../maven/packaging/PrepareCatalogKarafMojo.java   | 36 ++++------
 .../camel/maven/packaging/PrepareCatalogMojo.java  | 59 ++++++----------
 .../packaging/PrepareCatalogSpringBootMojo.java    | 32 ++++-----
 .../maven/packaging/PrepareComponentMojo.java      | 31 ++++-----
 .../camel/maven/packaging/PrepareExampleMojo.java  | 17 ++---
 .../camel/maven/packaging/PrepareReadmeMojo.java   | 80 +++++++++-------------
 .../maven/packaging/PrepareUserGuideMojo.java      | 32 ++++-----
 .../packaging/SpringBootAutoConfigurationMojo.java | 24 +++----
 .../maven/packaging/SpringBootStarterMojo.java     | 47 ++++---------
 .../camel/maven/packaging/UpdateReadmeMojo.java    | 28 ++++----
 ...pdateSpringBootAutoConfigurationReadmeMojo.java | 25 +++----
 .../maven/packaging/ValidateComponentMojo.java     | 25 +++----
 tooling/maven/camel-restdsl-swagger-plugin/pom.xml |  4 --
 tooling/parent/pom.xml                             | 20 +++++-
 30 files changed, 355 insertions(+), 541 deletions(-)

diff --git a/tooling/maven/bom-generator-maven-plugin/pom.xml b/tooling/maven/bom-generator-maven-plugin/pom.xml
index c2032d2..8cac851 100644
--- a/tooling/maven/bom-generator-maven-plugin/pom.xml
+++ b/tooling/maven/bom-generator-maven-plugin/pom.xml
@@ -45,6 +45,14 @@
     <dependencies>
 
         <dependency>
+            <groupId>org.apache.maven.resolver</groupId>
+            <artifactId>maven-resolver-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.maven.resolver</groupId>
+            <artifactId>maven-resolver-util</artifactId>
+        </dependency>
+        <dependency>
             <groupId>org.apache.maven</groupId>
             <artifactId>maven-core</artifactId>
         </dependency>
@@ -57,16 +65,12 @@
             <artifactId>maven-plugin-api</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.apache.maven</groupId>
-            <artifactId>maven-plugin-descriptor</artifactId>
+            <groupId>org.apache.maven.plugin-tools</groupId>
+            <artifactId>maven-plugin-annotations</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.maven</groupId>
-            <artifactId>maven-project</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.maven.shared</groupId>
-            <artifactId>maven-dependency-tree</artifactId>
+            <artifactId>maven-compat</artifactId>
         </dependency>
         <dependency>
             <groupId>org.codehaus.plexus</groupId>
diff --git a/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java b/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
index 8599c5b..aeda649 100644
--- a/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
+++ b/tooling/maven/bom-generator-maven-plugin/src/main/java/org/apache/camel/maven/bom/generator/BomGeneratorMojo.java
@@ -43,7 +43,6 @@ import javax.xml.xpath.XPathExpression;
 import javax.xml.xpath.XPathExpressionException;
 import javax.xml.xpath.XPathFactory;
 
-
 import org.w3c.dom.Document;
 import org.w3c.dom.Element;
 import org.w3c.dom.Node;
@@ -62,90 +61,71 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 
 /**
  * Generate BOM by flattening the current project's dependency management section and applying exclusions.
- *
- * @goal generate
- * @phase validate
  */
+@Mojo(name = "generate", defaultPhase = LifecyclePhase.VALIDATE, threadSafe = true)
 public class BomGeneratorMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(defaultValue = "${project}", readonly = true)
     protected MavenProject project;
 
     /**
      * The source pom template file.
-     *
-     * @parameter default-value="${basedir}/pom.xml"
      */
+    @Parameter(defaultValue = "${basedir}/pom.xml")
     protected File sourcePom;
 
     /**
      * The pom file.
-     *
-     * @parameter default-value="${project.build.directory}/${project.name}-pom.xml"
      */
+    @Parameter(defaultValue = "${project.build.directory}/${project.name}-pom.xml")
     protected File targetPom;
 
 
     /**
      * The user configuration
-     *
-     * @parameter
-     * @readonly
      */
+    @Parameter(readonly = true)
     protected DependencySet dependencies;
 
     /**
      * The conflict checks configured by the user
-     *
-     * @parameter
-     * @readonly
      */
+    @Parameter(readonly = true)
     protected ExternalBomConflictCheckSet checkConflicts;
 
     /**
      * Used to look up Artifacts in the remote repository.
-     *
-     * @component role="org.apache.maven.artifact.factory.ArtifactFactory"
-     * @required
-     * @readonly
      */
+    @Component
     protected ArtifactFactory artifactFactory;
 
     /**
      * Used to look up Artifacts in the remote repository.
-     *
-     * @component role="org.apache.maven.artifact.resolver.ArtifactResolver"
-     * @required
-     * @readonly
      */
+    @Component
     protected ArtifactResolver artifactResolver;
 
     /**
      * List of Remote Repositories used by the resolver
-     *
-     * @parameter property="project.remoteArtifactRepositories"
-     * @readonly
-     * @required
      */
+    @Parameter(property = "project.remoteArtifactRepositories", readonly = true, required = true)
     protected List remoteRepositories;
 
     /**
      * Location of the local repository.
-     *
-     * @parameter property="localRepository"
-     * @readonly
-     * @required
      */
+    @Parameter(property = "localRepository", readonly = true, required = true)
     protected ArtifactRepository localRepository;
 
     @Override
diff --git a/tooling/maven/camel-api-component-maven-plugin/pom.xml b/tooling/maven/camel-api-component-maven-plugin/pom.xml
index 5746240..2f3ec7c 100644
--- a/tooling/maven/camel-api-component-maven-plugin/pom.xml
+++ b/tooling/maven/camel-api-component-maven-plugin/pom.xml
@@ -72,12 +72,8 @@
       <artifactId>maven-plugin-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-descriptor</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
+      <groupId>org.apache.maven.reporting</groupId>
+      <artifactId>maven-reporting-api</artifactId>
     </dependency>
     <dependency>
       <groupId>org.codehaus.plexus</groupId>
diff --git a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
index ca8a287..9aa947e 100644
--- a/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
+++ b/tooling/maven/camel-eip-documentation-enricher-maven-plugin/pom.xml
@@ -58,14 +58,6 @@
       <artifactId>maven-plugin-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-descriptor</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
-    </dependency>
-    <dependency>
       <groupId>org.codehaus.plexus</groupId>
       <artifactId>plexus-container-default</artifactId>
     </dependency>
diff --git a/tooling/maven/camel-maven-plugin/pom.xml b/tooling/maven/camel-maven-plugin/pom.xml
index d372520..d90ba0e 100644
--- a/tooling/maven/camel-maven-plugin/pom.xml
+++ b/tooling/maven/camel-maven-plugin/pom.xml
@@ -31,8 +31,24 @@
   <name>Camel :: Maven Plugins :: Camel Maven Run</name>
   <description>Maven plugin to run Camel standalone</description>
 
+  <dependencyManagement>
+    <dependencies>
+      <dependency>
+        <groupId>org.apache.camel</groupId>
+        <artifactId>tooling-parent</artifactId>
+        <version>${project.version}</version>
+        <type>pom</type>
+        <scope>import</scope>
+      </dependency>
+    </dependencies>
+  </dependencyManagement>
+
   <dependencies>
 
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-core</artifactId>
+    </dependency>
     <!-- we extend the exec-maven-plugin for this camel maven plugin -->
     <dependency>
       <groupId>org.codehaus.mojo</groupId>
@@ -44,11 +60,17 @@
         </exclusion>
       </exclusions>
     </dependency>
-    <!-- As Camel requires Maven 3.x we can depend on an updated version of the plugin API -->
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>3.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven</groupId>
+      <artifactId>maven-compat</artifactId>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
     </dependency>
 
     <dependency>
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
index 3d775e1..eadd797 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/EmbeddedMojo.java
@@ -27,6 +27,10 @@ import java.util.Arrays;
 import java.util.List;
 
 import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 
 /**
@@ -34,53 +38,40 @@ import org.codehaus.mojo.exec.AbstractExecMojo;
  * <code>META-INF/spring/*.xml</code> and <code>camel-*.xml</code>
  * and starting up the context; then generating
  * the DOT file before closing the context down.
- *
- * @goal embedded
- * @requiresDependencyResolution compile+runtime
- * @execute phase="prepare-package"
  */
+@Mojo(name = "embedded", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public class EmbeddedMojo extends AbstractExecMojo {
 
     /**
      * The duration to run the application for which by default is in milliseconds.
      * A value <= 0 will run forever. 
      * Adding a s indicates seconds - eg "5s" means 5 seconds.
-     *
-     * @parameter property="camel.duration"
-     *            default-value="-1"
      */
+    @Parameter(property = "camel.duration", defaultValue = "-1")
     protected String duration;
     
     /**
      * The classpath based application context uri that spring wants to get.
-     *
-     * @parameter property="camel.applicationContextUri"
      */
+    @Parameter(property = "camel.applicationContextUri")
     protected String applicationContextUri;
     
     /**
      * The filesystem based application context uri that spring wants to get.
-     *
-     * @parameter property="camel.fileApplicationContextUri"
      */
+    @Parameter(property = "camel.fileApplicationContextUri")
     protected String fileApplicationContextUri;
 
     /**
      * Project classpath.
-     *
-     * @parameter property="project.testClasspathElements"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project.testClasspathElements", required = true, readonly = true)
     private List<?> classpathElements;
 
     /**
      * The main class to execute.
-     *
-     * @parameter property="camel.mainClass"
-     *            default-value="org.apache.camel.spring.Main"
-     * @required
      */
+    @Parameter(property = "camel.mainClass", defaultValue = "org.apache.camel.spring.Main", required = true)
     private String mainClass;
 
     /**
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
index c2a0850..5123a8b 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RouteCoverageMojo.java
@@ -56,6 +56,8 @@ import org.apache.camel.util.FileUtil;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 import org.jboss.forge.roaster.Roaster;
@@ -64,19 +66,14 @@ import org.jboss.forge.roaster.model.source.JavaClassSource;
 
 /**
  * Performs route coverage reports after running Camel unit tests with camel-test modules
- *
- * @goal route-coverage
- * @threadSafe
  */
+@Mojo(name = "route-coverage", threadSafe = true)
 public class RouteCoverageMojo extends AbstractExecMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
@@ -88,6 +85,7 @@ public class RouteCoverageMojo extends AbstractExecMojo {
      * @parameter property="camel.failOnError"
      *            default-value="false"
      */
+    @Parameter(property = "camel.failOnError", defaultValue = "false")
     private boolean failOnError;
 
     /**
@@ -108,26 +106,22 @@ public class RouteCoverageMojo extends AbstractExecMojo {
     
     /**
      * Whether to include test source code
-     *
-     * @parameter property="camel.includeTest"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.includeTest", defaultValue = "false")
     private boolean includeTest;
 
     /**
      * To filter the names of java and xml files to only include files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.includes"
      */
+    @Parameter(property = "camel.includes")
     private String includes;
 
     /**
      * To filter the names of java and xml files to exclude files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.excludes"
      */
+    @Parameter(property = "camel.excludes")
     private String excludes;
 
     /**
@@ -135,10 +129,8 @@ public class RouteCoverageMojo extends AbstractExecMojo {
      * By using route id's then its safer to match the route cover data with the route source code.
      * Anonymous routes are less safe to use for route coverage as its harder to know
      * exactly which route that was tested corresponds to which of the routes from the source code.
-     *
-     * @parameter property="camel.anonymousRoutes"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.anonymousRoutes", defaultValue = "false")
     private boolean anonymousRoutes;
 
     // CHECKSTYLE:OFF
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
index 164a8ff..08bcf4f 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/RunMojo.java
@@ -37,6 +37,7 @@ import org.apache.maven.artifact.Artifact;
 import org.apache.maven.artifact.factory.ArtifactFactory;
 import org.apache.maven.artifact.metadata.ArtifactMetadataSource;
 import org.apache.maven.artifact.repository.ArtifactRepository;
+import org.apache.maven.artifact.resolver.ArtifactResolutionRequest;
 import org.apache.maven.artifact.resolver.ArtifactResolutionResult;
 import org.apache.maven.artifact.resolver.ArtifactResolver;
 import org.apache.maven.artifact.resolver.filter.ArtifactFilter;
@@ -50,22 +51,25 @@ import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.descriptor.PluginDescriptor;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.LifecyclePhase;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.artifact.MavenMetadataSource;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 import org.codehaus.mojo.exec.ExecutableDependency;
 import org.codehaus.mojo.exec.Property;
+import org.eclipse.aether.RepositorySystem;
 
 /**
  * Runs a CamelContext using any Spring or Blueprint XML configuration files found in
  * <code>META-INF/spring/*.xml</code>, and <code>OSGI-INF/blueprint/*.xml</code>,
  * and <code>camel-*.xml</code> and starting up the context.
- *
- * @goal run
- * @requiresDependencyResolution compile+runtime
- * @execute phase="prepare-package"
  */
+@Mojo(name = "run", defaultPhase = LifecyclePhase.PREPARE_PACKAGE, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public class RunMojo extends AbstractExecMojo {
 
     // this code is based on a copy-and-paste of maven-exec-plugin
@@ -81,87 +85,63 @@ public class RunMojo extends AbstractExecMojo {
      * @required
      * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Sets the time duration (seconds) that the application will run for before terminating.
      * A value <= 0 will run forever.
-     *
-     * @parameter property="camel.duration"
-     *            default-value="-1"
-     *
      */
+    @Parameter(property = "camel.duration", defaultValue = "-1")
     protected String duration;
 
     /**
      * Sets the idle time duration (seconds) duration that the application can be idle before terminating.
      * A value <= 0 will run forever.
-     *
-     * @parameter property="camel.durationIdle"
-     *            default-value="-1"
-     *
      */
+    @Parameter(property = "camel.durationIdle", defaultValue = "-1")
     protected String durationIdle;
 
     /**
      * Sets the duration of maximum number of messages that the application will process before terminating.
-     *
-     * @parameter property="camel.duration.maxMessages"
-     *            default-value="-1"
-     *
      */
+    @Parameter(property = "camel.duration.maxMessages", defaultValue = "-1")
     protected String durationMaxMessages;
 
     /**
      * Whether to log the classpath when starting
-     *
-     * @parameter property="camel.logClasspath"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.logClasspath", defaultValue = "false")
     protected boolean logClasspath;
 
     /**
      * Whether to use Blueprint when running, instead of Spring
-     *
-     * @parameter property="camel.useBlueprint"
      */
+    @Parameter(property = "camel.useBlueprint")
     protected Boolean useBlueprint;
 
     /**
      * Whether to use CDI when running, instead of Spring
-     *
-     * @parameter property="camel.useCDI"
      */
+    @Parameter(property = "camel.useCDI")
     protected Boolean useCDI;
     
     protected String extendedPluginDependencyArtifactId;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactResolver artifactResolver;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactFactory artifactFactory;
 
-    /**
-     * @component
-     */
+    @Component
     private ArtifactMetadataSource metadataSource;
 
-    /**
-     * @parameter property="localRepository"
-     * @required
-     * @readonly
-     */
+    @Parameter(property = "localRepository")
     private ArtifactRepository localRepository;
 
-    /**
-     * @parameter property="project.remoteArtifactRepositories"
-     */
-    private List<?> remoteRepositories;
+    @Parameter(property = "project.remoteArtifactRepositories")
+    private List remoteRepositories;
 
     /**
      * @component
@@ -1059,12 +1039,12 @@ public class RunMojo extends AbstractExecMojo {
                                                                                      this.localRepository);
 
             // get all of the dependencies for the executable project
-            List<Artifact> dependencies = CastUtils.cast(executableProject.getDependencies());
+            List<Dependency> dependencies = executableProject.getDependencies();
 
             // make Artifacts of all the dependencies
             Set<Artifact> dependencyArtifacts 
-                = CastUtils.cast(MavenMetadataSource.createArtifacts(this.artifactFactory, dependencies,
-                                                                          null, null, null));
+                = MavenMetadataSource.createArtifacts(this.artifactFactory, dependencies,
+                                                                          null, null, null);
 
             // not forgetting the Artifact of the project itself
             dependencyArtifacts.add(executableProject.getArtifact());
diff --git a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
index 96081d5..9449f8d 100644
--- a/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
+++ b/tooling/maven/camel-maven-plugin/src/main/java/org/apache/camel/maven/ValidateMojo.java
@@ -42,6 +42,8 @@ import org.apache.maven.model.Dependency;
 import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.codehaus.mojo.exec.AbstractExecMojo;
 import org.jboss.forge.roaster.Roaster;
@@ -50,99 +52,84 @@ import org.jboss.forge.roaster.model.source.JavaClassSource;
 
 /**
  * Parses the source code and validates the Camel routes has valid endpoint uris and simple expressions.
- *
- * @goal validate
- * @threadSafe
  */
+@Mojo(name = "validate", threadSafe = true)
 public class ValidateMojo extends AbstractExecMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Whether to fail if invalid Camel endpoints was found. By default the plugin logs the errors at WARN level
      *
-     * @parameter property="camel.failOnError"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.failOnError", defaultValue = "false")
     private boolean failOnError;
 
     /**
      * Whether to log endpoint URIs which was un-parsable and therefore not possible to validate
      *
-     * @parameter property="camel.logUnparseable"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.logUnparseable", defaultValue = "false")
     private boolean logUnparseable;
 
     /**
      * Whether to include Java files to be validated for invalid Camel endpoints
      *
-     * @parameter property="camel.includeJava"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.includeJava", defaultValue = "true")
     private boolean includeJava;
 
     /**
      * Whether to include XML files to be validated for invalid Camel endpoints
      *
-     * @parameter property="camel.includeXml"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.includeXml", defaultValue = "true")
     private boolean includeXml;
 
     /**
      * Whether to include test source code
      *
-     * @parameter property="camel.includeTest"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.includeTest", defaultValue = "false")
     private boolean includeTest;
 
     /**
      * To filter the names of java and xml files to only include files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.includes"
      */
+    @Parameter(property = "camel.includes")
     private String includes;
 
     /**
      * To filter the names of java and xml files to exclude files matching any of the given list of patterns (wildcard and regular expression).
      * Multiple values can be separated by comma.
-     *
-     * @parameter property="camel.excludes"
      */
+    @Parameter(property = "camel.excludes")
     private String excludes;
 
     /**
      * Whether to ignore unknown components
      *
-     * @parameter property="camel.ignoreUnknownComponent"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreUnknownComponent", defaultValue = "true")
     private boolean ignoreUnknownComponent;
 
     /**
      * Whether to ignore incapable of parsing the endpoint uri
      *
-     * @parameter property="camel.ignoreIncapable"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreIncapable", defaultValue = "true")
     private boolean ignoreIncapable;
 
     /**
      * Whether to ignore deprecated options being used in the endpoint uri
      *
-     * @parameter property="camel.ignoreDeprecated"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreDeprecated", defaultValue = "true")
     private boolean ignoreDeprecated;
 
     /**
@@ -150,43 +137,38 @@ public class ValidateMojo extends AbstractExecMojo {
      * but would fail on properties that are not part of the component but in the uri because of using lenient properties.
      * For example using the HTTP components to provide query parameters in the endpoint uri.
      *
-     * @parameter property="camel.ignoreLenientProperties"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.ignoreLenientProperties", defaultValue = "true")
     private boolean ignoreLenientProperties;
 
     /**
      * Whether to show all endpoints and simple expressions (both invalid and valid).
      *
-     * @parameter property="camel.showAll"
-     *            default-value="false"
      */
+    @Parameter(property = "camel.showAll", defaultValue = "false")
     private boolean showAll;
 
     /**
      * Whether to allow downloading Camel catalog version from the internet. This is needed if the project
      * uses a different Camel version than this plugin is using by default.
      *
-     * @parameter property="camel.downloadVersion"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.downloadVersion", defaultValue = "true")
     private boolean downloadVersion;
 
     /**
      * Whether to validate for duplicate route ids. Route ids should be unique and if there are duplicates
      * then Camel will fail to startup.
      *
-     * @parameter property="camel.duplicateRouteId"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.duplicateRouteId", defaultValue = "true")
     private boolean duplicateRouteId;
 
     /**
      * Whether to validate direct/seda endpoints sending to non existing consumers.
      *
-     * @parameter property="camel.directOrSedaPairCheck"
-     *            default-value="true"
      */
+    @Parameter(property = "camel.directOrSedaPairCheck", defaultValue = "true")
     private boolean directOrSedaPairCheck;
 
     // CHECKSTYLE:OFF
diff --git a/tooling/maven/camel-package-maven-plugin/pom.xml b/tooling/maven/camel-package-maven-plugin/pom.xml
index bd78ca6..a68a52f 100644
--- a/tooling/maven/camel-package-maven-plugin/pom.xml
+++ b/tooling/maven/camel-package-maven-plugin/pom.xml
@@ -71,12 +71,12 @@
       <artifactId>maven-plugin-api</artifactId>
     </dependency>
     <dependency>
-      <groupId>org.apache.maven</groupId>
-      <artifactId>maven-plugin-descriptor</artifactId>
+      <groupId>org.apache.maven.plugin-tools</groupId>
+      <artifactId>maven-plugin-annotations</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
-      <artifactId>maven-project</artifactId>
+      <artifactId>maven-compat</artifactId>
     </dependency>
     <dependency>
       <groupId>org.apache.maven.shared</groupId>
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
index ad9aa96..a937146 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageArchetypeCatalogMojo.java
@@ -28,6 +28,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -35,40 +38,32 @@ import static org.apache.camel.maven.packaging.StringHelper.between;
 
 /**
  * Creates the Maven catalog for the Camel archetypes
- *
- * @goal generate-and-attach-archetype-catalog
  */
+@Mojo(name = "generate-and-attach-archetype-catalog", threadSafe = true)
 public class PackageArchetypeCatalogMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
-     *
-     * @parameter default-value="${project.build.directory}/classes/"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/")
     protected File outDir;
 
     /**
      * The build directory
-     *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File projectBuildDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
index e249685..7cda938 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageComponentMojo.java
@@ -29,48 +29,42 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-components-list
  */
+@Mojo(name = "generate-components-list", threadSafe = true)
 public class PackageComponentMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/components")
     protected File componentOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
index 04280fa..2437834 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageDataFormatMojo.java
@@ -36,6 +36,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -46,49 +49,39 @@ import static org.apache.camel.maven.packaging.PackageHelper.parseAsMap;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-dataformats-list
  */
+@Mojo(name = "generate-dataformats-list", threadSafe = true)
 public class PackageDataFormatMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated dataformats file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/dataformats")
     protected File dataFormatOutDir;
 
     /**
      * The output directory for generated dataformats file
-     *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
index f10306d..031d464 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageLanguageMojo.java
@@ -36,6 +36,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -46,49 +49,39 @@ import static org.apache.camel.maven.packaging.PackageHelper.parseAsMap;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-languages-list
  */
+@Mojo(name = "generate-languages-list", threadSafe = true)
 public class PackageLanguageMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated languages file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/languages")
     protected File languageOutDir;
 
     /**
      * The output directory for generated languages file
-     *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
index 7194470..f2d40a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageModelMojo.java
@@ -32,55 +32,48 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
 /**
  * Analyses the Camel EIPs in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-eips-list
  */
+@Mojo(name = "generate-eips-list", threadSafe = true)
 public class PackageModelMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The camel-core directory
-     *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDir;
 
     /**
      * The output directory for generated models file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/models"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/models")
     protected File outDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
index 9e76369..704e013 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PackageOtherMojo.java
@@ -29,6 +29,9 @@ import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
 import org.apache.maven.plugin.logging.Log;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -37,49 +40,39 @@ import static org.apache.camel.maven.packaging.StringHelper.camelDashToTitle;
 
 /**
  * Analyses the Camel plugins in a project and generates extra descriptor information for easier auto-discovery in Camel.
- *
- * @goal generate-others-list
  */
+@Mojo(name = "generate-others-list", threadSafe = true)
 public class PackageOtherMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
-     *
-     * @parameter default-value="${project.build.directory}/generated/camel/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/others")
     protected File otherOutDir;
 
     /**
      * The output directory for generated languages file
-     *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
index f2abc7b..e9e1e05 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogKarafMojo.java
@@ -41,6 +41,9 @@ import static org.w3c.dom.Node.ELEMENT_NODE;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -48,77 +51,64 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 
 /**
  * Prepares the Karaf provider camel catalog to include component it supports
- *
- * @goal prepare-catalog-karaf
  */
+@Mojo(name = "prepare-catalog-karaf", threadSafe = true)
 public class PrepareCatalogKarafMojo extends AbstractMojo {
 
     public static final int BUFFER_SIZE = 128 * 1024;
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/components")
     protected File componentsOutDir;
 
     /**
      * The output directory for dataformats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/dataformats")
     protected File dataFormatsOutDir;
 
     /**
      * The output directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/languages")
     protected File languagesOutDir;
 
     /**
      * The output directory for others catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/karaf/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/karaf/others")
     protected File othersOutDir;
 
     /**
      * The karaf features directory
-     *
-     * @parameter default-value="${project.build.directory}/../../../platforms/karaf/features/src/main/resources/"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../platforms/karaf/features/src/main/resources/")
     protected File featuresDir;
 
     /**
      * The components directory where all the Apache Camel components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components")
     protected File componentsDir;
 
     /**
      * The camel-core directory where camel-core components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
     protected File coreDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index d0f3964..8481e8e 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -38,6 +38,9 @@ import org.apache.commons.io.FileUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.asciidoctor.Asciidoctor;
@@ -48,9 +51,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 /**
  * Prepares the camel catalog to include component, data format, and eip descriptors,
  * and generates a report.
- *
- * @goal prepare-catalog
  */
+@Mojo(name = "prepare-catalog", threadSafe = true)
 public class PrepareCatalogMojo extends AbstractMojo {
 
     public static final int BUFFER_SIZE = 128 * 1024;
@@ -66,124 +68,105 @@ public class PrepareCatalogMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Whether to validate if the components, data formats, and languages are properly documented and have all the needed details.
-     *
-     * @parameter default-value="true"
      */
+    @Parameter(defaultValue = "true")
     protected Boolean validate;
 
     /**
      * The output directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
     protected File componentsOutDir;
 
     /**
      * The output directory for dataformats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
     protected File dataFormatsOutDir;
 
     /**
      * The output directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
     protected File languagesOutDir;
 
     /**
      * The output directory for others catalog
      *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
     protected File othersOutDir;
 
     /**
      * The output directory for documents catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/docs"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/docs")
     protected File documentsOutDir;
 
     /**
      * The output directory for models catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/models"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/models")
     protected File modelsOutDir;
 
     /**
      * The output directory for archetypes catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/archetypes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/archetypes")
     protected File archetypesOutDir;
 
     /**
      * The output directory for XML schemas catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/schemas"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/schemas")
     protected File schemasOutDir;
 
     /**
      * The components directory where all the Apache Camel components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components")
     protected File componentsDir;
 
     /**
      * The camel-core directory where camel-core components are
-     *
-     * @parameter default-value="${project.build.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
     protected File coreDir;
 
     /**
      * The directory where the camel-spring XML models are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components/camel-spring"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-spring")
     protected File springDir;
 
     /**
      * The archetypes directory where all the Apache Camel Maven archetypes are
-     *
-     * @parameter default-value="${project.build.directory}/../../../archetypes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../archetypes")
     protected File archetypesDir;
 
     /**
      * The directory where the camel-spring XML schema are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components/camel-spring/target/schema"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-spring/target/schema")
     protected File springSchemaDir;
 
     /**
      * The directory where the camel-blueprint XML schema are
-     *
-     * @parameter default-value="${project.build.directory}/../../../components/camel-blueprint/target/schema"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components/camel-blueprint/target/schema")
     protected File blueprintSchemaDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
index 9bdbb73..c8638db 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogSpringBootMojo.java
@@ -33,6 +33,9 @@ import java.util.regex.Pattern;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -40,9 +43,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 
 /**
  * Prepares the Spring Boot provider camel catalog to include component it supports
- *
- * @goal prepare-catalog-springboot
  */
+@Mojo(name = "prepare-catalog-springboot", threadSafe = true)
 public class PrepareCatalogSpringBootMojo extends AbstractMojo {
 
     public static final int BUFFER_SIZE = 128 * 1024;
@@ -51,68 +53,60 @@ public class PrepareCatalogSpringBootMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/components")
     protected File componentsOutDir;
 
     /**
      * The output directory for dataformats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/dataformats")
     protected File dataFormatsOutDir;
 
     /**
      * The output directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/languages")
     protected File languagesOutDir;
 
     /**
      * The output directory for others catalog
      *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/springboot/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/springboot/others")
     protected File othersOutDir;
 
     /**
      * The directory where all spring-boot starters are
      *
-     * @parameter default-value="${project.build.directory}/../../../platforms/spring-boot/components-starter"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../platforms/spring-boot/components-starter")
     protected File componentsStarterDir;
 
     /**
      * The components directory where all the Apache Camel components are
      *
-     * @parameter default-value="${project.build.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../components")
     protected File componentsDir;
 
     /**
      * The camel-core directory where camel-core components are
      *
-     * @parameter default-value="${project.build.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.build.directory}/../../../camel-core")
     protected File coreDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
index 5b99b9a..c0454ef 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareComponentMojo.java
@@ -21,6 +21,9 @@ import java.io.File;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -39,72 +42,64 @@ import static org.apache.camel.maven.packaging.PackageOtherMojo.prepareOthers;
  *     <li>others</li>
  * </ul>
  * And for each of those generates extra descriptors and schema files for easier auto-discovery in Camel and tooling.
- *
- * @goal prepare-components
  */
+@Mojo(name = "prepare-components", threadSafe = true)
 public class PrepareComponentMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The output directory for generated components file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/components")
     protected File componentOutDir;
 
     /**
      * The output directory for generated dataformats file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/dataformats")
     protected File dataFormatOutDir;
 
     /**
      * The output directory for generated languages file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/languages")
     protected File languageOutDir;
 
     /**
      * The output directory for generated others file
      *
-     * @parameter default-value="${project.build.directory}/generated/camel/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/generated/camel/others")
     protected File otherOutDir;
 
     /**
      * The output directory for generated schema file
      *
-     * @parameter default-value="${project.build.directory}/classes"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes")
     protected File schemaOutDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     * 
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
-    
+
     /**
      * Execute goal.
      *
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
index 90143a9..077a7c7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareExampleMojo.java
@@ -23,6 +23,7 @@ import java.nio.charset.Charset;
 import java.nio.file.Paths;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -30,12 +31,14 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import edu.emory.mathcs.backport.java.util.Collections;
 import org.apache.camel.maven.packaging.model.ExampleModel;
 import org.apache.commons.io.FileUtils;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.mvel2.templates.TemplateRuntime;
@@ -45,26 +48,20 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
  * Prepares the readme.md files content up to date with all the examples that Apache Camel ships.
- *
- * @goal prepare-example
  */
+@Mojo(name = "prepare-example", threadSafe = true)
 public class PrepareExampleMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
index 441034a..358d2a5 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareReadmeMojo.java
@@ -21,6 +21,7 @@ import java.io.FileInputStream;
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.Comparator;
 import java.util.HashMap;
 import java.util.List;
@@ -28,10 +29,6 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import static java.util.stream.Collectors.toSet;
-
-import edu.emory.mathcs.backport.java.util.Collections;
-
 import org.apache.camel.maven.packaging.model.ComponentModel;
 import org.apache.camel.maven.packaging.model.DataFormatModel;
 import org.apache.camel.maven.packaging.model.EipModel;
@@ -40,91 +37,82 @@ import org.apache.camel.maven.packaging.model.OtherModel;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.mvel2.templates.TemplateRuntime;
 
+import static java.util.stream.Collectors.toSet;
 import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
  * Prepares the readme.md files content up to date with all the artifacts that Apache Camel ships.
- *
- * @goal prepare-readme
  */
+@Mojo(name = "prepare-readme", threadSafe = true)
 public class PrepareReadmeMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The directory for EIPs (model) catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/models"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/models")
     protected File eipsDir;
 
     /**
      * The directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
     protected File componentsDir;
 
     /**
      * The directory for data formats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
     protected File dataFormatsDir;
 
     /**
      * The directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
     protected File languagesDir;
 
     /**
      * The directory for others catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
     protected File othersDir;
 
     /**
      * The directory for camel-core
-     *
-     * @parameter default-value="${project.directory}/../../../camel-core"
      */
+    @Parameter(defaultValue = "${project.directory}/../../../camel-core")
     protected File readmeCoreDir;
 
     /**
      * The directory for components
-     *
-     * @parameter default-value="${project.directory}/../../../components"
      */
+    @Parameter(defaultValue = "${project.directory}/../../../components")
     protected File readmeComponentsDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * Execute goal.
      *
      * @throws MojoExecutionException execution of the main class or one of the
-     *                                                        threads it generated failed.
+     *                                threads it generated failed.
      * @throws MojoFailureException   something bad happened...
      */
     public void execute() throws MojoExecutionException, MojoFailureException {
@@ -169,8 +157,8 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many deprecated
             long deprecated = models.stream()
-                .filter(EipModel::isDeprecated)
-                .count();
+                    .filter(EipModel::isDeprecated)
+                    .count();
 
             // update the big readme file in the core dir
             File file = new File(readmeCoreDir, "readme-eip.adoc");
@@ -247,13 +235,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = components.stream()
-                .map(ComponentModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(ComponentModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = components.stream()
-                .filter(c -> "true".equals(c.getDeprecated()))
-                .count();
+                    .filter(c -> "true".equals(c.getDeprecated()))
+                    .count();
 
             // update the big readme file in the core/components dir
             File file;
@@ -304,13 +292,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = others.stream()
-                .map(OtherModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(OtherModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = others.stream()
-                .filter(o -> "true".equals(o.getDeprecated()))
-                .count();
+                    .filter(o -> "true".equals(o.getDeprecated()))
+                    .count();
 
             // update the big readme file in the components dir
             File file = new File(readmeComponentsDir, "readme.adoc");
@@ -362,13 +350,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = models.stream()
-                .map(DataFormatModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(DataFormatModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = models.stream()
-                .filter(m -> "true".equals(m.getDeprecated()))
-                .count();
+                    .filter(m -> "true".equals(m.getDeprecated()))
+                    .count();
 
             // filter out camel-core
             List<DataFormatModel> dataFormats = new ArrayList<>();
@@ -447,13 +435,13 @@ public class PrepareReadmeMojo extends AbstractMojo {
 
             // how many different artifacts
             int count = languages.stream()
-                .map(LanguageModel::getArtifactId)
-                .collect(toSet()).size();
+                    .map(LanguageModel::getArtifactId)
+                    .collect(toSet()).size();
 
             // how many deprecated
             long deprecated = languages.stream()
-                .filter(l -> "true".equals(l.getDeprecated()))
-                .count();
+                    .filter(l -> "true".equals(l.getDeprecated()))
+                    .count();
 
             // update the big readme file in the core/components dir
             File file;
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
index 942cdd9..feee645 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareUserGuideMojo.java
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 
-import edu.emory.mathcs.backport.java.util.Collections;
+import java.util.Collections;
 import org.apache.camel.maven.packaging.model.ComponentModel;
 import org.apache.camel.maven.packaging.model.DataFormatModel;
 import org.apache.camel.maven.packaging.model.LanguageModel;
@@ -35,6 +35,9 @@ import org.apache.camel.maven.packaging.model.OtherModel;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 
@@ -43,61 +46,50 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 
 /**
  * Prepares the user guide to keep the table of content up to date with the components, data formats, and languages.
- *
- * @goal prepare-user-guide
  */
+@Mojo(name = "prepare-user-guide", threadSafe = true)
 public class PrepareUserGuideMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The directory for components catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/components"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/components")
     protected File componentsDir;
 
     /**
      * The directory for data formats catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/dataformats"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/dataformats")
     protected File dataFormatsDir;
 
     /**
      * The directory for languages catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/languages"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/languages")
     protected File languagesDir;
 
     /**
      * The directory for others catalog
-     *
-     * @parameter default-value="${project.build.directory}/classes/org/apache/camel/catalog/others"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/org/apache/camel/catalog/others")
     protected File othersDir;
 
     /**
      * The directory for the user guide
-     *
-     * @parameter default-value="${project.directory}/../../../docs/user-manual/en"
      */
+    @Parameter(defaultValue = "${project.directory}/../../../docs/user-manual/en")
     protected File userGuideDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
index 0009031..de98f36 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootAutoConfigurationMojo.java
@@ -59,6 +59,9 @@ import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
+import org.apache.maven.plugins.annotations.ResolutionScope;
 import org.apache.maven.project.MavenProject;
 import org.jboss.forge.roaster.Roaster;
 import org.jboss.forge.roaster.model.JavaType;
@@ -97,10 +100,8 @@ import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 
 /**
  * Generate Spring Boot auto configuration files for Camel components and data formats.
- *
- * @goal prepare-spring-boot-auto-configuration
- * @requiresDependencyResolution compile+runtime
  */
+@Mojo(name = "prepare-spring-boot-auto-configuration", threadSafe = true, requiresDependencyResolution = ResolutionScope.COMPILE_PLUS_RUNTIME)
 public class SpringBootAutoConfigurationMojo extends AbstractMojo {
 
     /**
@@ -149,32 +150,29 @@ public class SpringBootAutoConfigurationMojo extends AbstractMojo {
     /**
      * The output directory for generated component schema file
      *
-     * @parameter default-value="${project.build.directory}/classes"
      */
-    protected File classesDir;
+     @Parameter(defaultValue="${project.build.directory}/classes")
+     protected File classesDir;
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The project build directory
      *
-     * @parameter default-value="${project.build.directory}"
      */
-    protected File buildDir;
+     @Parameter(defaultValue="${project.build.directory}")
+     protected File buildDir;
 
     /**
      * The base directory
      *
-     * @parameter default-value="${basedir}"
      */
-    protected File baseDir;
+     @Parameter(defaultValue="${basedir}")
+     protected File baseDir;
 
     @Override
     public void execute() throws MojoExecutionException, MojoFailureException {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
index 5f74954..e5bbc88 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpringBootStarterMojo.java
@@ -69,6 +69,9 @@ import org.apache.maven.artifact.resolver.filter.ScopeArtifactFilter;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.shared.dependency.tree.DependencyNode;
 import org.apache.maven.shared.dependency.tree.DependencyTreeBuilder;
@@ -77,9 +80,8 @@ import org.apache.maven.shared.dependency.tree.traversal.CollectingDependencyNod
 
 /**
  * Generate Spring Boot starter for the component
- *
- * @goal prepare-spring-boot-starter
  */
+@Mojo(name = "prepare-spring-boot-starter", threadSafe = true)
 public class SpringBootStarterMojo extends AbstractMojo {
 
     private static final String[] IGNORE_MODULES = {
@@ -98,60 +100,35 @@ public class SpringBootStarterMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Allows using the existing pom.xml file if present.
-     *
-     * @parameter property="reuseExistingPom" default-value="true"
      */
+    @Parameter(property = "reuseExistingPom", defaultValue = "true")
     protected boolean reuseExistingPom;
 
     /**
      * The project directory
-     *
-     * @parameter default-value="${basedir}"
      */
+    @Parameter(defaultValue = "${basedir}")
     protected File baseDir;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected ArtifactFactory artifactFactory;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected ArtifactMetadataSource artifactMetadataSource;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected ArtifactCollector artifactCollector;
 
-    /**
-     * @component
-     * @required
-     * @readonly
-     */
+    @Component
     protected DependencyTreeBuilder treeBuilder;
 
-    /**
-     * @parameter default-value="${localRepository}"
-     * @readonly
-     * @required
-     */
+    @Parameter(defaultValue = "${localRepository}", readonly = true, required = true)
     protected ArtifactRepository localRepository;
 
     @Override
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
index 7d09144..94f90db 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateReadmeMojo.java
@@ -41,66 +41,63 @@ import org.apache.maven.model.Resource;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.mvel2.templates.TemplateRuntime;
 import org.sonatype.plexus.build.incremental.BuildContext;
 
-import static org.apache.camel.maven.packaging.JSonSchemaHelper.*;
+import static org.apache.camel.maven.packaging.JSonSchemaHelper.getSafeValue;
+import static org.apache.camel.maven.packaging.JSonSchemaHelper.parseJsonSchema;
 import static org.apache.camel.maven.packaging.PackageHelper.loadText;
 import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 import static org.apache.camel.maven.packaging.StringHelper.isEmpty;
 
 /**
  * Generate or updates the component/dataformat/language/eip readme.md and .adoc files in the project root directory.
- *
- * @goal update-readme
  */
+@Mojo(name = "update-readme", threadSafe = true)
 public class UpdateReadmeMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The project build directory
      *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDir;
 
     /**
      * The documentation directory
      *
-     * @parameter default-value="${basedir}/src/main/docs"
      */
+    @Parameter(defaultValue = "${basedir}/src/main/docs")
     protected File docDir;
 
     /**
      * The documentation directory
      *
-     * @parameter default-value="${basedir}/src/main/docs/eips"
      */
+    @Parameter(defaultValue = "${basedir}/src/main/docs/eips")
     protected File eipDocDir;
 
     /**
      * Whether to fail the build fast if any Warnings was detected.
-     *
-     * @parameter
      */
+    @Parameter
     protected Boolean failFast;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     @Override
@@ -1218,6 +1215,7 @@ public class UpdateReadmeMojo extends AbstractMojo {
         }
         return dataFormatNames;
     }
+
     private List<String> findLanguageNames() {
         List<String> languageNames = new ArrayList<>();
         for (Resource r : project.getBuild().getResources()) {
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
index d3089a6..490d5f8 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/UpdateSpringBootAutoConfigurationReadmeMojo.java
@@ -31,6 +31,9 @@ import org.apache.camel.maven.packaging.model.SpringBootAutoConfigureOptionModel
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.json.simple.DeserializationException;
 import org.json.simple.JsonArray;
@@ -45,55 +48,47 @@ import static org.apache.camel.maven.packaging.PackageHelper.writeText;
 /**
  * For all the Camel components that has Spring Boot starter JAR, their documentation
  * .adoc files in their component directory is updated to include spring boot auto configuration options.
- *
- * @goal update-spring-boot-auto-configuration-readme
  */
+@Mojo(name = "update-spring-boot-auto-configuration-readme", threadSafe = true)
 public class UpdateSpringBootAutoConfigurationReadmeMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * The project build directory
      *
-     * @parameter default-value="${project.build.directory}"
      */
+    @Parameter(defaultValue = "${project.build.directory}")
     protected File buildDir;
 
     /**
      * The documentation directory
      *
-     * @parameter default-value="${basedir}/../../../../components/"
      */
+    @Parameter(defaultValue = "${basedir}/../../../../components/")
     protected File componentsDir;
 
     /**
      * Whether to fail the build fast if any Warnings was detected.
-     *
-     * @parameter
      */
+    @Parameter
     protected Boolean failFast;
 
     /**
      * Whether to fail if an option has no documentation.
-     *
-     * @parameter
      */
+    @Parameter
     protected Boolean failOnMissingDescription;
 
     /**
      * build context to check changed files and mark them for refresh (used for
      * m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
 
     @Override
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
index 82f079b..17a1064 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/ValidateComponentMojo.java
@@ -26,6 +26,9 @@ import java.util.TreeSet;
 import org.apache.maven.plugin.AbstractMojo;
 import org.apache.maven.plugin.MojoExecutionException;
 import org.apache.maven.plugin.MojoFailureException;
+import org.apache.maven.plugins.annotations.Component;
+import org.apache.maven.plugins.annotations.Mojo;
+import org.apache.maven.plugins.annotations.Parameter;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectHelper;
 import org.sonatype.plexus.build.incremental.BuildContext;
@@ -43,51 +46,43 @@ import static org.apache.camel.maven.packaging.ValidateHelper.validate;
  *     <li>languages</li>
  * </ul>
  * all contains the needed meta-data such as assigned labels, documentation for each option
- *
- * @goal validate-components
  */
+@Mojo(name = "validate-components", threadSafe = true)
 public class ValidateComponentMojo extends AbstractMojo {
 
     /**
      * The maven project.
-     *
-     * @parameter property="project"
-     * @required
-     * @readonly
      */
+    @Parameter(property = "project", required = true, readonly = true)
     protected MavenProject project;
 
     /**
      * Whether to validate if the components, data formats, and languages are properly documented and have all the needed details.
      *
-     * @parameter default-value="true"
      */
+    @Parameter(defaultValue = "true")
     protected Boolean validate;
 
     /**
      * The output directory for generated components file
      *
-     * @parameter default-value="${project.build.directory}/classes/"
      */
+    @Parameter(defaultValue = "${project.build.directory}/classes/")
     protected File outDir;
 
     /**
      * Maven ProjectHelper.
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private MavenProjectHelper projectHelper;
 
     /**
      * build context to check changed files and mark them for refresh
      * (used for m2e compatibility)
-     *
-     * @component
-     * @readonly
      */
+    @Component
     private BuildContext buildContext;
-    
+
     /**
      * Execute goal.
      *
diff --git a/tooling/maven/camel-restdsl-swagger-plugin/pom.xml b/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
index 4be0c0a..30a8b6d 100644
--- a/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
+++ b/tooling/maven/camel-restdsl-swagger-plugin/pom.xml
@@ -97,12 +97,10 @@
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-core</artifactId>
-      <version>3.5.4</version>
     </dependency>
     <dependency>
       <groupId>org.apache.maven</groupId>
       <artifactId>maven-plugin-api</artifactId>
-      <version>3.5.4</version>
     </dependency>
     <dependency>
       <groupId>org.twdata.maven</groupId>
@@ -112,8 +110,6 @@
     <dependency>
       <groupId>org.apache.maven.plugin-tools</groupId>
       <artifactId>maven-plugin-annotations</artifactId>
-      <version>3.5</version>
-      <scope>provided</scope>
     </dependency>
   </dependencies>
 
diff --git a/tooling/parent/pom.xml b/tooling/parent/pom.xml
index 66785c4..ec4d991 100644
--- a/tooling/parent/pom.xml
+++ b/tooling/parent/pom.xml
@@ -33,13 +33,14 @@
 
   <properties>
 
-    <maven-version>2.2.1</maven-version>
+    <maven-version>3.1.1</maven-version>
     <maven-maven-plugin-descriptor-version>2.2.1</maven-maven-plugin-descriptor-version>
     <maven-project-version>2.2.1</maven-project-version>
     <maven-dependency-tree-version>2.2</maven-dependency-tree-version>
     <maven-plugin-annotations-version>3.5</maven-plugin-annotations-version>
-    <maven-reporting-api-version>2.2.1</maven-reporting-api-version>
+    <maven-reporting-api-version>3.0</maven-reporting-api-version>
     <maven-reporting-impl-version>2.4</maven-reporting-impl-version>
+    <maven-resolver-version>1.0.3</maven-resolver-version>
     <plexus-build-api-version>0.0.7</plexus-build-api-version>
     <plexus-container-default-version>1.6</plexus-container-default-version>
     <plexus-utils-version>3.0.22</plexus-utils-version>
@@ -77,6 +78,11 @@
         <version>${maven-version}</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.maven</groupId>
+        <artifactId>maven-compat</artifactId>
+        <version>${maven-version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.apache.maven.plugin-tools</groupId>
         <artifactId>maven-plugin-annotations</artifactId>
         <version>${maven-plugin-annotations-version}</version>
@@ -113,6 +119,16 @@
         <version>${maven-reporting-impl-version}</version>
       </dependency>
       <dependency>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-api</artifactId>
+        <version>${maven-resolver-version}</version>
+      </dependency>
+      <dependency>
+        <groupId>org.apache.maven.resolver</groupId>
+        <artifactId>maven-resolver-util</artifactId>
+        <version>${maven-resolver-version}</version>
+      </dependency>
+      <dependency>
         <groupId>org.codehaus.plexus</groupId>
         <artifactId>plexus-container-default</artifactId>
         <version>${plexus-container-default-version}</version>


[camel] 05/16: CAMEL-13588: escape $ in options

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 48db7372e3c4292a325cf5e2385984ef89c9be5c
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Wed Jul 3 13:20:40 2019 +0200

    CAMEL-13588: escape $ in options
    
    Unescaped dollar signs in assciidoc files are interpreted as attribute
    references, this adds automatic escaping of dollar signs via MVEL
    templates.
    
    (cherry picked from commit 138189d512144edb46b401309694f1435ee810b1)
    
    # Conflicts:
    #	components/camel-aws-ddb/src/main/docs/aws-ddb-component.adoc
    #	components/camel-aws-ddb/src/main/docs/aws-ddbstream-component.adoc
    #	components/camel-aws-ec2/src/main/docs/aws-ec2-component.adoc
    #	components/camel-aws-ecs/src/main/docs/aws-ecs-component.adoc
    #	components/camel-aws-eks/src/main/docs/aws-eks-component.adoc
    #	components/camel-aws-iam/src/main/docs/aws-iam-component.adoc
    #	components/camel-aws-kinesis/src/main/docs/aws-kinesis-component.adoc
    #	components/camel-aws-kinesis/src/main/docs/aws-kinesis-firehose-component.adoc
    #	components/camel-aws-kms/src/main/docs/aws-kms-component.adoc
    #	components/camel-aws-lambda/src/main/docs/aws-lambda-component.adoc
    #	components/camel-aws-mq/src/main/docs/aws-mq-component.adoc
    #	components/camel-aws-msk/src/main/docs/aws-msk-component.adoc
    #	components/camel-aws-s3/src/main/docs/aws-s3-component.adoc
    #	components/camel-aws-sdb/src/main/docs/aws-sdb-component.adoc
    #	components/camel-aws-ses/src/main/docs/aws-ses-component.adoc
    #	components/camel-aws-sns/src/main/docs/aws-sns-component.adoc
    #	components/camel-aws-sqs/src/main/docs/aws-sqs-component.adoc
    #	components/camel-aws-swf/src/main/docs/aws-swf-component.adoc
    #	components/camel-file/src/main/docs/file-component.adoc
    #	components/camel-ftp/src/main/docs/ftp-component.adoc
    #	components/camel-ftp/src/main/docs/ftps-component.adoc
    #	components/camel-ftp/src/main/docs/sftp-component.adoc
    #	components/camel-grok/src/main/docs/grok-dataformat.adoc
    #	components/camel-grpc/src/main/docs/grpc-component.adoc
    #	components/camel-hipchat/src/main/docs/hipchat-component.adoc
    #	components/camel-jsch/src/main/docs/scp-component.adoc
    #	docs/components/modules/ROOT/pages/aws-ddb-component.adoc
    #	docs/components/modules/ROOT/pages/aws-ddbstream-component.adoc
    #	docs/components/modules/ROOT/pages/aws-ec2-component.adoc
    #	docs/components/modules/ROOT/pages/aws-ecs-component.adoc
    #	docs/components/modules/ROOT/pages/aws-eks-component.adoc
    #	docs/components/modules/ROOT/pages/aws-iam-component.adoc
    #	docs/components/modules/ROOT/pages/aws-kinesis-component.adoc
    #	docs/components/modules/ROOT/pages/aws-kinesis-firehose-component.adoc
    #	docs/components/modules/ROOT/pages/aws-kms-component.adoc
    #	docs/components/modules/ROOT/pages/aws-lambda-component.adoc
    #	docs/components/modules/ROOT/pages/aws-mq-component.adoc
    #	docs/components/modules/ROOT/pages/aws-msk-component.adoc
    #	docs/components/modules/ROOT/pages/aws-s3-component.adoc
    #	docs/components/modules/ROOT/pages/aws-sdb-component.adoc
    #	docs/components/modules/ROOT/pages/aws-ses-component.adoc
    #	docs/components/modules/ROOT/pages/aws-sns-component.adoc
    #	docs/components/modules/ROOT/pages/aws-sqs-component.adoc
    #	docs/components/modules/ROOT/pages/aws-swf-component.adoc
    #	docs/components/modules/ROOT/pages/file-component.adoc
    #	docs/components/modules/ROOT/pages/ftp-component.adoc
    #	docs/components/modules/ROOT/pages/ftps-component.adoc
    #	docs/components/modules/ROOT/pages/google-bigquery-sql-component.adoc
    #	docs/components/modules/ROOT/pages/grok-dataformat.adoc
    #	docs/components/modules/ROOT/pages/grpc-component.adoc
    #	docs/components/modules/ROOT/pages/hipchat-component.adoc
    #	docs/components/modules/ROOT/pages/jsonpath-language.adoc
    #	docs/components/modules/ROOT/pages/protobuf-dataformat.adoc
    #	docs/components/modules/ROOT/pages/scp-component.adoc
    #	docs/components/modules/ROOT/pages/sftp-component.adoc
    #	tooling/maven/camel-package-maven-plugin/src/main/resources/spring-boot-auto-configure-options.mvel
---
 .../src/main/docs/google-bigquery-sql-component.adoc                  | 2 +-
 components/camel-jsonpath/src/main/docs/jsonpath-language.adoc        | 2 +-
 components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc      | 2 +-
 .../src/main/resources/component-options.mvel                         | 4 ++--
 .../src/main/resources/dataformat-options.mvel                        | 2 +-
 .../camel-package-maven-plugin/src/main/resources/eip-options.mvel    | 2 +-
 .../src/main/resources/endpoint-options.mvel                          | 4 ++--
 .../src/main/resources/language-options.mvel                          | 2 +-
 .../src/main/resources/readme-components.mvel                         | 2 +-
 .../src/main/resources/readme-dataformats.mvel                        | 2 +-
 .../camel-package-maven-plugin/src/main/resources/readme-eips.mvel    | 2 +-
 .../src/main/resources/readme-examples.mvel                           | 2 +-
 .../src/main/resources/readme-languages.mvel                          | 2 +-
 .../camel-package-maven-plugin/src/main/resources/readme-others.mvel  | 2 +-
 .../src/main/docs/camel-restdsl-swagger-plugin.adoc                   | 4 ++--
 15 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
index 44379ca..106272d 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
@@ -62,7 +62,7 @@ Examples:
 --------------------------------------------------------
 where
 
- * parameters in form ${name} are extracted from message headers and formed the translated query
+ * parameters in form \${name} are extracted from message headers and formed the translated query
  * parameters in form @name are extracted from body or message headers and sent to Google Bigquery
 
 You can externalize your SQL queries to files in the classpath or file system as shown:
diff --git a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
index 16c4277..252d875 100644
--- a/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
+++ b/components/camel-jsonpath/src/main/docs/jsonpath-language.adoc
@@ -200,7 +200,7 @@ This option is also available on the `@JsonPath` annotation.
 
 *Available as of Camel 2.18*
 
-Its now possible to inlined Simple language expressions in the JSonPath expression using the simple syntax ${xxx}.
+Its now possible to inlined Simple language expressions in the JSonPath expression using the simple syntax \${xxx}.
 An example is shown below:
 
 [source,java]
diff --git a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
index 8e8dd45..ffecade 100644
--- a/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
+++ b/components/camel-protobuf/src/main/docs/protobuf-dataformat.adoc
@@ -122,7 +122,7 @@ classes for the format we defined in our .proto file.
 If your operating system is supporting by https://www.xolstice.org/protobuf-maven-plugin[Protobuf Java code generator maven plugin],
 you can automate protobuf Java code generating by adding following configurations to your pom.xml:
 
-Insert operating system and CPU architecture detection extension inside **<build>** tag of the project pom.xml or set ${os.detected.classifier} parameter manually 
+Insert operating system and CPU architecture detection extension inside **<build>** tag of the project pom.xml or set \${os.detected.classifier} parameter manually 
 [source,xml]
 -------------------------------------------------------------------------
 <extensions>
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
index be58b7a..1faaccf 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/component-options.mvel
@@ -8,6 +8,6 @@ The @{title} component supports @{componentOptions.size()} options, which are li
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : componentOptions}| *@{row.getShortName(25)}* (@{row.shortGroup}) | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : componentOptions}| *@{row.getShortName(25)}* (@{row.shortGroup}) | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
-@end{}
\ No newline at end of file
+@end{}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
index db6bc27..c957b75 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/dataformat-options.mvel
@@ -8,6 +8,6 @@ The @{title} dataformat supports @{dataFormatOptions.size()} options, which are
 [width="100%",cols="2s,1m,1m,6",options="header"]
 |===
 | Name | Default | Java Type | Description
-@foreach{row : dataFormatOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description}
+@foreach{row : dataFormatOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel
index ee51c62..3ad7508 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/eip-options.mvel
@@ -6,6 +6,6 @@ The @{title} EIP supports @{eipOptions.size()} options which are listed below:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : eipOptions}| *@{row.getShortName(30)}* | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : eipOptions}| *@{row.getShortName(30)}* | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
index 217313f..6cec166 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/endpoint-options.mvel
@@ -14,7 +14,7 @@ The @{title} endpoint has no path parameters.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : endpointPathOptions}| *@{row.getShortName(30)}* | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : endpointPathOptions}| *@{row.getShortName(30)}* | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
 
@@ -26,6 +26,6 @@ The @{title} endpoint has no query parameters.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-@foreach{row : endpointOptions}| *@{row.getShortName(30)}* (@{row.shortGroup}) | @{row.description} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
+@foreach{row : endpointOptions}| *@{row.getShortName(30)}* (@{row.shortGroup}) | @{row.description.replaceAll("\\$", "\\\\\\$")} | @{row.getShortDefaultValue(20)} | @{row.getShortJavaType(25)}
 @end{}|===
 @end{}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel
index 4c37a62..01ea4d8 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/language-options.mvel
@@ -8,6 +8,6 @@ The @{title} language supports @{languageOptions.size()} options, which are list
 [width="100%",cols="2,1m,1m,6",options="header"]
 |===
 | Name | Default | Java Type | Description
-@foreach{row : languageOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description}
+@foreach{row : languageOptions}| @{row.name} | @{row.defaultValue} | @{row.shortJavaType} | @{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}|===
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel
index fdc08e0..765a66e2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-components.mvel
@@ -7,7 +7,7 @@ Number of Components: @{components.size} in @{numberOfArtifacts} JAR artifacts (
 | Component | Available From | Description
 @foreach{row : components}
 | link:@{row.docLink}/${row.scheme}-component.adoc[@{row.title}] (@{row.artifactId}) +
-`@{row.syntax}` | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description}
+`@{row.syntax}` | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}
 |===
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel
index fbe0987..3790e21 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-dataformats.mvel
@@ -6,7 +6,7 @@ Number of Data Formats: @{dataformats.size} in @{numberOfArtifacts} JAR artifact
 |===
 | Data Format | Available From | Description
 @foreach{row : dataformats}
-| link:@{row.docLink}/${row.name}-dataformat.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description}
+| link:@{row.docLink}/${row.name}-dataformat.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel
index 1ba3a04..0869927 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-eips.mvel
@@ -7,7 +7,7 @@ Number of EIPs: @{eips.size} (@{numberOfDeprecated} deprecated)
 | EIP | Description
 @foreach{row : eips}
 | link:@{row.docLink}/${row.name}-eip.adoc[@{row.title}] +
-`<@{row.name}>` | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description}
+`<@{row.name}>` | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}
 |===
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel
index 770e519..72a3667 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-examples.mvel
@@ -6,7 +6,7 @@ Number of Examples: @{examples.size} (@{numberOfDeprecated} deprecated)
 |===
 | Example | Category | Description
 @foreach{row : examples}
-| link:@{row.docLink}[@{row.title}] (@{row.fileName}) | @{row.category} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description}
+| link:@{row.docLink}[@{row.title}] (@{row.fileName}) | @{row.category} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel
index 3694975..120662f 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-languages.mvel
@@ -6,7 +6,7 @@ Number of Languages: @{languages.size} in @{numberOfArtifacts} JAR artifacts (@{
 |===
 | Language | Available From | Description
 @foreach{row : languages}
-| link:@{row.docLink}/${row.name}-language.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description}
+| link:@{row.docLink}/${row.name}-language.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel
index ccb02e1..7ae9c31 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel
+++ b/tooling/maven/camel-package-maven-plugin/src/main/resources/readme-others.mvel
@@ -6,7 +6,7 @@ Number of Miscellaneous Components: @{others.size} in @{numberOfArtifacts} JAR a
 |===
 | Component | Available From | Description
 @foreach{row : others}
-| link:@{row.docLink}/${row.name}.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description}
+| link:@{row.docLink}/${row.name}.adoc[@{row.title}] (@{row.artifactId}) | @{row.firstVersionShort} | @if{row.deprecated == "true"}*deprecated* @end{}@{row.description.replaceAll("\\$", "\\\\\\$")}
 @end{}|===
 
 @end{}
\ No newline at end of file
diff --git a/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc b/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
index 356c0ba..4f73c4d 100644
--- a/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
+++ b/tooling/maven/camel-restdsl-swagger-plugin/src/main/docs/camel-restdsl-swagger-plugin.adoc
@@ -110,7 +110,7 @@ The plugin supports the following *additional* options
 |========================================
 | Parameter | Default Value | Description
 | `swaggerCodegenMavenPluginVersion` | 2.3.1 | The version of the `io.swagger:swagger-codegen-maven-plugin` maven plugin to be used.
-| `modelOutput` | | Target output path (default is ${project.build.directory}/generated-sources/swagger)
+| `modelOutput` | | Target output path (default is \${project.build.directory}/generated-sources/swagger)
 | `modelPackage` | `io.swagger.client.model` | The package to use for generated model objects/classes
 | `modelNamePrefix` | | Sets the pre- or suffix for model classes and enums
 | `modelNameSuffix` | | Sets the pre- or suffix for model classes and enums
@@ -176,7 +176,7 @@ The plugin supports the following *additional* options
 |========================================
 | Parameter | Default Value | Description
 | `swaggerCodegenMavenPluginVersion` | 2.3.1 | The version of the `io.swagger:swagger-codegen-maven-plugin` maven plugin to be used.
-| `modelOutput` | | Target output path (default is ${project.build.directory}/generated-sources/swagger)
+| `modelOutput` | | Target output path (default is \${project.build.directory}/generated-sources/swagger)
 | `modelPackage` | `io.swagger.client.model` | The package to use for generated model objects/classes
 | `modelNamePrefix` | | Sets the pre- or suffix for model classes and enums
 | `modelNameSuffix` | | Sets the pre- or suffix for model classes and enums


[camel] 11/16: CAMEL-13932: Regen

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0a281a92978fb14e8a5444ab3c3db87e2b6a3d06
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Tue Sep 3 14:01:34 2019 +0200

    CAMEL-13932: Regen
---
 camel-core/src/main/docs/bean-component.adoc       |    8 +-
 camel-core/src/main/docs/bean-language.adoc        |    2 +-
 camel-core/src/main/docs/binding-component.adoc    |    8 +-
 camel-core/src/main/docs/browse-component.adoc     |    8 +-
 camel-core/src/main/docs/class-component.adoc      |    8 +-
 camel-core/src/main/docs/clustering.adoc           |    1 -
 camel-core/src/main/docs/constant-language.adoc    |    2 +-
 camel-core/src/main/docs/controlbus-component.adoc |    8 +-
 camel-core/src/main/docs/dataformat-component.adoc |    8 +-
 camel-core/src/main/docs/dataset-component.adoc    |    8 +-
 camel-core/src/main/docs/direct-component.adoc     |    8 +-
 camel-core/src/main/docs/direct-vm-component.adoc  |    8 +-
 camel-core/src/main/docs/eips/aggregate-eip.adoc   |    5 +-
 .../src/main/docs/eips/batch-config-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/bean-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/choice-eip.adoc      |    5 +-
 .../src/main/docs/eips/circuitBreaker-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/claimCheck-eip.adoc  |    5 +-
 .../src/main/docs/eips/convertBodyTo-eip.adoc      |    5 +-
 .../src/main/docs/eips/customLoadBalancer-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/delay-eip.adoc       |    5 +-
 .../src/main/docs/eips/dynamicRouter-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/enrich-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/failover-eip.adoc    |    5 +-
 camel-core/src/main/docs/eips/filter-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/from-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/hystrix-eip.adoc     |    5 +-
 .../main/docs/eips/hystrixConfiguration-eip.adoc   |    5 +-
 .../src/main/docs/eips/idempotentConsumer-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/inOnly-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/inOut-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/loadBalance-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/log-eip.adoc         |    5 +-
 camel-core/src/main/docs/eips/loop-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/marshal-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/multicast-eip.adoc   |    5 +-
 camel-core/src/main/docs/eips/onFallback-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/otherwise-eip.adoc   |    5 +-
 camel-core/src/main/docs/eips/pollEnrich-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/process-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/random-eip.adoc      |    5 +-
 .../src/main/docs/eips/recipientList-eip.adoc      |    5 +-
 .../src/main/docs/eips/removeHeader-eip.adoc       |    5 +-
 .../src/main/docs/eips/removeHeaders-eip.adoc      |    5 +-
 .../src/main/docs/eips/removeProperties-eip.adoc   |    5 +-
 .../src/main/docs/eips/removeProperty-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/resequence-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/rollback-eip.adoc    |    8 +-
 camel-core/src/main/docs/eips/roundRobin-eip.adoc  |    5 +-
 camel-core/src/main/docs/eips/routingSlip-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/saga-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/sample-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/script-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/serviceCall-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/setBody-eip.adoc     |    5 +-
 .../src/main/docs/eips/setFaultBody-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/setHeader-eip.adoc   |    5 +-
 .../src/main/docs/eips/setOutHeader-eip.adoc       |    3 +-
 camel-core/src/main/docs/eips/setProperty-eip.adoc |    5 +-
 camel-core/src/main/docs/eips/sort-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/split-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/sticky-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/stop-eip.adoc        |    5 +-
 .../src/main/docs/eips/stream-config-eip.adoc      |    5 +-
 camel-core/src/main/docs/eips/threads-eip.adoc     |    5 +-
 camel-core/src/main/docs/eips/throttle-eip.adoc    |    5 +-
 camel-core/src/main/docs/eips/to-eip.adoc          |    5 +-
 camel-core/src/main/docs/eips/toD-eip.adoc         |    7 +-
 camel-core/src/main/docs/eips/topic-eip.adoc       |    5 +-
 camel-core/src/main/docs/eips/transform-eip.adoc   |    5 +-
 camel-core/src/main/docs/eips/unmarshal-eip.adoc   |    6 +-
 camel-core/src/main/docs/eips/validate-eip.adoc    |    7 +-
 camel-core/src/main/docs/eips/weighted-eip.adoc    |    5 +-
 camel-core/src/main/docs/eips/when-eip.adoc        |    5 +-
 camel-core/src/main/docs/eips/wireTap-eip.adoc     |    5 +-
 .../src/main/docs/exchangeProperty-language.adoc   |    2 +-
 camel-core/src/main/docs/file-component.adoc       |   23 +-
 camel-core/src/main/docs/file-language.adoc        |    4 +-
 camel-core/src/main/docs/gzip-dataformat.adoc      |    4 +-
 camel-core/src/main/docs/header-language.adoc      |    2 +-
 camel-core/src/main/docs/health-check.adoc         |    1 -
 camel-core/src/main/docs/language-component.adoc   |    8 +-
 camel-core/src/main/docs/log-component.adoc        |    8 +-
 camel-core/src/main/docs/mock-component.adoc       |   11 +-
 camel-core/src/main/docs/properties-component.adoc |   26 +-
 camel-core/src/main/docs/ref-component.adoc        |    8 +-
 camel-core/src/main/docs/ref-language.adoc         |    2 +-
 camel-core/src/main/docs/rest-api-component.adoc   |    8 +-
 camel-core/src/main/docs/rest-component.adoc       |    8 +-
 camel-core/src/main/docs/rest-dsl.adoc             |    1 -
 camel-core/src/main/docs/saga-component.adoc       |    8 +-
 camel-core/src/main/docs/scheduler-component.adoc  |    8 +-
 camel-core/src/main/docs/seda-component.adoc       |    8 +-
 .../src/main/docs/serialization-dataformat.adoc    |    2 +-
 camel-core/src/main/docs/simple-language.adoc      |    4 +-
 camel-core/src/main/docs/string-dataformat.adoc    |    2 +-
 camel-core/src/main/docs/stub-component.adoc       |    8 +-
 camel-core/src/main/docs/test-component.adoc       |    8 +-
 camel-core/src/main/docs/timer-component.adoc      |    8 +-
 camel-core/src/main/docs/tokenize-language.adoc    |    4 +-
 camel-core/src/main/docs/validator-component.adoc  |    8 +-
 camel-core/src/main/docs/vm-component.adoc         |    8 +-
 camel-core/src/main/docs/xpath-language.adoc       |    4 +-
 camel-core/src/main/docs/xslt-component.adoc       |   13 +-
 camel-core/src/main/docs/xtokenize-language.adoc   |    2 +-
 camel-core/src/main/docs/zip-dataformat.adoc       |    4 +-
 .../src/main/docs/ahc-ws-component.adoc            |   23 +-
 .../camel-ahc/src/main/docs/ahc-component.adoc     |   21 +-
 .../camel-amqp/src/main/docs/amqp-component.adoc   |   19 +-
 .../camel-apns/src/main/docs/apns-component.adoc   |   23 +-
 .../src/main/docs/as2-component.adoc               |   24 +-
 .../camel-asn1/src/main/docs/asn1-dataformat.adoc  |   19 +-
 .../src/main/docs/asterisk-component.adoc          |   23 +-
 .../camel-atmos/src/main/docs/atmos-component.adoc |   23 +-
 .../main/docs/atmosphere-websocket-component.adoc  |   25 +-
 .../camel-atom/src/main/docs/atom-component.adoc   |   23 +-
 .../src/main/docs/atomix-map-component.adoc        |   23 +-
 .../src/main/docs/atomix-messaging-component.adoc  |   24 +-
 .../src/main/docs/atomix-multimap-component.adoc   |   24 +-
 .../src/main/docs/atomix-queue-component.adoc      |   24 +-
 .../src/main/docs/atomix-set-component.adoc        |   24 +-
 .../src/main/docs/atomix-value-component.adoc      |   24 +-
 .../camel-avro/src/main/docs/avro-component.adoc   |   23 +-
 .../camel-avro/src/main/docs/avro-dataformat.adoc  |   19 +-
 .../camel-aws/src/main/docs/aws-cw-component.adoc  |   23 +-
 .../camel-aws/src/main/docs/aws-ddb-component.adoc |   23 +-
 .../src/main/docs/aws-ddbstream-component.adoc     |   23 +-
 .../camel-aws/src/main/docs/aws-ec2-component.adoc |   23 +-
 .../camel-aws/src/main/docs/aws-iam-component.adoc |   23 +-
 .../src/main/docs/aws-kinesis-component.adoc       |   23 +-
 .../main/docs/aws-kinesis-firehose-component.adoc  |   23 +-
 .../camel-aws/src/main/docs/aws-kms-component.adoc |   23 +-
 .../src/main/docs/aws-lambda-component.adoc        |   23 +-
 .../camel-aws/src/main/docs/aws-mq-component.adoc  |   23 +-
 .../camel-aws/src/main/docs/aws-s3-component.adoc  |   23 +-
 .../camel-aws/src/main/docs/aws-sdb-component.adoc |   23 +-
 .../camel-aws/src/main/docs/aws-ses-component.adoc |   23 +-
 .../camel-aws/src/main/docs/aws-sns-component.adoc |   23 +-
 .../camel-aws/src/main/docs/aws-sqs-component.adoc |   23 +-
 .../camel-aws/src/main/docs/aws-swf-component.adoc |   23 +-
 .../src/main/docs/azure-blob-component.adoc        |   23 +-
 .../src/main/docs/azure-queue-component.adoc       |   23 +-
 .../src/main/docs/barcode-dataformat.adoc          |   19 +-
 .../src/main/docs/base64-dataformat.adoc           |   19 +-
 .../src/main/docs/bean-validator-component.adoc    |   23 +-
 .../src/main/docs/beanio-dataformat.adoc           |   19 +-
 .../src/main/docs/beanstalk-component.adoc         |   19 +-
 .../src/main/docs/bindy-dataformat.adoc            |   19 +-
 .../src/main/docs/bonita-component.adoc            |   23 +-
 .../camel-boon/src/main/docs/boon-dataformat.adoc  |   18 +-
 .../src/main/docs/box-component.adoc               |   23 +-
 .../src/main/docs/braintree-component.adoc         |   23 +-
 .../camel-cache/src/main/docs/cache-component.adoc |   25 +-
 .../src/main/docs/caffeine-cache-component.adoc    |   23 +-
 .../main/docs/caffeine-loadcache-component.adoc    |   24 +-
 .../src/main/docs/cql-component.adoc               |   25 +-
 .../src/main/docs/castor-dataformat.adoc           |   19 +-
 .../src/main/docs/chronicle-engine-component.adoc  |   21 +-
 .../camel-chunk/src/main/docs/chunk-component.adoc |   23 +-
 .../camel-cmis/src/main/docs/cmis-component.adoc   |   23 +-
 .../camel-coap/src/main/docs/coap-component.adoc   |   23 +-
 .../src/main/docs/cometd-component.adoc            |   19 +-
 .../src/main/docs/consul-component.adoc            |   29 +-
 .../src/main/docs/context-component.adoc           |   23 +-
 .../camel-corda/src/main/docs/corda-component.adoc |   23 +-
 .../src/main/docs/couchbase-component.adoc         |   24 +-
 .../src/main/docs/couchdb-component.adoc           |   23 +-
 .../src/main/docs/crypto-cms-component.adoc        |   23 +-
 .../src/main/docs/crypto-component.adoc            |   19 +-
 .../src/main/docs/crypto-dataformat.adoc           |   19 +-
 .../camel-crypto/src/main/docs/pgp-dataformat.adoc |    5 +-
 .../camel-csv/src/main/docs/csv-dataformat.adoc    |   19 +-
 .../camel-cxf/src/main/docs/cxf-component.adoc     |   23 +-
 .../camel-cxf/src/main/docs/cxfrs-component.adoc   |   23 +-
 .../src/main/docs/digitalocean-component.adoc      |   23 +-
 .../src/main/docs/disruptor-component.adoc         |   23 +-
 .../camel-dns/src/main/docs/dns-component.adoc     |   23 +-
 .../src/main/docs/docker-component.adoc            |   23 +-
 .../camel-dozer/src/main/docs/dozer-component.adoc |   23 +-
 .../camel-drill/src/main/docs/drill-component.adoc |   27 +-
 .../src/main/docs/dropbox-component.adoc           |   23 +-
 .../src/main/docs/ehcache-component.adoc           |   25 +-
 .../camel-ejb/src/main/docs/ejb-component.adoc     |    7 +-
 .../main/docs/elasticsearch-rest-component.adoc    |   19 +-
 .../src/main/docs/elasticsearch-component.adoc     |   25 +-
 .../src/main/docs/elasticsearch5-component.adoc    |   23 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |   19 +-
 .../camel-etcd/src/main/docs/etcd-component.adoc   |   24 +-
 .../src/main/docs/eventadmin-component.adoc        |    9 +-
 .../camel-exec/src/main/docs/exec-component.adoc   |   23 +-
 .../src/main/docs/facebook-component.adoc          |   23 +-
 .../src/main/docs/json-fastjson-dataformat.adoc    |   19 +-
 .../src/main/docs/fhir-component.adoc              |   23 +-
 .../src/main/docs/fhirJson-dataformat.adoc         |   20 +-
 .../src/main/docs/fhirXml-dataformat.adoc          |   20 +-
 .../src/main/docs/flatpack-component.adoc          |   23 +-
 .../src/main/docs/flatpack-dataformat.adoc         |   19 +-
 .../camel-flink/src/main/docs/flink-component.adoc |   23 +-
 .../camel-fop/src/main/docs/fop-component.adoc     |   23 +-
 .../src/main/docs/freemarker-component.adoc        |   23 +-
 .../camel-ftp/src/main/docs/ftp-component.adoc     |   39 +-
 .../camel-ftp/src/main/docs/ftps-component.adoc    |   42 +-
 .../camel-ftp/src/main/docs/sftp-component.adoc    |   27 +-
 .../src/main/docs/ganglia-component.adoc           |   23 +-
 .../src/main/docs/geocoder-component.adoc          |   23 +-
 .../camel-git/src/main/docs/git-component.adoc     |   23 +-
 .../src/main/docs/github-component.adoc            |   23 +-
 .../src/main/docs/google-bigquery-component.adoc   |   23 +-
 .../main/docs/google-bigquery-sql-component.adoc   |   22 +-
 .../src/main/docs/google-calendar-component.adoc   |   23 +-
 .../docs/google-calendar-stream-component.adoc     |   23 +-
 .../src/main/docs/google-drive-component.adoc      |   23 +-
 .../src/main/docs/google-mail-component.adoc       |   23 +-
 .../main/docs/google-mail-stream-component.adoc    |   23 +-
 .../src/main/docs/google-pubsub-component.adoc     |   23 +-
 .../src/main/docs/google-sheets-component.adoc     |   23 +-
 .../main/docs/google-sheets-stream-component.adoc  |   23 +-
 .../camel-gora/src/main/docs/gora-component.adoc   |   23 +-
 .../camel-grape/src/main/docs/grape-component.adoc |    5 +-
 .../src/main/docs/groovy-language.adoc             |   15 +-
 .../camel-grpc/src/main/docs/grpc-component.adoc   |   23 +-
 .../src/main/docs/json-gson-dataformat.adoc        |   19 +-
 .../src/main/docs/guava-eventbus-component.adoc    |   23 +-
 .../main/docs/hazelcast-atomicvalue-component.adoc |   23 +-
 .../main/docs/hazelcast-instance-component.adoc    |   23 +-
 .../src/main/docs/hazelcast-list-component.adoc    |   23 +-
 .../src/main/docs/hazelcast-map-component.adoc     |   23 +-
 .../main/docs/hazelcast-multimap-component.adoc    |   23 +-
 .../src/main/docs/hazelcast-queue-component.adoc   |   23 +-
 .../docs/hazelcast-replicatedmap-component.adoc    |   23 +-
 .../main/docs/hazelcast-ringbuffer-component.adoc  |   23 +-
 .../src/main/docs/hazelcast-seda-component.adoc    |   23 +-
 .../src/main/docs/hazelcast-set-component.adoc     |   24 +-
 .../src/main/docs/hazelcast-topic-component.adoc   |   23 +-
 .../camel-hbase/src/main/docs/hbase-component.adoc |   23 +-
 .../camel-hdfs/src/main/docs/hdfs-component.adoc   |   23 +-
 .../camel-hdfs2/src/main/docs/hdfs2-component.adoc |   23 +-
 .../src/main/docs/hessian-dataformat.adoc          |   19 +-
 .../src/main/docs/hipchat-component.adoc           |   23 +-
 .../camel-hl7/src/main/docs/hl7-dataformat.adoc    |   19 +-
 .../camel-hl7/src/main/docs/terser-language.adoc   |    4 +-
 .../camel-http/src/main/docs/http-component.adoc   |   24 +-
 .../camel-http4/src/main/docs/http4-component.adoc |   25 +-
 .../camel-hystrix/src/main/docs/hystrix.adoc       |   14 +-
 .../src/main/docs/ibatis-component.adoc            |    9 +-
 .../camel-ical/src/main/docs/ical-dataformat.adoc  |   19 +-
 .../src/main/docs/iec60870-client-component.adoc   |   23 +-
 .../src/main/docs/iec60870-server-component.adoc   |   24 +-
 .../src/main/docs/ignite-cache-component.adoc      |   23 +-
 .../src/main/docs/ignite-compute-component.adoc    |   23 +-
 .../src/main/docs/ignite-events-component.adoc     |   24 +-
 .../src/main/docs/ignite-idgen-component.adoc      |   24 +-
 .../src/main/docs/ignite-messaging-component.adoc  |   23 +-
 .../src/main/docs/ignite-queue-component.adoc      |   23 +-
 .../src/main/docs/ignite-set-component.adoc        |   23 +-
 .../src/main/docs/infinispan-component.adoc        |   25 +-
 .../src/main/docs/influxdb-component.adoc          |   23 +-
 .../camel-iota/src/main/docs/iota-component.adoc   |   23 +-
 .../camel-ipfs/src/main/docs/ipfs-component.adoc   |   21 +-
 .../camel-irc/src/main/docs/irc-component.adoc     |   19 +-
 .../src/main/docs/ironmq-component.adoc            |   21 +-
 .../src/main/docs/json-jackson-dataformat.adoc     |   17 +-
 .../src/main/docs/jacksonxml-dataformat.adoc       |   17 +-
 .../src/main/docs/javaspace-component.adoc         |   21 +-
 .../camel-jaxb/src/main/docs/jaxb-dataformat.adoc  |   17 +-
 .../camel-jbpm/src/main/docs/jbpm-component.adoc   |   21 +-
 .../src/main/docs/jcache-component.adoc            |   21 +-
 .../src/main/docs/jclouds-component.adoc           |    9 +-
 .../camel-jcr/src/main/docs/jcr-component.adoc     |   21 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |   19 +-
 .../src/main/docs/jetty-component.adoc             |   23 +-
 .../src/main/docs/jgroups-raft-component.adoc      |   23 +-
 .../src/main/docs/jgroups-component.adoc           |   19 +-
 .../camel-jibx/src/main/docs/jibx-dataformat.adoc  |   17 +-
 .../camel-jing/src/main/docs/jing-component.adoc   |   21 +-
 .../camel-jira/src/main/docs/jira-component.adoc   |   21 +-
 .../camel-jms/src/main/docs/jms-component.adoc     |   21 +-
 .../camel-jmx/src/main/docs/jmx-component.adoc     |   22 +-
 .../src/main/docs/json-johnzon-dataformat.adoc     |   17 +-
 .../camel-jolt/src/main/docs/jolt-component.adoc   |   21 +-
 .../camel-josql/src/main/docs/sql-language.adoc    |   17 +-
 .../camel-jpa/src/main/docs/jpa-component.adoc     |   21 +-
 .../camel-jsch/src/main/docs/scp-component.adoc    |   23 +-
 .../src/main/docs/json-validator-component.adoc    |   21 +-
 .../src/main/docs/jsonpath-language.adoc           |   17 +-
 .../camel-jt400/src/main/docs/jt400-component.adoc |   21 +-
 .../camel-juel/src/main/docs/el-language.adoc      |   18 +-
 .../src/main/docs/jxpath-language.adoc             |   17 +-
 .../camel-kafka/src/main/docs/kafka-component.adoc |   25 +-
 .../src/main/docs/kestrel-component.adoc           |   21 +-
 .../camel-krati/src/main/docs/krati-component.adoc |   21 +-
 .../src/main/docs/kubernetes-component.adoc        |   21 +-
 .../docs/kubernetes-config-maps-component.adoc     |   22 +-
 .../docs/kubernetes-deployments-component.adoc     |   22 +-
 .../src/main/docs/kubernetes-hpa-component.adoc    |   22 +-
 .../src/main/docs/kubernetes-job-component.adoc    |   22 +-
 .../main/docs/kubernetes-namespaces-component.adoc |   22 +-
 .../src/main/docs/kubernetes-nodes-component.adoc  |   22 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   22 +-
 .../kubernetes-persistent-volumes-component.adoc   |   22 +-
 .../src/main/docs/kubernetes-pods-component.adoc   |   22 +-
 ...bernetes-replication-controllers-component.adoc |   22 +-
 .../docs/kubernetes-resources-quota-component.adoc |   22 +-
 .../main/docs/kubernetes-secrets-component.adoc    |   22 +-
 .../kubernetes-service-accounts-component.adoc     |   22 +-
 .../main/docs/kubernetes-services-component.adoc   |   22 +-
 .../docs/openshift-build-configs-component.adoc    |    9 +-
 .../src/main/docs/openshift-builds-component.adoc  |    9 +-
 .../camel-ldap/src/main/docs/ldap-component.adoc   |   21 +-
 .../camel-ldif/src/main/docs/ldif-component.adoc   |   21 +-
 .../src/main/docs/linkedin-component.adoc          |   29 +-
 components/camel-lra/src/main/docs/lra.adoc        |   14 +-
 .../src/main/docs/lucene-component.adoc            |   21 +-
 .../src/main/docs/lumberjack-component.adoc        |   21 +-
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc    |   15 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |   19 +-
 .../src/main/docs/mime-multipart-dataformat.adoc   |    5 +-
 .../src/main/docs/master-component.adoc            |   21 +-
 .../src/main/docs/metrics-component.adoc           |   22 +-
 .../src/main/docs/micrometer-component.adoc        |   22 +-
 .../src/main/docs/milo-client-component.adoc       |   21 +-
 .../src/main/docs/milo-server-component.adoc       |   21 +-
 .../camel-mina/src/main/docs/mina-component.adoc   |    9 +-
 .../camel-mina2/src/main/docs/mina2-component.adoc |   21 +-
 .../camel-mllp/src/main/docs/mllp-component.adoc   |   25 +-
 .../src/main/docs/mongodb-gridfs-component.adoc    |   21 +-
 .../src/main/docs/mongodb-component.adoc           |   21 +-
 .../src/main/docs/mongodb3-component.adoc          |   21 +-
 .../camel-mqtt/src/main/docs/mqtt-component.adoc   |   21 +-
 .../camel-msv/src/main/docs/msv-component.adoc     |   21 +-
 .../src/main/docs/mustache-component.adoc          |   21 +-
 .../camel-mvel/src/main/docs/mvel-component.adoc   |   21 +-
 .../camel-mvel/src/main/docs/mvel-language.adoc    |   15 +-
 .../src/main/docs/mybatis-bean-component.adoc      |   22 +-
 .../src/main/docs/mybatis-component.adoc           |   19 +-
 .../src/main/docs/nagios-component.adoc            |   21 +-
 .../camel-nats/src/main/docs/nats-component.adoc   |   21 +-
 .../src/main/docs/netty-http-component.adoc        |   21 +-
 .../camel-netty/src/main/docs/netty-component.adoc |   32 +-
 .../src/main/docs/netty4-http-component.adoc       |   21 +-
 .../src/main/docs/netty4-component.adoc            |   33 +-
 .../camel-nsq/src/main/docs/nsq-component.adoc     |   21 +-
 .../camel-ognl/src/main/docs/ognl-language.adoc    |   15 +-
 .../src/main/docs/olingo2-component.adoc           |   21 +-
 .../src/main/docs/olingo4-component.adoc           |   21 +-
 .../src/main/docs/openshift-component.adoc         |   21 +-
 .../src/main/docs/openstack-cinder-component.adoc  |   21 +-
 .../src/main/docs/openstack-glance-component.adoc  |   21 +-
 .../main/docs/openstack-keystone-component.adoc    |   21 +-
 .../src/main/docs/openstack-neutron-component.adoc |   21 +-
 .../src/main/docs/openstack-nova-component.adoc    |   21 +-
 .../src/main/docs/openstack-swift-component.adoc   |   21 +-
 .../src/main/docs/opentracing.adoc                 |   14 +-
 .../src/main/docs/optaplanner-component.adoc       |   21 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |   19 +-
 .../src/main/docs/paxlogging-component.adoc        |    9 +-
 .../camel-pdf/src/main/docs/pdf-component.adoc     |   21 +-
 .../src/main/docs/pgevent-component.adoc           |   21 +-
 .../camel-printer/src/main/docs/lpr-component.adoc |   21 +-
 .../src/main/docs/protobuf-dataformat.adoc         |   18 +-
 .../src/main/docs/pubnub-component.adoc            |   21 +-
 .../src/main/docs/pulsar-component.adoc            |   21 +-
 .../src/main/docs/quartz-component.adoc            |    8 +-
 .../src/main/docs/quartz2-component.adoc           |   21 +-
 .../src/main/docs/quickfix-component.adoc          |   21 +-
 .../src/main/docs/rabbitmq-component.adoc          |   28 +-
 .../src/main/docs/reactive-streams-component.adoc  |   21 +-
 .../src/main/docs/rest-swagger-component.adoc      |   33 +-
 .../src/main/docs/restlet-component.adoc           |   22 +-
 .../camel-rmi/src/main/docs/rmi-component.adoc     |   23 +-
 .../src/main/docs/routebox-component.adoc          |   21 +-
 .../camel-rss/src/main/docs/rss-component.adoc     |   21 +-
 .../camel-rss/src/main/docs/rss-dataformat.adoc    |   17 +-
 .../src/main/docs/salesforce-component.adoc        |   31 +-
 .../src/main/docs/sap-netweaver-component.adoc     |   21 +-
 .../src/main/docs/xquery-component.adoc            |   19 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |   15 +-
 .../src/main/docs/schematron-component.adoc        |   21 +-
 .../src/main/docs/javaScript-language.adoc         |   19 +-
 .../camel-script/src/main/docs/php-language.adoc   |    3 +-
 .../src/main/docs/python-language.adoc             |    3 +-
 .../camel-script/src/main/docs/ruby-language.adoc  |    3 +-
 .../src/main/docs/service-component.adoc           |   21 +-
 .../src/main/docs/servicenow-component.adoc        |   21 +-
 .../src/main/docs/servlet-component.adoc           |   21 +-
 .../camel-sip/src/main/docs/sip-component.adoc     |   21 +-
 .../src/main/docs/sjms-batch-component.adoc        |   21 +-
 .../camel-sjms/src/main/docs/sjms-component.adoc   |   21 +-
 .../camel-sjms2/src/main/docs/sjms2-component.adoc |   21 +-
 .../camel-slack/src/main/docs/slack-component.adoc |   21 +-
 .../camel-smpp/src/main/docs/smpp-component.adoc   |   21 +-
 .../src/main/docs/yaml-snakeyaml-dataformat.adoc   |   17 +-
 .../camel-snmp/src/main/docs/snmp-component.adoc   |   21 +-
 .../src/main/docs/soapjaxb-dataformat.adoc         |   17 +-
 .../camel-solr/src/main/docs/solr-component.adoc   |   21 +-
 .../src/main/docs/spark-rest-component.adoc        |    9 +-
 .../camel-spark/src/main/docs/spark-component.adoc |   21 +-
 .../src/main/docs/splunk-component.adoc            |   21 +-
 .../src/main/docs/spring-batch-component.adoc      |   21 +-
 .../src/main/docs/spring-boot.adoc                 |   20 +-
 .../main/docs/spring-integration-component.adoc    |   21 +-
 .../src/main/docs/spring-ldap-component.adoc       |   21 +-
 .../src/main/docs/spring-redis-component.adoc      |   21 +-
 .../src/main/docs/spring-ws-component.adoc         |   21 +-
 .../camel-spring/src/main/docs/spel-language.adoc  |    1 +
 .../src/main/docs/spring-event-component.adoc      |   19 +-
 .../camel-sql/src/main/docs/sql-component.adoc     |   22 +-
 .../src/main/docs/sql-stored-component.adoc        |   21 +-
 .../camel-ssh/src/main/docs/ssh-component.adoc     |   25 +-
 .../camel-stax/src/main/docs/stax-component.adoc   |   21 +-
 .../camel-stomp/src/main/docs/stomp-component.adoc |   21 +-
 .../src/main/docs/stream-component.adoc            |   21 +-
 .../src/main/docs/string-template-component.adoc   |   21 +-
 .../src/main/docs/syslog-dataformat.adoc           |   17 +-
 .../src/main/docs/tidyMarkup-dataformat.adoc       |   17 +-
 .../src/main/docs/tarfile-dataformat.adoc          |   17 +-
 .../src/main/docs/telegram-component.adoc          |   21 +-
 .../src/main/docs/thrift-component.adoc            |   21 +-
 .../src/main/docs/thrift-dataformat.adoc           |   17 +-
 .../camel-tika/src/main/docs/tika-component.adoc   |   21 +-
 .../src/main/docs/twilio-component.adoc            |   21 +-
 .../src/main/docs/twitter-component.adoc           |   21 +-
 .../main/docs/twitter-directmessage-component.adoc |   22 +-
 .../src/main/docs/twitter-search-component.adoc    |   22 +-
 .../src/main/docs/twitter-streaming-component.adoc |   22 +-
 .../src/main/docs/twitter-timeline-component.adoc  |   22 +-
 .../src/main/docs/undertow-component.adoc          |   19 +-
 .../src/main/docs/univocity-csv-dataformat.adoc    |   15 +-
 .../src/main/docs/univocity-fixed-dataformat.adoc  |   15 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc    |   15 +-
 .../src/main/docs/velocity-component.adoc          |   21 +-
 .../camel-vertx/src/main/docs/vertx-component.adoc |   21 +-
 .../src/main/docs/weather-component.adoc           |   21 +-
 .../camel-web3j/src/main/docs/web3j-component.adoc |   21 +-
 .../src/main/docs/websocket-jsr356-component.adoc  |   22 +-
 .../src/main/docs/websocket-component.adoc         |   19 +-
 .../src/main/docs/wordpress-component.adoc         |   25 +-
 .../src/main/docs/xchange-component.adoc           |   21 +-
 .../src/main/docs/xmlBeans-dataformat.adoc         |   17 +-
 .../src/main/docs/xmlrpc-component.adoc            |   23 +-
 .../src/main/docs/xmlrpc-dataformat.adoc           |   17 +-
 .../src/main/docs/secureXML-dataformat.adoc        |    5 +-
 .../src/main/docs/xmlsecurity-component.adoc       |   47 +-
 .../camel-xmpp/src/main/docs/xmpp-component.adoc   |   21 +-
 .../src/main/docs/json-xstream-dataformat.adoc     |    5 +-
 .../src/main/docs/xstream-dataformat.adoc          |   17 +-
 .../src/main/docs/yammer-component.adoc            |   22 +-
 .../src/main/docs/zendesk-component.adoc           |   21 +-
 .../src/main/docs/zipfile-dataformat.adoc          |   17 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |   16 +-
 .../src/main/docs/zookeeper-master-component.adoc  |   21 +-
 .../src/main/docs/zookeeper-component.adoc         |   23 +-
 components/readme.adoc                             |    6 +-
 .../quickfixj/QuickfixjSpringTest-context.xml      |  129 ---
 docs/components/modules/ROOT/nav.adoc              |    4 +-
 .../modules/ROOT/pages/ahc-component.adoc          |   21 +-
 .../modules/ROOT/pages/ahc-ws-component.adoc       |   54 +-
 .../modules/ROOT/pages/amqp-component.adoc         |   19 +-
 .../modules/ROOT/pages/apns-component.adoc         |   57 +-
 .../modules/ROOT/pages/as2-component.adoc          |   57 +-
 .../modules/ROOT/pages/asn1-dataformat.adoc        |   27 +-
 .../modules/ROOT/pages/asterisk-component.adoc     |   29 +-
 .../modules/ROOT/pages/atmos-component.adoc        |   36 +-
 .../ROOT/pages/atmosphere-websocket-component.adoc |   55 +-
 .../modules/ROOT/pages/atom-component.adoc         |   40 +-
 .../modules/ROOT/pages/atomix-map-component.adoc   |   33 +-
 .../ROOT/pages/atomix-messaging-component.adoc     |   25 +-
 .../ROOT/pages/atomix-multimap-component.adoc      |   25 +-
 .../modules/ROOT/pages/atomix-queue-component.adoc |   25 +-
 .../modules/ROOT/pages/atomix-set-component.adoc   |   25 +-
 .../modules/ROOT/pages/atomix-value-component.adoc |   25 +-
 .../modules/ROOT/pages/avro-component.adoc         |   45 +-
 .../modules/ROOT/pages/avro-dataformat.adoc        |   25 +-
 .../modules/ROOT/pages/aws-cw-component.adoc       |   21 +-
 .../modules/ROOT/pages/aws-ddb-component.adoc      |   21 +-
 .../ROOT/pages/aws-ddbstream-component.adoc        |   21 +-
 .../modules/ROOT/pages/aws-ec2-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-iam-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-kinesis-component.adoc  |   21 +-
 .../ROOT/pages/aws-kinesis-firehose-component.adoc |   21 +-
 .../modules/ROOT/pages/aws-kms-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-lambda-component.adoc   |   21 +-
 .../modules/ROOT/pages/aws-mq-component.adoc       |   21 +-
 .../modules/ROOT/pages/aws-s3-component.adoc       |   21 +-
 .../modules/ROOT/pages/aws-sdb-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-ses-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-sns-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-sqs-component.adoc      |   21 +-
 .../modules/ROOT/pages/aws-swf-component.adoc      |   21 +-
 docs/components/modules/ROOT/pages/aws-xray.adoc   |   14 +-
 docs/components/modules/ROOT/pages/aws.adoc        |    2 +-
 .../modules/ROOT/pages/azure-blob-component.adoc   |   65 +-
 .../modules/ROOT/pages/azure-queue-component.adoc  |   69 +-
 docs/components/modules/ROOT/pages/azure.adoc      |   12 +-
 .../components/modules/ROOT/pages/bam-example.adoc |    8 +-
 docs/components/modules/ROOT/pages/bam.adoc        |    2 +-
 .../modules/ROOT/pages/barcode-dataformat.adoc     |   33 +-
 .../modules/ROOT/pages/base64-dataformat.adoc      |   25 +-
 .../ROOT/pages/bean-validator-component.adoc       |   45 +-
 .../modules/ROOT/pages/beanio-dataformat.adoc      |   27 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |   19 +-
 .../modules/ROOT/pages/bindy-dataformat.adoc       |  154 +--
 docs/components/modules/ROOT/pages/blueprint.adoc  |    6 +-
 .../modules/ROOT/pages/bonita-component.adoc       |   31 +-
 .../modules/ROOT/pages/boon-dataformat.adoc        |   15 +-
 .../modules/ROOT/pages/box-component.adoc          |  145 +--
 .../modules/ROOT/pages/braintree-component.adoc    |  342 ++++---
 .../modules/ROOT/pages/cache-component.adoc        |   23 +-
 .../ROOT/pages/caffeine-cache-component.adoc       |   35 +-
 .../ROOT/pages/caffeine-loadcache-component.adoc   |   31 +-
 .../modules/ROOT/pages/castor-dataformat.adoc      |   17 +-
 .../ROOT/pages/chronicle-engine-component.adoc     |   19 +-
 .../modules/ROOT/pages/chunk-component.adoc        |   60 +-
 .../modules/ROOT/pages/cmis-component.adoc         |   38 +-
 .../modules/ROOT/pages/coap-component.adoc         |   39 +-
 .../modules/ROOT/pages/cometd-component.adoc       |   19 +-
 .../modules/ROOT/pages/consul-component.adoc       |   37 +-
 .../modules/ROOT/pages/context-component.adoc      |   21 +-
 .../modules/ROOT/pages/corda-component.adoc        |   35 +-
 .../modules/ROOT/pages/couchbase-component.adoc    |   33 +-
 .../modules/ROOT/pages/couchdb-component.adoc      |   35 +-
 .../modules/ROOT/pages/cql-component.adoc          |   45 +-
 .../modules/ROOT/pages/crypto-cms-component.adoc   |   45 +-
 .../modules/ROOT/pages/crypto-component.adoc       |   19 +-
 .../modules/ROOT/pages/crypto-dataformat.adoc      |   37 +-
 .../modules/ROOT/pages/csv-dataformat.adoc         |   45 +-
 .../modules/ROOT/pages/cxf-component.adoc          |  244 +++--
 .../modules/ROOT/pages/cxf-transport.adoc          |   64 +-
 .../modules/ROOT/pages/cxfrs-component.adoc        |   85 +-
 .../modules/ROOT/pages/digitalocean-component.adoc |  493 ++++------
 .../modules/ROOT/pages/disruptor-component.adoc    |   23 +-
 .../modules/ROOT/pages/dns-component.adoc          |   49 +-
 .../modules/ROOT/pages/docker-component.adoc       |   33 +-
 .../modules/ROOT/pages/dozer-component.adoc        |   85 +-
 .../modules/ROOT/pages/drill-component.adoc        |   41 +-
 .../modules/ROOT/pages/dropbox-component.adoc      |   77 +-
 docs/components/modules/ROOT/pages/eclipse.adoc    |    8 +-
 .../modules/ROOT/pages/ehcache-component.adoc      |   47 +-
 .../modules/ROOT/pages/ejb-component.adoc          |    5 +-
 .../components/modules/ROOT/pages/el-language.adoc |   16 +-
 .../ROOT/pages/elasticsearch-component.adoc        |   23 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |   19 +-
 .../ROOT/pages/elasticsearch5-component.adoc       |   21 +-
 .../modules/ROOT/pages/elsql-component.adoc        |   19 +-
 .../modules/ROOT/pages/etcd-component.adoc         |   27 +-
 .../modules/ROOT/pages/eventadmin-component.adoc   |   24 +-
 .../modules/ROOT/pages/exec-component.adoc         |   55 +-
 .../modules/ROOT/pages/facebook-component.adoc     |   23 +-
 .../modules/ROOT/pages/fhir-component.adoc         |   23 +-
 .../modules/ROOT/pages/fhirJson-dataformat.adoc    |   26 +-
 .../modules/ROOT/pages/fhirXml-dataformat.adoc     |   25 +-
 .../modules/ROOT/pages/flatpack-component.adoc     |   54 +-
 .../modules/ROOT/pages/flatpack-dataformat.adoc    |   25 +-
 .../modules/ROOT/pages/flink-component.adoc        |   40 +-
 .../modules/ROOT/pages/fop-component.adoc          |   40 +-
 .../modules/ROOT/pages/freemarker-component.adoc   |   58 +-
 .../modules/ROOT/pages/ftp-component.adoc          |  137 ++-
 .../modules/ROOT/pages/ftps-component.adoc         |   43 +-
 .../modules/ROOT/pages/ganglia-component.adoc      |   51 +-
 .../modules/ROOT/pages/geocoder-component.adoc     |   33 +-
 .../modules/ROOT/pages/git-component.adoc          |   31 +-
 .../modules/ROOT/pages/github-component.adoc       |   37 +-
 .../ROOT/pages/google-bigquery-component.adoc      |   51 +-
 .../ROOT/pages/google-bigquery-sql-component.adoc  |   44 +-
 .../ROOT/pages/google-calendar-component.adoc      |   54 +-
 .../pages/google-calendar-stream-component.adoc    |   48 +-
 .../modules/ROOT/pages/google-drive-component.adoc |   48 +-
 .../modules/ROOT/pages/google-mail-component.adoc  |   61 +-
 .../ROOT/pages/google-mail-stream-component.adoc   |   54 +-
 .../ROOT/pages/google-pubsub-component.adoc        |   41 +-
 .../ROOT/pages/google-sheets-component.adoc        |   52 +-
 .../ROOT/pages/google-sheets-stream-component.adoc |   48 +-
 .../modules/ROOT/pages/gora-component.adoc         |   81 +-
 .../modules/ROOT/pages/grape-component.adoc        |    5 +-
 docs/components/modules/ROOT/pages/groovy-dsl.adoc |    2 +-
 .../modules/ROOT/pages/groovy-language.adoc        |   15 +-
 .../modules/ROOT/pages/grpc-component.adoc         |   52 +-
 .../ROOT/pages/guava-eventbus-component.adoc       |   31 +-
 docs/components/modules/ROOT/pages/guice.adoc      |    2 +-
 docs/components/modules/ROOT/pages/hawtdb.adoc     |    2 +-
 .../pages/hazelcast-atomicvalue-component.adoc     |   50 +-
 .../ROOT/pages/hazelcast-instance-component.adoc   |   25 +-
 .../ROOT/pages/hazelcast-list-component.adoc       |   37 +-
 .../ROOT/pages/hazelcast-map-component.adoc        |   59 +-
 .../ROOT/pages/hazelcast-multimap-component.adoc   |   49 +-
 .../ROOT/pages/hazelcast-queue-component.adoc      |   51 +-
 .../pages/hazelcast-replicatedmap-component.adoc   |   44 +-
 .../ROOT/pages/hazelcast-ringbuffer-component.adoc |   36 +-
 .../ROOT/pages/hazelcast-seda-component.adoc       |   27 +-
 .../ROOT/pages/hazelcast-set-component.adoc        |   23 +-
 .../ROOT/pages/hazelcast-topic-component.adoc      |   29 +-
 docs/components/modules/ROOT/pages/hazelcast.adoc  |   52 +-
 .../modules/ROOT/pages/hbase-component.adoc        |   84 +-
 .../modules/ROOT/pages/hdfs-component.adoc         |  138 ++-
 .../modules/ROOT/pages/hdfs2-component.adoc        |   21 +-
 docs/components/modules/ROOT/pages/headersmap.adoc |    8 +-
 .../modules/ROOT/pages/hessian-dataformat.adoc     |   17 +-
 .../modules/ROOT/pages/hipchat-component.adoc      |   48 +-
 .../modules/ROOT/pages/hl7-dataformat.adoc         |  249 ++++-
 .../modules/ROOT/pages/http-component.adoc         |   24 +-
 .../modules/ROOT/pages/http4-component.adoc        |   23 +-
 docs/components/modules/ROOT/pages/hystrix.adoc    |   18 +-
 .../modules/ROOT/pages/ibatis-component.adoc       |    7 +-
 .../modules/ROOT/pages/ical-dataformat.adoc        |   28 +-
 .../ROOT/pages/iec60870-client-component.adoc      |   27 +-
 .../ROOT/pages/iec60870-server-component.adoc      |   25 +-
 .../modules/ROOT/pages/ignite-cache-component.adoc |   25 +-
 .../ROOT/pages/ignite-compute-component.adoc       |   27 +-
 .../ROOT/pages/ignite-events-component.adoc        |   23 +-
 .../modules/ROOT/pages/ignite-idgen-component.adoc |   23 +-
 .../ROOT/pages/ignite-messaging-component.adoc     |   25 +-
 .../modules/ROOT/pages/ignite-queue-component.adoc |   25 +-
 .../modules/ROOT/pages/ignite-set-component.adoc   |   25 +-
 docs/components/modules/ROOT/pages/ignite.adoc     |   34 +-
 .../modules/ROOT/pages/infinispan-component.adoc   |  645 +------------
 .../modules/ROOT/pages/influxdb-component.adoc     |   47 +-
 .../modules/ROOT/pages/iota-component.adoc         |   48 +-
 .../modules/ROOT/pages/ipfs-component.adoc         |   31 +-
 .../modules/ROOT/pages/irc-component.adoc          |   19 +-
 .../modules/ROOT/pages/ironmq-component.adoc       |   37 +-
 .../modules/ROOT/pages/jacksonxml-dataformat.adoc  |   93 +-
 .../modules/ROOT/pages/javaScript-language.adoc    |   17 +-
 .../modules/ROOT/pages/javaspace-component.adoc    |   19 +-
 .../modules/ROOT/pages/jaxb-dataformat.adoc        |   64 +-
 .../modules/ROOT/pages/jbpm-component.adoc         |   52 +-
 .../modules/ROOT/pages/jcache-component.adoc       |  259 +----
 .../modules/ROOT/pages/jclouds-component.adoc      |   60 +-
 .../modules/ROOT/pages/jcr-component.adoc          |   49 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |   19 +-
 .../modules/ROOT/pages/jetty-component.adoc        |   21 +-
 .../modules/ROOT/pages/jgroups-component.adoc      |   19 +-
 .../modules/ROOT/pages/jgroups-raft-component.adoc |   73 +-
 .../modules/ROOT/pages/jibx-dataformat.adoc        |   15 +-
 .../modules/ROOT/pages/jing-component.adoc         |   36 +-
 .../modules/ROOT/pages/jira-component.adoc         |  185 +---
 .../modules/ROOT/pages/jms-component.adoc          |   21 +-
 .../modules/ROOT/pages/jmx-component.adoc          | 1007 +++++++++++++++++++-
 .../modules/ROOT/pages/jolt-component.adoc         |   46 +-
 .../modules/ROOT/pages/jpa-component.adoc          |   93 +-
 .../ROOT/pages/json-fastjson-dataformat.adoc       |   21 +-
 .../modules/ROOT/pages/json-gson-dataformat.adoc   |   21 +-
 .../ROOT/pages/json-jackson-dataformat.adoc        |   21 +-
 .../ROOT/pages/json-johnzon-dataformat.adoc        |   19 +-
 .../ROOT/pages/json-validator-component.adoc       |   25 +-
 .../ROOT/pages/json-xstream-dataformat.adoc        |   76 +-
 .../modules/ROOT/pages/jsonpath-language.adoc      |   59 +-
 .../modules/ROOT/pages/jt400-component.adoc        |   51 +-
 .../modules/ROOT/pages/jxpath-language.adoc        |   15 +-
 .../modules/ROOT/pages/kafka-component.adoc        |   57 +-
 .../modules/ROOT/pages/kestrel-component.adoc      |   19 +-
 .../modules/ROOT/pages/krati-component.adoc        |   19 +-
 .../modules/ROOT/pages/kubernetes-component.adoc   |   19 +-
 .../pages/kubernetes-config-maps-component.adoc    |   25 +-
 .../pages/kubernetes-deployments-component.adoc    |   25 +-
 .../ROOT/pages/kubernetes-hpa-component.adoc       |   25 +-
 .../ROOT/pages/kubernetes-job-component.adoc       |   25 +-
 .../pages/kubernetes-namespaces-component.adoc     |   25 +-
 .../ROOT/pages/kubernetes-nodes-component.adoc     |   25 +-
 ...rnetes-persistent-volumes-claims-component.adoc |   25 +-
 .../kubernetes-persistent-volumes-component.adoc   |   25 +-
 .../ROOT/pages/kubernetes-pods-component.adoc      |   25 +-
 ...bernetes-replication-controllers-component.adoc |   25 +-
 .../kubernetes-resources-quota-component.adoc      |   25 +-
 .../ROOT/pages/kubernetes-secrets-component.adoc   |   25 +-
 .../kubernetes-service-accounts-component.adoc     |   25 +-
 .../ROOT/pages/kubernetes-services-component.adoc  |   25 +-
 docs/components/modules/ROOT/pages/kubernetes.adoc |   42 +-
 docs/components/modules/ROOT/pages/kura.adoc       |   71 +-
 .../modules/ROOT/pages/ldap-component.adoc         |   46 +-
 .../modules/ROOT/pages/ldif-component.adoc         |   38 +-
 docs/components/modules/ROOT/pages/leveldb.adoc    |   37 +-
 .../modules/ROOT/pages/linkedin-component.adoc     |  123 +--
 .../modules/ROOT/pages/lpr-component.adoc          |   39 +-
 docs/components/modules/ROOT/pages/lra.adoc        |   20 +-
 .../modules/ROOT/pages/lucene-component.adoc       |   61 +-
 .../modules/ROOT/pages/lumberjack-component.adoc   |   31 +-
 .../modules/ROOT/pages/lzf-dataformat.adoc         |   15 +-
 .../modules/ROOT/pages/mail-component.adoc         |   19 +-
 .../modules/ROOT/pages/master-component.adoc       |   38 +-
 .../modules/ROOT/pages/metrics-component.adoc      |  149 +--
 .../modules/ROOT/pages/micrometer-component.adoc   |  127 +--
 .../modules/ROOT/pages/milo-client-component.adoc  |   44 +-
 .../modules/ROOT/pages/milo-server-component.adoc  |   38 +-
 .../ROOT/pages/mime-multipart-dataformat.adoc      |   13 +-
 .../modules/ROOT/pages/mina-component.adoc         |  264 ++---
 .../modules/ROOT/pages/mina2-component.adoc        |   19 +-
 .../modules/ROOT/pages/mllp-component.adoc         |   95 +-
 .../modules/ROOT/pages/mongodb-component.adoc      |  530 ++++++-----
 .../ROOT/pages/mongodb-gridfs-component.adoc       |   51 +-
 .../modules/ROOT/pages/mongodb3-component.adoc     |   19 +-
 .../modules/ROOT/pages/mqtt-component.adoc         |   36 +-
 .../modules/ROOT/pages/msv-component.adoc          |   34 +-
 .../modules/ROOT/pages/mustache-component.adoc     |   42 +-
 .../modules/ROOT/pages/mvel-component.adoc         |   44 +-
 .../modules/ROOT/pages/mvel-language.adoc          |   15 +-
 .../modules/ROOT/pages/mybatis-bean-component.adoc |   29 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |   19 +-
 .../modules/ROOT/pages/nagios-component.adoc       |   21 +-
 .../modules/ROOT/pages/nats-component.adoc         |   35 +-
 .../modules/ROOT/pages/netty-component.adoc        |   32 +-
 .../modules/ROOT/pages/netty-http-component.adoc   |  260 +++--
 .../modules/ROOT/pages/netty4-component.adoc       |   35 +-
 .../modules/ROOT/pages/netty4-http-component.adoc  |   21 +-
 .../modules/ROOT/pages/nsq-component.adoc          |   33 +-
 .../modules/ROOT/pages/ognl-language.adoc          |   15 +-
 .../modules/ROOT/pages/olingo2-component.adoc      |  111 ++-
 .../modules/ROOT/pages/olingo4-component.adoc      |  113 ++-
 .../pages/openshift-build-configs-component.adoc   |   13 +-
 .../ROOT/pages/openshift-builds-component.adoc     |   13 +-
 .../modules/ROOT/pages/openshift-component.adoc    |   19 +-
 .../ROOT/pages/openstack-cinder-component.adoc     |   50 +-
 .../ROOT/pages/openstack-glance-component.adoc     |   40 +-
 .../ROOT/pages/openstack-keystone-component.adoc   |   68 +-
 .../ROOT/pages/openstack-neutron-component.adoc    |   63 +-
 .../ROOT/pages/openstack-nova-component.adoc       |   56 +-
 .../ROOT/pages/openstack-swift-component.adoc      |   50 +-
 docs/components/modules/ROOT/pages/openstack.adoc  |   18 +-
 .../components/modules/ROOT/pages/opentracing.adoc |   39 +-
 .../modules/ROOT/pages/optaplanner-component.adoc  |   44 +-
 .../modules/ROOT/pages/paho-component.adoc         |   19 +-
 .../modules/ROOT/pages/paxlogging-component.adoc   |   22 +-
 .../modules/ROOT/pages/pdf-component.adoc          |   48 +-
 .../modules/ROOT/pages/pgevent-component.adoc      |   30 +-
 .../modules/ROOT/pages/pgp-dataformat.adoc         |   79 +-
 .../modules/ROOT/pages/php-language.adoc           |    1 +
 .../modules/ROOT/pages/protobuf-dataformat.adoc    |   33 +-
 .../modules/ROOT/pages/pubnub-component.adoc       |   53 +-
 .../modules/ROOT/pages/pulsar-component.adoc       |   26 +-
 .../modules/ROOT/pages/python-language.adoc        |    1 +
 .../modules/ROOT/pages/quartz-component.adoc       |    8 +-
 .../modules/ROOT/pages/quartz2-component.adoc      |   19 +-
 .../modules/ROOT/pages/quickfix-component.adoc     |   99 +-
 .../modules/ROOT/pages/rabbitmq-component.adoc     |   95 +-
 .../ROOT/pages/reactive-streams-component.adoc     |   61 +-
 .../modules/ROOT/pages/reactor-component.adoc      |    2 +-
 .../modules/ROOT/pages/rest-swagger-component.adoc |   58 +-
 .../modules/ROOT/pages/restlet-component.adoc      |   64 +-
 docs/components/modules/ROOT/pages/ribbon.adoc     |    9 +-
 .../modules/ROOT/pages/rmi-component.adoc          |   21 +-
 .../modules/ROOT/pages/routebox-component.adoc     |   19 +-
 .../modules/ROOT/pages/rss-component.adoc          |   42 +-
 .../modules/ROOT/pages/rss-dataformat.adoc         |   17 +-
 .../modules/ROOT/pages/ruby-language.adoc          |    1 +
 docs/components/modules/ROOT/pages/rx.adoc         |    2 +-
 docs/components/modules/ROOT/pages/rxjava2.adoc    |    2 +-
 .../modules/ROOT/pages/salesforce-component.adoc   |   98 +-
 .../ROOT/pages/sap-netweaver-component.adoc        |   40 +-
 docs/components/modules/ROOT/pages/scala-eip.adoc  |    2 +-
 .../modules/ROOT/pages/scala-getting-started.adoc  |    2 +-
 .../ROOT/pages/scala-supported-languages.adoc      |    2 +-
 docs/components/modules/ROOT/pages/scala.adoc      |    2 +-
 .../modules/ROOT/pages/schematron-component.adoc   |   41 +-
 .../modules/ROOT/pages/scp-component.adoc          |   40 +-
 docs/components/modules/ROOT/pages/scr.adoc        |   18 +-
 docs/components/modules/ROOT/pages/script.adoc     |    2 +-
 .../modules/ROOT/pages/secureXML-dataformat.adoc   |   32 +-
 .../modules/ROOT/pages/service-component.adoc      |   34 +-
 .../modules/ROOT/pages/servicenow-component.adoc   |  103 +-
 .../modules/ROOT/pages/servlet-component.adoc      |   74 +-
 .../modules/ROOT/pages/servletlistener.adoc        |    2 +-
 .../modules/ROOT/pages/sftp-component.adoc         |   29 +-
 docs/components/modules/ROOT/pages/shiro.adoc      |   47 +-
 .../modules/ROOT/pages/sip-component.adoc          |   31 +-
 .../modules/ROOT/pages/sjms-batch-component.adoc   |   27 +-
 .../modules/ROOT/pages/sjms-component.adoc         |   57 +-
 .../modules/ROOT/pages/sjms2-component.adoc        |   61 +-
 .../modules/ROOT/pages/slack-component.adoc        |   42 +-
 .../modules/ROOT/pages/smpp-component.adoc         |  156 +--
 .../modules/ROOT/pages/snmp-component.adoc         |   40 +-
 .../modules/ROOT/pages/soapjaxb-dataformat.adoc    |  101 +-
 .../modules/ROOT/pages/solr-component.adoc         |   54 +-
 .../modules/ROOT/pages/spark-component.adoc        |  110 ++-
 .../modules/ROOT/pages/spark-rest-component.adoc   |   27 +-
 .../modules/ROOT/pages/spel-language.adoc          |    1 +
 .../modules/ROOT/pages/splunk-component.adoc       |   46 +-
 .../modules/ROOT/pages/spring-batch-component.adoc |   43 +-
 .../components/modules/ROOT/pages/spring-boot.adoc |   20 +-
 .../modules/ROOT/pages/spring-cloud-consul.adoc    |    2 +-
 .../modules/ROOT/pages/spring-cloud-netflix.adoc   |    6 +-
 .../modules/ROOT/pages/spring-cloud-zookeeper.adoc |    2 +-
 .../modules/ROOT/pages/spring-cloud.adoc           |    7 +-
 .../modules/ROOT/pages/spring-event-component.adoc |   19 +-
 .../ROOT/pages/spring-integration-component.adoc   |   40 +-
 .../modules/ROOT/pages/spring-javaconfig.adoc      |   24 +-
 .../modules/ROOT/pages/spring-ldap-component.adoc  |   39 +-
 .../modules/ROOT/pages/spring-redis-component.adoc |   47 +-
 .../modules/ROOT/pages/spring-security.adoc        |   34 +-
 .../modules/ROOT/pages/spring-ws-component.adoc    |   84 +-
 .../modules/ROOT/pages/sql-component.adoc          |  185 ++--
 .../modules/ROOT/pages/sql-language.adoc           |   15 +-
 .../modules/ROOT/pages/sql-stored-component.adoc   |   43 +-
 .../modules/ROOT/pages/ssh-component.adoc          |   43 +-
 .../modules/ROOT/pages/stax-component.adoc         |   41 +-
 .../modules/ROOT/pages/stomp-component.adoc        |   36 +-
 .../modules/ROOT/pages/stream-component.adoc       |   31 +-
 .../ROOT/pages/string-template-component.adoc      |   47 +-
 .../modules/ROOT/pages/swagger-java.adoc           |   44 +-
 docs/components/modules/ROOT/pages/swagger.adoc    |    2 +-
 .../modules/ROOT/pages/syslog-dataformat.adoc      |   65 +-
 .../modules/ROOT/pages/tarfile-dataformat.adoc     |   38 +-
 .../modules/ROOT/pages/telegram-component.adoc     |   94 +-
 .../modules/ROOT/pages/terser-language.adoc        |    2 +
 docs/components/modules/ROOT/pages/test-karaf.adoc |    2 +-
 docs/components/modules/ROOT/pages/test.adoc       |  141 ++-
 .../modules/ROOT/pages/testcontainers-spring.adoc  |    2 +-
 .../modules/ROOT/pages/testcontainers.adoc         |    8 +-
 docs/components/modules/ROOT/pages/testng.adoc     |    2 +-
 .../modules/ROOT/pages/thrift-component.adoc       |   38 +-
 .../modules/ROOT/pages/thrift-dataformat.adoc      |   31 +-
 .../modules/ROOT/pages/tidyMarkup-dataformat.adoc  |   23 +-
 .../modules/ROOT/pages/tika-component.adoc         |   25 +-
 .../modules/ROOT/pages/twilio-component.adoc       |   39 +-
 .../modules/ROOT/pages/twitter-component.adoc      |   55 +-
 .../pages/twitter-directmessage-component.adoc     |   23 +-
 .../ROOT/pages/twitter-search-component.adoc       |   32 +-
 .../ROOT/pages/twitter-streaming-component.adoc    |   24 +-
 .../ROOT/pages/twitter-timeline-component.adoc     |   23 +-
 docs/components/modules/ROOT/pages/twitter.adoc    |   32 +-
 .../modules/ROOT/pages/undertow-component.adoc     |   19 +-
 .../ROOT/pages/univocity-csv-dataformat.adoc       |   15 +-
 .../ROOT/pages/univocity-fixed-dataformat.adoc     |   15 +-
 .../ROOT/pages/univocity-tsv-dataformat.adoc       |   15 +-
 docs/components/modules/ROOT/pages/urlrewrite.adoc |    2 +-
 .../modules/ROOT/pages/velocity-component.adoc     |   68 +-
 .../modules/ROOT/pages/vertx-component.adoc        |   39 +-
 .../modules/ROOT/pages/weather-component.adoc      |   38 +-
 .../modules/ROOT/pages/web3j-component.adoc        |   30 +-
 .../modules/ROOT/pages/websocket-component.adoc    |   19 +-
 .../ROOT/pages/websocket-jsr356-component.adoc     |   30 +-
 .../modules/ROOT/pages/wordpress-component.adoc    |   34 +-
 .../modules/ROOT/pages/xchange-component.adoc      |   32 +-
 .../modules/ROOT/pages/xmlBeans-dataformat.adoc    |   15 +-
 .../modules/ROOT/pages/xmlrpc-component.adoc       |   21 +-
 .../modules/ROOT/pages/xmlrpc-dataformat.adoc      |   15 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |   47 +-
 .../modules/ROOT/pages/xmpp-component.adoc         |   39 +-
 .../modules/ROOT/pages/xquery-component.adoc       |   19 +-
 .../modules/ROOT/pages/xquery-language.adoc        |   15 +-
 .../modules/ROOT/pages/xstream-dataformat.adoc     |   38 +-
 .../ROOT/pages/yaml-snakeyaml-dataformat.adoc      |   41 +-
 .../modules/ROOT/pages/yammer-component.adoc       |   38 +-
 .../modules/ROOT/pages/zendesk-component.adoc      |   34 +-
 .../modules/ROOT/pages/zipfile-dataformat.adoc     |   34 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |   16 +-
 .../modules/ROOT/pages/zookeeper-component.adoc    |  104 +-
 .../ROOT/pages/zookeeper-master-component.adoc     |   37 +-
 846 files changed, 17941 insertions(+), 8434 deletions(-)

diff --git a/camel-core/src/main/docs/bean-component.adoc b/camel-core/src/main/docs/bean-component.adoc
index e8f777a..fc5ee8f 100644
--- a/camel-core/src/main/docs/bean-component.adoc
+++ b/camel-core/src/main/docs/bean-component.adoc
@@ -1,5 +1,5 @@
 [[bean-component]]
-== Bean Component
+= Bean Component
 
 *Available as of Camel version 1.0*
 
@@ -42,7 +42,7 @@ bean:beanName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -52,7 +52,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+=== Query Parameters (5 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -167,4 +167,4 @@ mechanisms in Camel.
 
 * <<class-component,Class>> component
 * Bean Binding
-* Bean Integration
+* Bean Integration
\ No newline at end of file
diff --git a/camel-core/src/main/docs/bean-language.adoc b/camel-core/src/main/docs/bean-language.adoc
index 1f95857..7bf8f00 100644
--- a/camel-core/src/main/docs/bean-language.adoc
+++ b/camel-core/src/main/docs/bean-language.adoc
@@ -1,5 +1,5 @@
 [[bean-language]]
-== Bean method Language
+= Bean method Language
 
 *Available as of Camel version 1.3*
 
diff --git a/camel-core/src/main/docs/binding-component.adoc b/camel-core/src/main/docs/binding-component.adoc
index 2c1e586..8491fb9 100644
--- a/camel-core/src/main/docs/binding-component.adoc
+++ b/camel-core/src/main/docs/binding-component.adoc
@@ -1,5 +1,5 @@
 [[binding-component]]
-== Binding Component (deprecated)
+= Binding Component (deprecated)
 
 *Available as of Camel version 2.11*
 
@@ -35,7 +35,7 @@ binding:bindingName:delegateUri
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -46,7 +46,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (4 parameters):
+=== Query Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -128,4 +128,4 @@ BindingComponent to wrap the endpoints in the binding of your choice.
 
 So bindings are a composition tool really; only use them when they make
 sense - the extra complexity may not be worth it unless you have lots of
-routes or endpoints.
+routes or endpoints.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/browse-component.adoc b/camel-core/src/main/docs/browse-component.adoc
index eee9003..d54de75 100644
--- a/camel-core/src/main/docs/browse-component.adoc
+++ b/camel-core/src/main/docs/browse-component.adoc
@@ -1,5 +1,5 @@
 [[browse-component]]
-== Browse Component
+= Browse Component
 
 *Available as of Camel version 1.3*
 
@@ -36,7 +36,7 @@ browse:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -46,7 +46,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (4 parameters):
+=== Query Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -93,4 +93,4 @@ public void inspectRecievedOrders() {
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/camel-core/src/main/docs/class-component.adoc b/camel-core/src/main/docs/class-component.adoc
index cece0d1..f2a1618 100644
--- a/camel-core/src/main/docs/class-component.adoc
+++ b/camel-core/src/main/docs/class-component.adoc
@@ -1,5 +1,5 @@
 [[class-component]]
-== Class Component
+= Class Component
 
 *Available as of Camel version 2.4*
 
@@ -45,7 +45,7 @@ class:beanName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -55,7 +55,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+=== Query Parameters (5 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -139,4 +139,4 @@ component works in much the same way.
 
 * <<bean-component,Bean>>
 * Bean Binding
-* Bean Integration
+* Bean Integration
\ No newline at end of file
diff --git a/camel-core/src/main/docs/clustering.adoc b/camel-core/src/main/docs/clustering.adoc
index 31a7c74..fd0726f 100644
--- a/camel-core/src/main/docs/clustering.adoc
+++ b/camel-core/src/main/docs/clustering.adoc
@@ -2,7 +2,6 @@
 == Clustering
 
 *Available as of Camel 2.20*
-
 [WARNING]
 ====
 *Experimental feature*
diff --git a/camel-core/src/main/docs/constant-language.adoc b/camel-core/src/main/docs/constant-language.adoc
index c2e3a26..aa5a29e 100644
--- a/camel-core/src/main/docs/constant-language.adoc
+++ b/camel-core/src/main/docs/constant-language.adoc
@@ -1,5 +1,5 @@
 [[constant-language]]
-== Constant Language
+= Constant Language
 
 *Available as of Camel version 1.5*
 
diff --git a/camel-core/src/main/docs/controlbus-component.adoc b/camel-core/src/main/docs/controlbus-component.adoc
index 883c74b..3ced150 100644
--- a/camel-core/src/main/docs/controlbus-component.adoc
+++ b/camel-core/src/main/docs/controlbus-component.adoc
@@ -1,5 +1,5 @@
 [[controlbus-component]]
-== Control Bus Component
+= Control Bus Component
 
 *Available as of Camel version 2.11*
 
@@ -76,7 +76,7 @@ controlbus:command:language
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,7 +87,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (6 parameters):
+=== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -188,4 +188,4 @@ We use `async=true` to stop Camel asynchronously as otherwise we
 would be trying to stop Camel while it was in-flight processing the
 message we sent to the control bus component.
 
-TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
+TIP: You can also use other languages such as <<groovy-language,Groovy>>, etc.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/dataformat-component.adoc b/camel-core/src/main/docs/dataformat-component.adoc
index bb97bbd..d40b981 100644
--- a/camel-core/src/main/docs/dataformat-component.adoc
+++ b/camel-core/src/main/docs/dataformat-component.adoc
@@ -1,5 +1,5 @@
 [[dataformat-component]]
-== Data Format Component
+= Data Format Component
 
 *Available as of Camel version 2.12*
 
@@ -37,7 +37,7 @@ dataformat:name:operation
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -48,7 +48,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (1 parameters):
+=== Query Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -82,4 +82,4 @@ And in XML DSL you do:
     <to uri="mqseries:Another.Queue"/>
   </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/dataset-component.adoc b/camel-core/src/main/docs/dataset-component.adoc
index 39793c7..01609ba 100644
--- a/camel-core/src/main/docs/dataset-component.adoc
+++ b/camel-core/src/main/docs/dataset-component.adoc
@@ -1,5 +1,5 @@
 [[dataset-component]]
-== Dataset Component
+= Dataset Component
 
 *Available as of Camel version 1.3*
 
@@ -59,7 +59,7 @@ dataset:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -69,7 +69,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -222,4 +222,4 @@ the bodies from a file.
 
 |`delimiter` |`String` |\z |Specifies the delimiter pattern used by a `java.util.Scanner` to split
 the file into multiple payloads.
-|===
+|===
\ No newline at end of file
diff --git a/camel-core/src/main/docs/direct-component.adoc b/camel-core/src/main/docs/direct-component.adoc
index 4fa9d3f..fb68437 100644
--- a/camel-core/src/main/docs/direct-component.adoc
+++ b/camel-core/src/main/docs/direct-component.adoc
@@ -1,5 +1,5 @@
 [[direct-component]]
-== Direct Component
+= Direct Component
 
 *Available as of Camel version 1.0*
 
@@ -55,7 +55,7 @@ direct:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -65,7 +65,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (7 parameters):
+=== Query Parameters (7 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -121,4 +121,4 @@ be used together.
 === See Also
 
 * <<seda-component,SEDA>>
-* <<vm-component,VM>>
+* <<vm-component,VM>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/direct-vm-component.adoc b/camel-core/src/main/docs/direct-vm-component.adoc
index acf33bc..f47e956 100644
--- a/camel-core/src/main/docs/direct-vm-component.adoc
+++ b/camel-core/src/main/docs/direct-vm-component.adoc
@@ -1,5 +1,5 @@
 [[direct-vm-component]]
-== Direct VM Component
+= Direct VM Component
 
 *Available as of Camel version 2.10*
 
@@ -68,7 +68,7 @@ direct-vm:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -78,7 +78,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (9 parameters):
+=== Query Parameters (9 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -139,4 +139,4 @@ And the sample using spring DSL:
 
 * <<direct-component,Direct>>
 * <<seda-component,SEDA>>
-* <<vm-component,VM>>
+* <<vm-component,VM>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/aggregate-eip.adoc b/camel-core/src/main/docs/eips/aggregate-eip.adoc
index b3e0ff6..f7f2699 100644
--- a/camel-core/src/main/docs/eips/aggregate-eip.adoc
+++ b/camel-core/src/main/docs/eips/aggregate-eip.adoc
@@ -1,5 +1,4 @@
-[[aggregate-eip]]
-== Aggregate EIP
+= Aggregate EIP
 
 The
 http://www.enterpriseintegrationpatterns.com/Aggregator.html[Aggregator]
@@ -693,4 +692,4 @@ public static final class MyUserAppender {
 
 Notice that the return type is a List which we want to contain the user
 names. The 1st parameter is the list of names, and then notice the 2nd
-parameter is the incoming `com.foo.User` type.
+parameter is the incoming `com.foo.User` type.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/batch-config-eip.adoc b/camel-core/src/main/docs/eips/batch-config-eip.adoc
index 687e4b0..8cf5b46 100644
--- a/camel-core/src/main/docs/eips/batch-config-eip.adoc
+++ b/camel-core/src/main/docs/eips/batch-config-eip.adoc
@@ -1,5 +1,4 @@
-[[batch-config-eip]]
-== Batch-config EIP
+= Batch-config EIP
 
 Batch-processing resequence EIP
 
@@ -15,4 +14,4 @@ The Batch-config EIP supports 5 options which are listed below:
 | *reverse* | Whether to reverse the ordering. | false | Boolean
 | *ignoreInvalidExchanges* | Whether to ignore invalid exchanges | false | Boolean
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/bean-eip.adoc b/camel-core/src/main/docs/eips/bean-eip.adoc
index 7d822a5..50284f8 100644
--- a/camel-core/src/main/docs/eips/bean-eip.adoc
+++ b/camel-core/src/main/docs/eips/bean-eip.adoc
@@ -1,5 +1,4 @@
-[[bean-eip]]
-== Bean EIP
+= Bean EIP
 
 The *bean:* EIP binds beans to Camel message exchanges.
 
@@ -87,4 +86,4 @@ mechanisms in Camel.
 
 * <<class-component,Class>> component
 * link:bean-binding.html[Bean Binding]
-* link:bean-integration.html[Bean Integration]
+* link:bean-integration.html[Bean Integration]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/choice-eip.adoc b/camel-core/src/main/docs/eips/choice-eip.adoc
index 449bec1..3bd4051 100644
--- a/camel-core/src/main/docs/eips/choice-eip.adoc
+++ b/camel-core/src/main/docs/eips/choice-eip.adoc
@@ -1,5 +1,4 @@
-[[choice-eip]]
-== Choice EIP
+= Choice EIP
 
 The
 http://www.enterpriseintegrationpatterns.com/ContentBasedRouter.html[Content
@@ -70,4 +69,4 @@ And the same example using XML:
         </choice>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/circuitBreaker-eip.adoc b/camel-core/src/main/docs/eips/circuitBreaker-eip.adoc
index 91358da..abee914 100644
--- a/camel-core/src/main/docs/eips/circuitBreaker-eip.adoc
+++ b/camel-core/src/main/docs/eips/circuitBreaker-eip.adoc
@@ -1,5 +1,4 @@
-[[circuitBreaker-eip]]
-== Circuit Breaker EIP (deprecated)
+= Circuit Breaker EIP (deprecated)
 
 The Circuit Breaker load balancer is a stateful pattern that monitors all calls for certain exceptions. Initially the Circuit Breaker is in closed state and passes all messages. If there are failures and the threshold is reached, it moves to open state and rejects all calls until halfOpenAfter timeout is reached. After this timeout is reached, if there is a new call, it will pass and if the result is success the Circuit Breaker will move to closed state, or to open state if there was an error.
 When the circuit breaker is closed, it will throw a `java.util.concurrent.RejectedExecutionException`. This can then be caught to provide an alternate path for processing exchanges.
@@ -50,4 +49,4 @@ And the same example using Spring XML:
         </loadBalance>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/claimCheck-eip.adoc b/camel-core/src/main/docs/eips/claimCheck-eip.adoc
index b75fce9..942bbef 100644
--- a/camel-core/src/main/docs/eips/claimCheck-eip.adoc
+++ b/camel-core/src/main/docs/eips/claimCheck-eip.adoc
@@ -1,5 +1,4 @@
-[[claimCheck-eip]]
-== Claim Check EIP
+= Claim Check EIP
 
 *Available as of Camel 2.21*
 
@@ -254,4 +253,4 @@ The last example shows how to use the `filter` option where we only want to get
   <claimCheck operation="Pop" filter="header:(foo|bar)"/>
   <to uri="mock:c"/>
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/convertBodyTo-eip.adoc b/camel-core/src/main/docs/eips/convertBodyTo-eip.adoc
index ba0a673..84ce35e 100644
--- a/camel-core/src/main/docs/eips/convertBodyTo-eip.adoc
+++ b/camel-core/src/main/docs/eips/convertBodyTo-eip.adoc
@@ -1,5 +1,4 @@
-[[convertBodyTo-eip]]
-== Convert Body To EIP
+= Convert Body To EIP
 
 The ConvertBodyTo EIP allows you to transform your body to a different type.
 
@@ -12,4 +11,4 @@ The Convert Body To EIP supports 2 options which are listed below:
 | *type* | *Required* The java type to convert to |  | String
 | *charset* | To use a specific charset when converting |  | String
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/customLoadBalancer-eip.adoc b/camel-core/src/main/docs/eips/customLoadBalancer-eip.adoc
index cf935cb..ac595a9 100644
--- a/camel-core/src/main/docs/eips/customLoadBalancer-eip.adoc
+++ b/camel-core/src/main/docs/eips/customLoadBalancer-eip.adoc
@@ -1,5 +1,4 @@
-[[customLoadBalancer-eip]]
-== Custom Load Balancer EIP
+= Custom Load Balancer EIP
 
 This EIP allows you to use your own Load Balancer implementation
 
@@ -78,4 +77,4 @@ public static class MyLoadBalancer extends LoadBalancerSupport {
         return true;
     }
 }
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/delay-eip.adoc b/camel-core/src/main/docs/eips/delay-eip.adoc
index e804fea..a2cfe9d 100644
--- a/camel-core/src/main/docs/eips/delay-eip.adoc
+++ b/camel-core/src/main/docs/eips/delay-eip.adoc
@@ -1,5 +1,4 @@
-[[delay-eip]]
-== Delay EIP
+= Delay EIP
 The Delayer Pattern allows you to delay the delivery of messages to some destination.
 
 == Options
@@ -175,4 +174,4 @@ public class SomeBean {
 
 === See Also
 
-- Delay Interceptor
+- Delay Interceptor
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc b/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc
index f2e98bb..a956b2e 100644
--- a/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc
+++ b/camel-core/src/main/docs/eips/dynamicRouter-eip.adoc
@@ -1,5 +1,4 @@
-[[dynamicRouter-eip]]
-== Dynamic Router EIP
+= Dynamic Router EIP
 
 The link:http://www.enterpriseintegrationpatterns.com/DynamicRouter.html[Dynamic Router] from the link:../../../../readme-eip.adoc[EIP patterns] allows you to route messages while avoiding the dependency of the router on all possible destinations while maintaining its efficiency.
 
@@ -157,4 +156,4 @@ public class MyDynamicRouter {
         // return the next endpoint uri, where to go. Return null to indicate the end.
     }
 }
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/enrich-eip.adoc b/camel-core/src/main/docs/eips/enrich-eip.adoc
index 295132f..b6403d3 100644
--- a/camel-core/src/main/docs/eips/enrich-eip.adoc
+++ b/camel-core/src/main/docs/eips/enrich-eip.adoc
@@ -1,5 +1,4 @@
-[[enrich-eip]]
-== Enrich EIP
+= Enrich EIP
 
 Camel supports the Content Enricher from the EIP patterns using a Message Translator, an arbitrary Processor in the routing logic, or using the enrich DSL element to enrich the message.
 
@@ -231,4 +230,4 @@ And in XML DSL
   </enrich>
   <to uri="direct:result"/>
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/failover-eip.adoc b/camel-core/src/main/docs/eips/failover-eip.adoc
index f225abd..5a96115 100644
--- a/camel-core/src/main/docs/eips/failover-eip.adoc
+++ b/camel-core/src/main/docs/eips/failover-eip.adoc
@@ -1,5 +1,4 @@
-[[failover-eip]]
-== Failover EIP
+= Failover EIP
 
 Failover Load Balancer, with this policy in case of failures the exchange will be tried on the next endpoint.
 
@@ -43,4 +42,4 @@ In XML you'll have a route like this
        <to uri="seda:y"/>      
        <to uri="seda:z"/>       
     </loadBalance> 
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/filter-eip.adoc b/camel-core/src/main/docs/eips/filter-eip.adoc
index ca2bb66..f92968a 100644
--- a/camel-core/src/main/docs/eips/filter-eip.adoc
+++ b/camel-core/src/main/docs/eips/filter-eip.adoc
@@ -1,5 +1,4 @@
-[[filter-eip]]
-== Filter EIP
+= Filter EIP
 
 The http://www.enterpriseintegrationpatterns.com/Filter.html[Message
 Filter] from the link:enterprise-integration-patterns.html[EIP patterns]
@@ -99,4 +98,4 @@ link:predicate.html[Predicate] matches (value set to `true`), and to the
 steps immediately following the link:message-filter.html[Message Filter]
 with the value set based on the results of the last
 link:message-filter.html[Message Filter] link:predicate.html[Predicate]
-evaluated.
+evaluated.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/from-eip.adoc b/camel-core/src/main/docs/eips/from-eip.adoc
index b2c8f02..a0745aa 100644
--- a/camel-core/src/main/docs/eips/from-eip.adoc
+++ b/camel-core/src/main/docs/eips/from-eip.adoc
@@ -1,5 +1,4 @@
-[[from-eip]]
-== From EIP
+= From EIP
 Starting point for a Camel route that starts a route with a given endpoint. The endpoint can be from one of the many Camel link:https://github.com/apache/camel/tree/master/components[Components]. The component creates Camel exchanges from their respective sources and puts them into the route.
 
 === Options
@@ -35,4 +34,4 @@ The route is defined inside a CamelContext.
 <route>
   <from uri="file:c:/in" />
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/hystrix-eip.adoc b/camel-core/src/main/docs/eips/hystrix-eip.adoc
index bb6701b..ef5e60a 100644
--- a/camel-core/src/main/docs/eips/hystrix-eip.adoc
+++ b/camel-core/src/main/docs/eips/hystrix-eip.adoc
@@ -1,5 +1,4 @@
-[[hystrix-eip]]
-== Hystrix EIP
+= Hystrix EIP
 
 *Available as of Camel 2.18*
 
@@ -99,4 +98,4 @@ See link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/ei
 
 === Other examples
 
-You can find an example with the source code: link:https://github.com/apache/camel/tree/master/examples/camel-example-hystrix[camel-example-hystrix].
+You can find an example with the source code: link:https://github.com/apache/camel/tree/master/examples/camel-example-hystrix[camel-example-hystrix].
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/hystrixConfiguration-eip.adoc b/camel-core/src/main/docs/eips/hystrixConfiguration-eip.adoc
index 4d595b9..07dfa02 100644
--- a/camel-core/src/main/docs/eips/hystrixConfiguration-eip.adoc
+++ b/camel-core/src/main/docs/eips/hystrixConfiguration-eip.adoc
@@ -1,5 +1,4 @@
-[[hystrixConfiguration-eip]]
-== Hystrix Configuration EIP
+= Hystrix Configuration EIP
 
 
 // eip options: START
@@ -40,4 +39,4 @@ The Hystrix Configuration EIP supports 31 options which are listed below:
 | *threadPoolRollingNumber StatisticalWindowBuckets* | Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance. | 10 | Integer
 | *allowMaximumSizeToDiverge FromCoreSize* | Allows the configuration for maximumSize to take effect. That value can then be equal to, or higher, than coreSize | false | Boolean
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc b/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc
index 5381a69..d840101 100644
--- a/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc
+++ b/camel-core/src/main/docs/eips/idempotentConsumer-eip.adoc
@@ -1,5 +1,4 @@
-[[idempotentConsumer-eip]]
-== Idempotent Consumer EIP
+= Idempotent Consumer EIP
 
 The
 http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html[Idempotent
@@ -49,4 +48,4 @@ The Idempotent Consumer EIP supports 5 options which are listed below:
 | *skipDuplicate* | Sets whether to skip duplicates or not. The default behavior is to skip duplicates. A duplicate message would have the Exchange property org.apache.camel.Exchange#DUPLICATE_MESSAGE set to a Boolean#TRUE value. A none duplicate message will not have this property set. | true | Boolean
 | *removeOnFailure* | Sets whether to remove or keep the key on failure. The default behavior is to remove the key on failure. | true | Boolean
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/inOnly-eip.adoc b/camel-core/src/main/docs/eips/inOnly-eip.adoc
index dcaa694..71c9862 100644
--- a/camel-core/src/main/docs/eips/inOnly-eip.adoc
+++ b/camel-core/src/main/docs/eips/inOnly-eip.adoc
@@ -1,5 +1,4 @@
-[[inOnly-eip]]
-== In Only EIP
+= In Only EIP
 
 The *inOnly:* EIP define an InOnly ExchangePattern.
 
@@ -14,4 +13,4 @@ The In Only EIP supports 2 options which are listed below:
 | *uri* | *Required* Sets the uri of the endpoint to send to. |  | String
 | *ref* | *Deprecated* Sets the reference of the endpoint to send to. |  | String
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/inOut-eip.adoc b/camel-core/src/main/docs/eips/inOut-eip.adoc
index a9d8c59..3c96df8 100644
--- a/camel-core/src/main/docs/eips/inOut-eip.adoc
+++ b/camel-core/src/main/docs/eips/inOut-eip.adoc
@@ -1,5 +1,4 @@
-[[inOut-eip]]
-== In Out EIP
+= In Out EIP
 
 The *inOut:* EIP define an InOut ExchangePattern.
 
@@ -14,4 +13,4 @@ The In Out EIP supports 2 options which are listed below:
 | *uri* | *Required* Sets the uri of the endpoint to send to. |  | String
 | *ref* | *Deprecated* Sets the reference of the endpoint to send to. |  | String
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/loadBalance-eip.adoc b/camel-core/src/main/docs/eips/loadBalance-eip.adoc
index 8023c64..cb9c71b 100644
--- a/camel-core/src/main/docs/eips/loadBalance-eip.adoc
+++ b/camel-core/src/main/docs/eips/loadBalance-eip.adoc
@@ -1,5 +1,4 @@
-[[loadBalance-eip]]
-== Load Balance EIP
+= Load Balance EIP
 
 The Load Balancer Pattern allows you to delegate to one of a number of endpoints using a variety of different load balancing policies.
 
@@ -243,4 +242,4 @@ And the same example using Spring XML:
       <to uri="mock:z"/>
   </loadBalance>
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/log-eip.adoc b/camel-core/src/main/docs/eips/log-eip.adoc
index 0fc38f6..7eb2ed2 100644
--- a/camel-core/src/main/docs/eips/log-eip.adoc
+++ b/camel-core/src/main/docs/eips/log-eip.adoc
@@ -1,5 +1,4 @@
-[[log-eip]]
-== Log EIP
+= Log EIP
 
 How can I log the processing of a link:message.html[Message]?
 
@@ -200,4 +199,4 @@ And in XML:
 
 `org.apache.camel.processor.DefaultMaskingFormatter` is used for the masking by default.
 If you want to use a custom masking formatter, put it into registry with the name `CamelCustomLogMask`.
-Note that the masking formatter must implement `org.apache.camel.spi.MaskingFormatter`.
+Note that the masking formatter must implement `org.apache.camel.spi.MaskingFormatter`.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/loop-eip.adoc b/camel-core/src/main/docs/eips/loop-eip.adoc
index 0ff0e14..b9e44aa 100644
--- a/camel-core/src/main/docs/eips/loop-eip.adoc
+++ b/camel-core/src/main/docs/eips/loop-eip.adoc
@@ -1,5 +1,4 @@
-[[loop-eip]]
-== Loop EIP
+= Loop EIP
 
 The Loop allows for processing a message a number of times, possibly in a different way for each iteration. Useful mostly during testing.
 
@@ -169,4 +168,4 @@ And the same example in XML:
 </route>
 ----
 
-Notice in XML that the while loop is turned on using the *doWhile* attribute.
+Notice in XML that the while loop is turned on using the *doWhile* attribute.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/marshal-eip.adoc b/camel-core/src/main/docs/eips/marshal-eip.adoc
index 3b66833..e3fcc43 100644
--- a/camel-core/src/main/docs/eips/marshal-eip.adoc
+++ b/camel-core/src/main/docs/eips/marshal-eip.adoc
@@ -1,5 +1,4 @@
-[[marshal-eip]]
-== Marshal EIP
+= Marshal EIP
 
 Marshalling is the opposite of unmarshalling, where a bean is marshalled into some binary or textual format for transmission over some transport via a Camel link:https://github.com/apache/camel/tree/master/components[Components]. Marshalling is used in the same way as unmarshalling above; in the link:https://github.com/apache/camel/blob/master/docs/user-manual/en/dsl.adoc[DSL] you can use a DataFormat instance, you can configure the DataFormat dynamically using the DSL or you can refer t [...]
 
@@ -42,4 +41,4 @@ You can also define reusable data formats as Spring beans
   <property name="prettyPrint" value="true"/>
   <property name="contextPath" value="org.apache.camel.example"/>
 </bean> 
---------------------------------------------------------
+--------------------------------------------------------
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/multicast-eip.adoc b/camel-core/src/main/docs/eips/multicast-eip.adoc
index 0429a9f..6c6c661 100644
--- a/camel-core/src/main/docs/eips/multicast-eip.adoc
+++ b/camel-core/src/main/docs/eips/multicast-eip.adoc
@@ -1,5 +1,4 @@
-[[multicast-eip]]
-== Multicast EIP
+= Multicast EIP
 
 The Multicast EIP allows to route the same message to a number of endpoints
 and process them in a different way. The main difference between the
@@ -133,4 +132,4 @@ interface.
 
 Notice the `onPrepare` can be used for any kind of custom logic which
 you would like to execute before the link:exchange.html[Exchange] is
-being multicasted.
+being multicasted.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/onFallback-eip.adoc b/camel-core/src/main/docs/eips/onFallback-eip.adoc
index 74f58e1..8fe9b76 100644
--- a/camel-core/src/main/docs/eips/onFallback-eip.adoc
+++ b/camel-core/src/main/docs/eips/onFallback-eip.adoc
@@ -1,5 +1,4 @@
-[[onFallback-eip]]
-== On Fallback EIP
+= On Fallback EIP
 
 If you are using *onFallback* then that is intended to be local processing only where you can do a message transformation or call a bean or something as the fallback. If you need to call an external service over the network then you should use *onFallbackViaNetwork* that runs in another independent *HystrixCommand* that uses its own thread pool to not exhaust the first command.
 Configuring Hystrix Example
@@ -77,4 +76,4 @@ You can also configure Hystrix globally and then refer to that configuration:
     <to uri="mock:result"/>
   </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/otherwise-eip.adoc b/camel-core/src/main/docs/eips/otherwise-eip.adoc
index 724781c..6dd8a62 100644
--- a/camel-core/src/main/docs/eips/otherwise-eip.adoc
+++ b/camel-core/src/main/docs/eips/otherwise-eip.adoc
@@ -1,5 +1,4 @@
-[[otherwise-eip]]
-== Otherwise EIP
+= Otherwise EIP
 
 The Otherwise EIP is related to http://www.enterpriseintegrationpatterns.com/ContentBasedRouter.html[Content
 Based Router] from the link:enterprise-integration-patterns.html[EIP
@@ -58,4 +57,4 @@ And the same example using XML:
         </choice>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/pollEnrich-eip.adoc b/camel-core/src/main/docs/eips/pollEnrich-eip.adoc
index 2d699b4..b1b8bd4 100644
--- a/camel-core/src/main/docs/eips/pollEnrich-eip.adoc
+++ b/camel-core/src/main/docs/eips/pollEnrich-eip.adoc
@@ -1,5 +1,4 @@
-[[pollEnrich-eip]]
-== Poll Enrich EIP
+= Poll Enrich EIP
 
 Camel comes with flavor `pollEnrich` as a choice of content enricher in the DSL.
 The other one is `enrich`
@@ -132,4 +131,4 @@ And in XML DSL
   </pollEnrich>
   <to uri="direct:result"/>
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/process-eip.adoc b/camel-core/src/main/docs/eips/process-eip.adoc
index 04cdd48..a155eb9 100644
--- a/camel-core/src/main/docs/eips/process-eip.adoc
+++ b/camel-core/src/main/docs/eips/process-eip.adoc
@@ -1,5 +1,4 @@
-[[process-eip]]
-== Process EIP
+= Process EIP
 
 The http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/Processor.html[Processor] interface is used to implement consumers of message exchanges or to implement a link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/eips/message-translator.adoc[Message Translator]
 
@@ -102,4 +101,4 @@ link:writing-components.html[Writing Components]
 * link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/eips/message-translator.adoc[Message Translator]
 * link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/eips/enrich-eip.adoc[Content Enricher-Enrich EIP]
 * link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/eips/pollEnrich-eip.adoc[Content Enricher-Poll Enrich EIP]
-* link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/eips/content-filter.adoc[Content Filter]
+* link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/eips/content-filter.adoc[Content Filter]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/random-eip.adoc b/camel-core/src/main/docs/eips/random-eip.adoc
index 7a74e96..9fa3992 100644
--- a/camel-core/src/main/docs/eips/random-eip.adoc
+++ b/camel-core/src/main/docs/eips/random-eip.adoc
@@ -1,7 +1,6 @@
-[[random-eip]]
-== Random EIP
+= Random EIP
 
 
 // eip options: START
 The Random EIP has no options.
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/recipientList-eip.adoc b/camel-core/src/main/docs/eips/recipientList-eip.adoc
index c4377d4..fcfaed6 100644
--- a/camel-core/src/main/docs/eips/recipientList-eip.adoc
+++ b/camel-core/src/main/docs/eips/recipientList-eip.adoc
@@ -1,5 +1,4 @@
-[[recipientList-eip]]
-== Recipient List EIP
+= Recipient List EIP
 The link:http://www.enterpriseintegrationpatterns.com/RecipientList.html[Recipient List] from the EIP patterns allows you to route messages to a number of dynamically specified recipients.
 
 image:http://www.enterpriseintegrationpatterns.com/img/RecipientList.gif[image]
@@ -372,4 +371,4 @@ be `InOnly` when the message is routed to the `file:outbox endpoint`.
 If you want to alter the exchange pattern permanently then use the `.setExchangePattern` option.
 
 See more details at Request Reply and Event Message EIPs.
-====
+====
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/removeHeader-eip.adoc b/camel-core/src/main/docs/eips/removeHeader-eip.adoc
index 09e2a79..35b28694 100644
--- a/camel-core/src/main/docs/eips/removeHeader-eip.adoc
+++ b/camel-core/src/main/docs/eips/removeHeader-eip.adoc
@@ -1,5 +1,4 @@
-[[removeHeader-eip]]
-== Remove Header EIP
+= Remove Header EIP
 The Remove Header EIP allows you to remove an header from your exchange.
 
 == Options
@@ -36,4 +35,4 @@ The sample below demonstrates the delay in Spring DSL:
   <to uri="mock:result"/>
 </route>
 
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/removeHeaders-eip.adoc b/camel-core/src/main/docs/eips/removeHeaders-eip.adoc
index 3f1147d..0922a8b 100644
--- a/camel-core/src/main/docs/eips/removeHeaders-eip.adoc
+++ b/camel-core/src/main/docs/eips/removeHeaders-eip.adoc
@@ -1,5 +1,4 @@
-[[removeHeaders-eip]]
-== Remove Headers EIP
+= Remove Headers EIP
 The Remove Headers EIP allows you to remove headers from your exchange.
 
 == Options
@@ -22,4 +21,4 @@ The Remove Headers EIP supports 2 options which are listed below:
 from("seda:b")
   .removeHeaders(map)
   .to("mock:result");
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/removeProperties-eip.adoc b/camel-core/src/main/docs/eips/removeProperties-eip.adoc
index 1aec420..f1ab301 100644
--- a/camel-core/src/main/docs/eips/removeProperties-eip.adoc
+++ b/camel-core/src/main/docs/eips/removeProperties-eip.adoc
@@ -1,5 +1,4 @@
-[[removeProperties-eip]]
-== Remove Properties EIP
+= Remove Properties EIP
 
 The RemoveProperties EIP allows you to remove Properties from you exchange.
 
@@ -43,4 +42,4 @@ And the same example using XML:
         <to uri="direct:b"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/removeProperty-eip.adoc b/camel-core/src/main/docs/eips/removeProperty-eip.adoc
index 19ddb2c..c49d71a 100644
--- a/camel-core/src/main/docs/eips/removeProperty-eip.adoc
+++ b/camel-core/src/main/docs/eips/removeProperty-eip.adoc
@@ -1,5 +1,4 @@
-[[removeProperty-eip]]
-== Remove Property EIP
+= Remove Property EIP
 
 The RemoveProperty EIP allows you to remove a Property from your exchange.
 
@@ -42,4 +41,4 @@ And the same example using XML:
         <to uri="direct:b"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/resequence-eip.adoc b/camel-core/src/main/docs/eips/resequence-eip.adoc
index a2a698f..15656fa 100644
--- a/camel-core/src/main/docs/eips/resequence-eip.adoc
+++ b/camel-core/src/main/docs/eips/resequence-eip.adoc
@@ -1,5 +1,4 @@
-[[resequence-eip]]
-== Resequence EIP
+= Resequence EIP
 
 The link:http://www.enterpriseintegrationpatterns.com/Resequencer.html[Resequencer] from the link:https://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] allows you to reorganise messages based on some comparator. +
 By default in Camel we use an Expression to create the comparator; so that you can compare by a message header or the body or a piece of a message etc.
@@ -240,4 +239,4 @@ And an example in XML
     </resequence>
   </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/rollback-eip.adoc b/camel-core/src/main/docs/eips/rollback-eip.adoc
index b86d65e..d2490c5 100644
--- a/camel-core/src/main/docs/eips/rollback-eip.adoc
+++ b/camel-core/src/main/docs/eips/rollback-eip.adoc
@@ -1,5 +1,4 @@
-[[rollback-eip]]
-== Rollback EIP
+= Rollback EIP
 Rollback might be needed if there is a transaction or transactional pieces in your design.
 
 Camel recommends supporting the
@@ -222,7 +221,8 @@ parts that cause separate threads to avoid this issue.
 
 === Using multiple routes with different propagation behaviors
 
-*Available as of Camel 2.2* +
+*Available as of Camel 2.2*
+
 Suppose you want to route a message through two routes and by which the
 2nd route should run in its own transaction. How do you do that? You use
 propagation behaviors for that where you configure it as follows:
@@ -248,4 +248,4 @@ Camel to only do it for the current transaction and not globally.
 * link:https://github.com/apache/camel/blob/master/components/camel-jms/src/main/docs/jms-component.adoc[JMS]
 * link:https://github.com/apache/camel/blob/master/docs/user-manual/en/oncompletion.adoc[On Completion]
 
-link:using-this-pattern.html[Using This Pattern]
+link:using-this-pattern.html[Using This Pattern]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/roundRobin-eip.adoc b/camel-core/src/main/docs/eips/roundRobin-eip.adoc
index ff7e41f..a3e6a71 100644
--- a/camel-core/src/main/docs/eips/roundRobin-eip.adoc
+++ b/camel-core/src/main/docs/eips/roundRobin-eip.adoc
@@ -1,5 +1,4 @@
-[[roundRobin-eip]]
-== Round Robin EIP
+= Round Robin EIP
 
 Round Robin Load Balancer. With this Load Balancing policy, a random endpoint is selected for each exchange.
 
@@ -32,4 +31,4 @@ In XML you'll have a route like this
        <to uri="seda:y"/>      
        <to uri="seda:z"/>       
     </loadBalance> 
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/routingSlip-eip.adoc b/camel-core/src/main/docs/eips/routingSlip-eip.adoc
index 38e37c1..5564983 100644
--- a/camel-core/src/main/docs/eips/routingSlip-eip.adoc
+++ b/camel-core/src/main/docs/eips/routingSlip-eip.adoc
@@ -1,5 +1,4 @@
-[[routingSlip-eip]]
-== Routing Slip EIP
+= Routing Slip EIP
 The Routing Slip from the link:https://camel.apache.org/enterprise-integration-patterns.html[EIP patterns] allows you to route a message consecutively through a series of processing steps where the sequence of steps is not known at design time and can vary for each message.
 
 image:http://www.enterpriseintegrationpatterns.com/img/RoutingTableSimple.gif[image]
@@ -110,4 +109,4 @@ And in Spring XML its an attribute on the recipient list tag.
 For further examples of this pattern in use you could look at the routing slip test cases.
 
 === Using This Pattern
-If you would like to use this EIP Pattern then please read the Getting Started, you may also find the Architecture useful particularly the description of Endpoint and URIs. Then you could try out some of the Examples first before trying this pattern out.
+If you would like to use this EIP Pattern then please read the Getting Started, you may also find the Architecture useful particularly the description of Endpoint and URIs. Then you could try out some of the Examples first before trying this pattern out.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/saga-eip.adoc b/camel-core/src/main/docs/eips/saga-eip.adoc
index 1dbb0d1..19f7e45 100644
--- a/camel-core/src/main/docs/eips/saga-eip.adoc
+++ b/camel-core/src/main/docs/eips/saga-eip.adoc
@@ -1,5 +1,4 @@
-[[saga-eip]]
-== Saga EIP
+= Saga EIP
 
 *Available as of Camel 2.21*
 
@@ -447,4 +446,4 @@ The following snipped shows an example:
   <to uri="direct:action1" />
   <to uri="direct:action2" />
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/sample-eip.adoc b/camel-core/src/main/docs/eips/sample-eip.adoc
index dab75fc..24fa65c 100644
--- a/camel-core/src/main/docs/eips/sample-eip.adoc
+++ b/camel-core/src/main/docs/eips/sample-eip.adoc
@@ -1,5 +1,4 @@
-[[sample-eip]]
-== Sample EIP
+= Sample EIP
 *Available as of Camel 2.1*
 
 A sampling throttler allows you to extract a sample of the exchanges from the traffic through a route. +
@@ -82,4 +81,4 @@ And since it uses a default of 1 second you can omit this configuration in case
         <to uri="mock:result"/>
     </sample>
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/script-eip.adoc b/camel-core/src/main/docs/eips/script-eip.adoc
index 5de851b..97faa83 100644
--- a/camel-core/src/main/docs/eips/script-eip.adoc
+++ b/camel-core/src/main/docs/eips/script-eip.adoc
@@ -1,5 +1,4 @@
-[[script-eip]]
-== Script EIP
+= Script EIP
 *Available as of Camel 2.16*
 
 Is used to execute a script which does not change the message (by default).
@@ -73,4 +72,4 @@ For example to load a groovy script from the classpath you need to prefix the va
 ----
 
 You can also refer to the script from the file system with `file:` instead of `classpath:`
-such as `file:/var/myscript.groovy`
+such as `file:/var/myscript.groovy`
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/serviceCall-eip.adoc b/camel-core/src/main/docs/eips/serviceCall-eip.adoc
index 68d81f3..37cd7a7 100644
--- a/camel-core/src/main/docs/eips/serviceCall-eip.adoc
+++ b/camel-core/src/main/docs/eips/serviceCall-eip.adoc
@@ -1,5 +1,4 @@
-[[serviceCall-eip]]
-== Service Call EIP
+= Service Call EIP
 *Available as of Camel 2.18*
 
 The Service Call EIP allows to call remote services in a distributed system.
@@ -608,4 +607,4 @@ If you are using Camel in an application based on Spring Cloud, you can leverage
     <!-- use the same version as your Camel core version -->
     <version>x.y.z</version>
 </dependency>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/setBody-eip.adoc b/camel-core/src/main/docs/eips/setBody-eip.adoc
index 36d6599..904b9cb 100644
--- a/camel-core/src/main/docs/eips/setBody-eip.adoc
+++ b/camel-core/src/main/docs/eips/setBody-eip.adoc
@@ -1,5 +1,4 @@
-[[setBody-eip]]
-== Set Body EIP
+= Set Body EIP
 
 The SetBody EIP allows you to set the body of your exchange.
 
@@ -36,4 +35,4 @@ And the same example using XML:
         <to uri="direct:b"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/setFaultBody-eip.adoc b/camel-core/src/main/docs/eips/setFaultBody-eip.adoc
index 095d9ed..21d0272 100644
--- a/camel-core/src/main/docs/eips/setFaultBody-eip.adoc
+++ b/camel-core/src/main/docs/eips/setFaultBody-eip.adoc
@@ -1,5 +1,4 @@
-[[setFaultBody-eip]]
-== Set Fault Body EIP
+= Set Fault Body EIP
 
 The SetFaultBody EIP allows you to set contents of a fault message's body.
 
@@ -36,4 +35,4 @@ And the same example using XML:
         <to uri="direct:b"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/setHeader-eip.adoc b/camel-core/src/main/docs/eips/setHeader-eip.adoc
index 936671a..9d4565f 100644
--- a/camel-core/src/main/docs/eips/setHeader-eip.adoc
+++ b/camel-core/src/main/docs/eips/setHeader-eip.adoc
@@ -1,5 +1,4 @@
-[[setHeader-eip]]
-== Set Header EIP
+= Set Header EIP
 
 The SetHeader EIP allows you to set and header on your exchange.
 
@@ -44,4 +43,4 @@ And the same example using XML:
         <to uri="direct:b"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/setOutHeader-eip.adoc b/camel-core/src/main/docs/eips/setOutHeader-eip.adoc
index d80f8fa..65e9805 100644
--- a/camel-core/src/main/docs/eips/setOutHeader-eip.adoc
+++ b/camel-core/src/main/docs/eips/setOutHeader-eip.adoc
@@ -1,5 +1,4 @@
-[[setOutHeader-eip]]
-== Set Out Header EIP (deprecated)
+= Set Out Header EIP (deprecated)
 == Set Header EIP
 
 This EIP is deprecated.
diff --git a/camel-core/src/main/docs/eips/setProperty-eip.adoc b/camel-core/src/main/docs/eips/setProperty-eip.adoc
index 3e547d7..d27d1fd 100644
--- a/camel-core/src/main/docs/eips/setProperty-eip.adoc
+++ b/camel-core/src/main/docs/eips/setProperty-eip.adoc
@@ -1,5 +1,4 @@
-[[setProperty-eip]]
-== Set Property EIP
+= Set Property EIP
 
 The SetProperty EIP allows you to set a property on your exchange.
 
@@ -44,4 +43,4 @@ And the same example using XML:
         <to uri="direct:b"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/sort-eip.adoc b/camel-core/src/main/docs/eips/sort-eip.adoc
index 40ec1b4..6405dec 100644
--- a/camel-core/src/main/docs/eips/sort-eip.adoc
+++ b/camel-core/src/main/docs/eips/sort-eip.adoc
@@ -1,5 +1,4 @@
-[[sort-eip]]
-== Sort EIP
+= Sort EIP
 
 Sort can be used to sort a message. Imagine you consume text files and before processing each file you want to be sure the content is sorted.
 
@@ -66,4 +65,4 @@ And to use our own comparator we can refer to it as a spring bean:
 <bean id="myReverseComparator" class="com.mycompany.MyReverseComparator"/>
 ----
 
-Besides `<simple>`, you can supply an expression using any language you like, so long as it returns a list.
+Besides `<simple>`, you can supply an expression using any language you like, so long as it returns a list.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/split-eip.adoc b/camel-core/src/main/docs/eips/split-eip.adoc
index a365137..5953c5a 100644
--- a/camel-core/src/main/docs/eips/split-eip.adoc
+++ b/camel-core/src/main/docs/eips/split-eip.adoc
@@ -1,5 +1,4 @@
-[[split-eip]]
-== Split EIP
+= Split EIP
 
 The link:http://www.enterpriseintegrationpatterns.com/patterns/messaging/Sequencer.html[Splitter] from the link:enterprise-integration-patterns.html[EIP patterns] allows you split a message into a number of pieces and process them individually.
 
@@ -684,4 +683,4 @@ Using this from XML DSL is just as easy as you just have to set the `shareUnitOf
 .Implementation of shared unit of work
 ====
 So in reality the unit of work is not shared as a single object instance. Instead `SubUnitOfWork` is attached to their parent, and issues callback to the parent about their status (commit or rollback). This may be refactored in Camel 3.0 where larger API changes can be done.
-====
+====
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/sticky-eip.adoc b/camel-core/src/main/docs/eips/sticky-eip.adoc
index 659e748..2c9adf6 100644
--- a/camel-core/src/main/docs/eips/sticky-eip.adoc
+++ b/camel-core/src/main/docs/eips/sticky-eip.adoc
@@ -1,5 +1,4 @@
-[[sticky-eip]]
-== Sticky EIP
+= Sticky EIP
 
 Sticky Load Balancer. Sticky load balancing uses an Expression to calculate a correlation key to perform the sticky load balancing.
 
@@ -42,4 +41,4 @@ In XML you'll have a route like this
        <to uri="seda:y"/>      
        <to uri="seda:z"/>       
     </loadBalance> 
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/stop-eip.adoc b/camel-core/src/main/docs/eips/stop-eip.adoc
index 4f8c4fd..f88851f 100644
--- a/camel-core/src/main/docs/eips/stop-eip.adoc
+++ b/camel-core/src/main/docs/eips/stop-eip.adoc
@@ -1,5 +1,4 @@
-[[stop-eip]]
-== Stop EIP
+= Stop EIP
 The Stop EIP stops the processing of the current message
 
 == Options
@@ -19,4 +18,4 @@ from("direct:start")
         .otherwise().to("mock:other")
     .end()
 .to("mock:result");
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/stream-config-eip.adoc b/camel-core/src/main/docs/eips/stream-config-eip.adoc
index ab91316..acc9e6c 100644
--- a/camel-core/src/main/docs/eips/stream-config-eip.adoc
+++ b/camel-core/src/main/docs/eips/stream-config-eip.adoc
@@ -1,5 +1,4 @@
-[[stream-config-eip]]
-== Stream-config EIP
+= Stream-config EIP
 
 Stream-processing resequence EIP
 
@@ -16,4 +15,4 @@ The Stream-config EIP supports 6 options which are listed below:
 | *comparatorRef* | To use a custom comparator |  | String
 | *rejectOld* | If true, throws an exception when messages older than the last delivered message are processed | false | Boolean
 |===
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/threads-eip.adoc b/camel-core/src/main/docs/eips/threads-eip.adoc
index e2f94f5..04cd166 100644
--- a/camel-core/src/main/docs/eips/threads-eip.adoc
+++ b/camel-core/src/main/docs/eips/threads-eip.adoc
@@ -1,5 +1,4 @@
-[[threads-eip]]
-== Threads EIP
+= Threads EIP
 The Threads Pattern allows you to introduce a thread pool into a route.
 
 == Options
@@ -48,4 +47,4 @@ The sample below demonstrates the threads EIP in Spring DSL:
         <to uri="mock:result"/>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/throttle-eip.adoc b/camel-core/src/main/docs/eips/throttle-eip.adoc
index aa0582b..97c0662 100644
--- a/camel-core/src/main/docs/eips/throttle-eip.adoc
+++ b/camel-core/src/main/docs/eips/throttle-eip.adoc
@@ -1,5 +1,4 @@
-[[throttle-eip]]
-== Throttle EIP
+= Throttle EIP
 
 The Throttler Pattern allows you to ensure that a specific endpoint does not get overloaded, or that we don't exceed an agreed SLA with some external service.
 
@@ -81,4 +80,4 @@ You can let the Throttler use non blocking asynchronous delaying, which means Ca
 from("seda:a")
   .throttle(100).asyncDelayed()
   .to("seda:b");
----------------------
+---------------------
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/to-eip.adoc b/camel-core/src/main/docs/eips/to-eip.adoc
index 11a46e9..c4826ca 100644
--- a/camel-core/src/main/docs/eips/to-eip.adoc
+++ b/camel-core/src/main/docs/eips/to-eip.adoc
@@ -1,5 +1,4 @@
-[[to-eip]]
-== To EIP
+= To EIP
 
 See message related documentation
 
@@ -87,4 +86,4 @@ And here we use `<to>` with the `pattern` attribute to set the exchange pattern:
   <from uri="direct:startInOut"/>
   <to pattern="InOut" uri="bean:process"/>
 </route>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/toD-eip.adoc b/camel-core/src/main/docs/eips/toD-eip.adoc
index ad6d557..03f996e 100644
--- a/camel-core/src/main/docs/eips/toD-eip.adoc
+++ b/camel-core/src/main/docs/eips/toD-eip.adoc
@@ -1,5 +1,4 @@
-[[toD-eip]]
-== To D EIP
+= To D EIP
 
 There is a new `.toD` / `<toD>` that allows to send a message to a dynamic
 computed <<Endpoint-Endpoints,Endpoint>> using one or
@@ -215,6 +214,4 @@ during startup if `toD` was optimised, or if there was a failure loading the opt
 [source,text]
 ----
 Detected SendDynamicAware component: http optimising toD: http:myloginserver:8080/login?userid=${header.userName}
-----
-
-
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/topic-eip.adoc b/camel-core/src/main/docs/eips/topic-eip.adoc
index cdcddf3..5726a1a 100644
--- a/camel-core/src/main/docs/eips/topic-eip.adoc
+++ b/camel-core/src/main/docs/eips/topic-eip.adoc
@@ -1,5 +1,4 @@
-[[topic-eip]]
-== Topic EIP
+= Topic EIP
 
 Topic Load Balancer, with this policy you'll get a Topic behavior by sending to all destinations.
 
@@ -32,4 +31,4 @@ In XML you'll have a route like this
        <to uri="seda:y"/>      
        <to uri="seda:z"/>       
     </loadBalance> 
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/transform-eip.adoc b/camel-core/src/main/docs/eips/transform-eip.adoc
index ab0ac79..da971dc 100644
--- a/camel-core/src/main/docs/eips/transform-eip.adoc
+++ b/camel-core/src/main/docs/eips/transform-eip.adoc
@@ -1,5 +1,4 @@
-[[transform-eip]]
-== Transform EIP
+= Transform EIP
 
 See below for details
 
@@ -9,4 +8,4 @@ See below for details
 
 // eip options: START
 The Transform EIP has no options.
-// eip options: END
+// eip options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/unmarshal-eip.adoc b/camel-core/src/main/docs/eips/unmarshal-eip.adoc
index ad387cd..820f4a4 100644
--- a/camel-core/src/main/docs/eips/unmarshal-eip.adoc
+++ b/camel-core/src/main/docs/eips/unmarshal-eip.adoc
@@ -1,5 +1,4 @@
-[[unmarshal-eip]]
-== Unmarshal EIP
+= Unmarshal EIP
 
 If you receive a message from one of the Camel link:https://github.com/apache/camel/tree/master/components[Components] such as link:https://github.com/apache/camel/blob/master/camel-core/src/main/docs/file-component.adoc[File], link:https://github.com/apache/camel/blob/master/components/camel-http/src/main/docs/http-component.adoc[HTTP] or link:https://github.com/apache/camel/blob/master/components/camel-jms/src/main/docs/jms-component.adoc[JMS] you often want to unmarshal the payload in [...]
 
@@ -40,5 +39,4 @@ file then send it as an ObjectMessage to link:https://github.com/apache/camel/tr
 from("file://foo/bar").
   unmarshal().serialization().
   to("activemq:Some.Queue");
-----
-
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/validate-eip.adoc b/camel-core/src/main/docs/eips/validate-eip.adoc
index 23c55c3..94ca2b1 100644
--- a/camel-core/src/main/docs/eips/validate-eip.adoc
+++ b/camel-core/src/main/docs/eips/validate-eip.adoc
@@ -1,6 +1,5 @@
-[[validate-eip]]
-== Validate EIP
-*Available as of Camel 2.3* +
+= Validate EIP
+*Available as of Camel 2.3*
 
 Validate uses an expression or predicates to validate the contents of a message.
 It is useful for ensuring that messages are valid before attempting to process them.
@@ -71,4 +70,4 @@ The XML DSL to validate the message header would looks like this:
 </route>
 
 <bean id="myServiceBean" class="com.mycompany.MyServiceBean"/>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/weighted-eip.adoc b/camel-core/src/main/docs/eips/weighted-eip.adoc
index f637f25..cfca02e 100644
--- a/camel-core/src/main/docs/eips/weighted-eip.adoc
+++ b/camel-core/src/main/docs/eips/weighted-eip.adoc
@@ -1,5 +1,4 @@
-[[weighted-eip]]
-== Weighted EIP
+= Weighted EIP
 
 Weighted Load Balancer, with this policy in case of failures the exchange will be tried on the next endpoint.
 
@@ -40,4 +39,4 @@ In XML you'll have a route like this
     <to uri="seda:y"/> 
     <to uri="seda:z"/> 
   </loadBalance>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/when-eip.adoc b/camel-core/src/main/docs/eips/when-eip.adoc
index cf6747c..77d28a3 100644
--- a/camel-core/src/main/docs/eips/when-eip.adoc
+++ b/camel-core/src/main/docs/eips/when-eip.adoc
@@ -1,5 +1,4 @@
-[[when-eip]]
-== When EIP
+= When EIP
 
 The When EIP is related to http://www.enterpriseintegrationpatterns.com/ContentBasedRouter.html[Content
 Based Router] from the link:enterprise-integration-patterns.html[EIP
@@ -58,4 +57,4 @@ And the same example using XML:
         </choice>
     </route>
 </camelContext>
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/eips/wireTap-eip.adoc b/camel-core/src/main/docs/eips/wireTap-eip.adoc
index 33d1b35..6ee10e9 100644
--- a/camel-core/src/main/docs/eips/wireTap-eip.adoc
+++ b/camel-core/src/main/docs/eips/wireTap-eip.adoc
@@ -1,5 +1,4 @@
-[[wireTap-eip]]
-== Wire Tap EIP
+= Wire Tap EIP
 
 http://www.enterpriseintegrationpatterns.com/WireTap.html[Wire Tap]
 (from the link:enterprise-integration-patterns.html[EIP patterns])
@@ -211,4 +210,4 @@ The following example sends a new message which has
 
 See details at link:multicast.html[Multicast]
 
-link:using-this-pattern.html[Using This Pattern]
+link:using-this-pattern.html[Using This Pattern]
\ No newline at end of file
diff --git a/camel-core/src/main/docs/exchangeProperty-language.adoc b/camel-core/src/main/docs/exchangeProperty-language.adoc
index 163261e..87271a2 100644
--- a/camel-core/src/main/docs/exchangeProperty-language.adoc
+++ b/camel-core/src/main/docs/exchangeProperty-language.adoc
@@ -1,5 +1,5 @@
 [[exchangeProperty-language]]
-== ExchangeProperty Language
+= ExchangeProperty Language
 
 *Available as of Camel version 2.0*
 
diff --git a/camel-core/src/main/docs/file-component.adoc b/camel-core/src/main/docs/file-component.adoc
index bcd4903..f49087b 100644
--- a/camel-core/src/main/docs/file-component.adoc
+++ b/camel-core/src/main/docs/file-component.adoc
@@ -1,5 +1,5 @@
 [[file-component]]
-== File Component
+= File Component
 
 *Available as of Camel version 1.0*
 
@@ -62,7 +62,7 @@ file:directoryName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -72,15 +72,15 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (87 parameters):
+=== Query Parameters (87 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
 | *charset* (common) | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the dat [...]
-| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
-| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
+| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
+| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
 | *bridgeErrorHandler* (consumer) | 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. 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. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
 | *moveFailed* (consumer) | Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again. |  | String
@@ -111,7 +111,7 @@ with the following path and query parameters:
 | *chmodDirectory* (producer) | Specify the directory permissions used when the producer creates missing directories, the chmod value must be between 000 and 777; If there is a leading digit like in 0755 we will ignore it. |  | String
 | *eagerDeleteTargetFile* (producer) | Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before t [...]
 | *forceWrites* (producer) | Whether to force syncing writes to the file system. You can turn this off if you do not want this level of guarantee, for example if writing to logs / audit logs etc; this would yield better performance. | true | boolean
-| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | boolean
+| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | boolean
 | *moveExistingFileStrategy* (producer) | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided |  | FileMoveExisting Strategy
 | *autoCreate* (advanced) | Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to. | true | boolean
 | *bufferSize* (advanced) | Write buffer sized in bytes. | 131072 | int
@@ -124,10 +124,10 @@ with the following path and query parameters:
 | *eagerMaxMessagesPerPoll* (filter) | Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | boolean
 | *exclude* (filter) | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *filter* (filter) | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. |  | GenericFileFilter
-| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as $date:now:yyyMMdd |  | String
-| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use $file:size 5000 |  | String
+| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as \$date:now:yyyMMdd |  | String
+| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use \$file:size 5000 |  | String
 | *idempotent* (filter) | Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again. | false | Boolean
-| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=$file:name-$file:size |  | String
+| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=\$file:name-\$file:size |  | String
 | *idempotentRepository* (filter) | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. |  | IdempotentRepository
 | *include* (filter) | Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *maxDepth* (filter) | The maximum depth to traverse when recursively processing a directory. | 2147483647 | int
@@ -357,7 +357,8 @@ this number of files.
 
 === Using charset
 
-*Available as of Camel 2.9.3* +
+*Available as of Camel 2.9.3*
+
  The charset option allows for configuring an encoding of the files on
 both the consumer and producer endpoints. For example if you read utf-8
 files, and want to convert the files to iso-8859-1, you can do:
@@ -1131,4 +1132,4 @@ problems.
 
 * <<file-language,File Language>>
 * FTP
-* Polling Consumer
+* Polling Consumer
\ No newline at end of file
diff --git a/camel-core/src/main/docs/file-language.adoc b/camel-core/src/main/docs/file-language.adoc
index b4ec091..b146984 100644
--- a/camel-core/src/main/docs/file-language.adoc
+++ b/camel-core/src/main/docs/file-language.adoc
@@ -1,5 +1,5 @@
 [[file-language]]
-== File Language
+= File Language
 
 *Available as of Camel version 1.1*
 
@@ -292,4 +292,4 @@ Could not resolve placeholder 'date:now:yyyyMMdd'
 
 === Dependencies
 
-The File language is part of *camel-core*.
+The File language is part of *camel-core*.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/gzip-dataformat.adoc b/camel-core/src/main/docs/gzip-dataformat.adoc
index cab37fd..a947034 100644
--- a/camel-core/src/main/docs/gzip-dataformat.adoc
+++ b/camel-core/src/main/docs/gzip-dataformat.adoc
@@ -1,5 +1,5 @@
 [[gzip-dataformat]]
-== GZip DataFormat
+= GZip DataFormat
 
 *Available as of Camel version 2.0*
 
@@ -52,4 +52,4 @@ from("activemq:queue:MY_QUEUE").unmarshal().gzip().process(new UnGZippedMessageP
 === Dependencies
 
 This data format is provided in *camel-core* so no additional
-dependencies is needed.
+dependencies is needed.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/header-language.adoc b/camel-core/src/main/docs/header-language.adoc
index f50cc76..48d5c2f 100644
--- a/camel-core/src/main/docs/header-language.adoc
+++ b/camel-core/src/main/docs/header-language.adoc
@@ -1,5 +1,5 @@
 [[header-language]]
-== Header Language
+= Header Language
 
 *Available as of Camel version 1.5*
 
diff --git a/camel-core/src/main/docs/health-check.adoc b/camel-core/src/main/docs/health-check.adoc
index 67ec2ba..bade27b 100644
--- a/camel-core/src/main/docs/health-check.adoc
+++ b/camel-core/src/main/docs/health-check.adoc
@@ -2,7 +2,6 @@
 == HealthCheck
 
 *Available as of Camel 2.20*
-
 [WARNING]
 ====
 *Experimental feature*
diff --git a/camel-core/src/main/docs/language-component.adoc b/camel-core/src/main/docs/language-component.adoc
index 6809f3b..8ff9fd9 100644
--- a/camel-core/src/main/docs/language-component.adoc
+++ b/camel-core/src/main/docs/language-component.adoc
@@ -1,5 +1,5 @@
 [[language-component]]
-== Language Component
+= Language Component
 
 *Available as of Camel version 2.5*
 
@@ -51,7 +51,7 @@ language:languageName:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -62,7 +62,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (6 parameters):
+=== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -131,4 +131,4 @@ updated script is used:
 
 From *Camel 2.11* onwards you can refer to the resource similar to the
 other <<language-component,Language>>s in Camel by prefixing with
-`"resource:"` as shown below:
+`"resource:"` as shown below:
\ No newline at end of file
diff --git a/camel-core/src/main/docs/log-component.adoc b/camel-core/src/main/docs/log-component.adoc
index a052aa1..eaedc11 100644
--- a/camel-core/src/main/docs/log-component.adoc
+++ b/camel-core/src/main/docs/log-component.adoc
@@ -1,5 +1,5 @@
 [[log-component]]
-== Log Component
+= Log Component
 
 *Available as of Camel version 1.1*
 
@@ -79,7 +79,7 @@ log:loggerName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -89,7 +89,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (26 parameters):
+=== Query Parameters (26 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -327,4 +327,4 @@ reference it using `logger` URI parameter.
 === See Also
 
 * LogEIP for using `log` directly in the DSL for human
-logs.
+logs.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/mock-component.adoc b/camel-core/src/main/docs/mock-component.adoc
index e2795f9..e816fbc 100644
--- a/camel-core/src/main/docs/mock-component.adoc
+++ b/camel-core/src/main/docs/mock-component.adoc
@@ -1,5 +1,5 @@
 [[mock-component]]
-== Mock Component
+= Mock Component
 
 *Available as of Camel version 1.0*
 
@@ -93,7 +93,7 @@ mock:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -103,7 +103,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -153,7 +153,8 @@ invoked. This can be configured by setting the
 
 === Using assertPeriod
 
-*Available as of Camel 2.7* +
+*Available as of Camel 2.7*
+
 When the assertion is satisfied then Camel will stop waiting and
 continue from the `assertIsSatisfied` method. That means if a new
 message arrives on the mock endpoint, just a bit later, that arrival
@@ -483,4 +484,4 @@ In the example above we use `seconds` as the time unit, but Camel offers
 === See Also
 
 * Spring Testing
-* Testing
+* Testing
\ No newline at end of file
diff --git a/camel-core/src/main/docs/properties-component.adoc b/camel-core/src/main/docs/properties-component.adoc
index 2ff628f..3a8c629 100644
--- a/camel-core/src/main/docs/properties-component.adoc
+++ b/camel-core/src/main/docs/properties-component.adoc
@@ -1,5 +1,5 @@
 [[properties-component]]
-== Properties Component
+= Properties Component
 
 *Available as of Camel version 2.3*
 
@@ -52,7 +52,7 @@ properties:key
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -62,7 +62,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (6 parameters):
+=== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -79,7 +79,8 @@ with the following path and query parameters:
 
 
 [TIP]
-**Resolving property from Java code** +
+**Resolving property from Java code**
+
 You can use the method `resolvePropertyPlaceholders` on the
 `CamelContext` to resolve a property from any Java code.
 
@@ -99,7 +100,8 @@ link:how-do-i-use-spring-property-placeholder-with-camel-xml.html[How do
 I use Spring Property Placeholder with Camel XML].
 
 [TIP]
-**Bridging Spring and Camel property placeholders** +
+**Bridging Spring and Camel property placeholders**
+
 From Camel 2.10 onwards, you can bridge the Spring property placeholder
 with Camel, see further below for more details.
 
@@ -302,13 +304,15 @@ Setting the properties location through the location tag works just fine but som
 ----
 
 [TIP]
-**Specifying the cache option inside XML** +
+**Specifying the cache option inside XML**
+
 Camel 2.10 onwards supports specifying a value for the cache option both
 inside the Spring as well as the Blueprint XML.
 
 === Using a Properties from the Registry
 
-*Available as of Camel 2.4* +
+*Available as of Camel 2.4*
+
 For example in OSGi you may want to expose a service which returns the
 properties as a `java.util.Properties` object.
 
@@ -453,7 +457,8 @@ the `<camelContext>` tag such as `trace` as shown here:
 
 === Overriding a property setting using a JVM System Property
 
-*Available as of Camel 2.5* +
+*Available as of Camel 2.5*
+
 It is possible to override a property value at runtime using a JVM
 System property without the need to restart the application to pick up
 the change. This may also be accomplished from the command line by
@@ -753,7 +758,8 @@ An alternative is to configure the `PropertyPlaceholderConfigurer` with
 When Testing with Camel and using the
 <<properties-component,Properties>> component, you may want to be able to
 provide the properties to be used from directly within the unit test
-source code. +
+source code.
+
 This is now possible from Camel 2.10 onwards, as the Camel test kits, eg
 `CamelTestSupport` class offers the following methods
 
@@ -997,4 +1003,4 @@ pc.addFunction(new MyBeerFunction());
 
 * <<properties-component,Properties>> component
 * Jasypt for using encrypted values (eg passwords) in
-the properties
+the properties
\ No newline at end of file
diff --git a/camel-core/src/main/docs/ref-component.adoc b/camel-core/src/main/docs/ref-component.adoc
index 794fb20..eb739af 100644
--- a/camel-core/src/main/docs/ref-component.adoc
+++ b/camel-core/src/main/docs/ref-component.adoc
@@ -1,5 +1,5 @@
 [[ref-component]]
-== Ref Component
+= Ref Component
 
 *Available as of Camel version 1.2*
 
@@ -34,7 +34,7 @@ ref:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -44,7 +44,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (4 parameters):
+=== Query Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -100,4 +100,4 @@ You could, of course, have used the `ref` attribute instead:
 <to ref="endpoint2"/>
 ----
 
-Which is the more common way to write it.
+Which is the more common way to write it.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/ref-language.adoc b/camel-core/src/main/docs/ref-language.adoc
index aa209e3..dcc75a7 100644
--- a/camel-core/src/main/docs/ref-language.adoc
+++ b/camel-core/src/main/docs/ref-language.adoc
@@ -1,5 +1,5 @@
 [[ref-language]]
-== Ref Language
+= Ref Language
 
 *Available as of Camel version 2.8*
 
diff --git a/camel-core/src/main/docs/rest-api-component.adoc b/camel-core/src/main/docs/rest-api-component.adoc
index a626948..1f790d7 100644
--- a/camel-core/src/main/docs/rest-api-component.adoc
+++ b/camel-core/src/main/docs/rest-api-component.adoc
@@ -1,5 +1,5 @@
 [[rest-api-component]]
-== REST API Component
+= REST API Component
 
 *Available as of Camel version 2.16*
 
@@ -23,7 +23,7 @@ rest-api:path/contextIdPattern
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -34,7 +34,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (6 parameters):
+=== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -53,4 +53,4 @@ with the following path and query parameters:
 === See Also
 
 * Rest DSL
-* Swagger Java
+* Swagger Java
\ No newline at end of file
diff --git a/camel-core/src/main/docs/rest-component.adoc b/camel-core/src/main/docs/rest-component.adoc
index 0fa20c5..14cb433 100644
--- a/camel-core/src/main/docs/rest-component.adoc
+++ b/camel-core/src/main/docs/rest-component.adoc
@@ -1,5 +1,5 @@
 [[rest-component]]
-== REST Component
+= REST Component
 
 *Available as of Camel version 2.14*
 
@@ -42,7 +42,7 @@ rest:method:path:uriTemplate
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -54,7 +54,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (15 parameters):
+=== Query Parameters (15 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -248,4 +248,4 @@ containers.
 === See Also
 
 * Rest DSL
-* <<servlet-component,SERVLET>>
+* <<servlet-component,SERVLET>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/rest-dsl.adoc b/camel-core/src/main/docs/rest-dsl.adoc
index 7775a5c..4c74f40 100644
--- a/camel-core/src/main/docs/rest-dsl.adoc
+++ b/camel-core/src/main/docs/rest-dsl.adoc
@@ -1,7 +1,6 @@
 == REST DSL Component
 
 *Available as of Camel version 2.16*
-
 Apache Camel offers a REST styled DSL which can be used with Java or
 XML. The intention is to allow end users to define REST services using a
 REST style with verbs such as get, post, delete etc.
diff --git a/camel-core/src/main/docs/saga-component.adoc b/camel-core/src/main/docs/saga-component.adoc
index 531c8b5..f0ba7b2 100644
--- a/camel-core/src/main/docs/saga-component.adoc
+++ b/camel-core/src/main/docs/saga-component.adoc
@@ -1,5 +1,5 @@
 [[saga-component]]
-== Saga Component
+= Saga Component
 
 *Available as of Camel version 2.21*
 
@@ -33,7 +33,7 @@ saga:action
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -43,7 +43,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (1 parameters):
+=== Query Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -51,4 +51,4 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
-// endpoint options: END
+// endpoint options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/scheduler-component.adoc b/camel-core/src/main/docs/scheduler-component.adoc
index 46ecb65..d88873b 100644
--- a/camel-core/src/main/docs/scheduler-component.adoc
+++ b/camel-core/src/main/docs/scheduler-component.adoc
@@ -1,5 +1,5 @@
 [[scheduler-component]]
-== Scheduler Component
+= Scheduler Component
 
 *Available as of Camel version 2.15*
 
@@ -54,7 +54,7 @@ scheduler:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -64,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (20 parameters):
+=== Query Parameters (20 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -162,4 +162,4 @@ exchange.
 === See Also
 
 * <<timer-component,Timer>>
-* <<quartz-component,Quartz>>
+* <<quartz-component,Quartz>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/seda-component.adoc b/camel-core/src/main/docs/seda-component.adoc
index cdc99f3..0bd9cc6 100644
--- a/camel-core/src/main/docs/seda-component.adoc
+++ b/camel-core/src/main/docs/seda-component.adoc
@@ -1,5 +1,5 @@
 [[seda-component]]
-== SEDA Component
+= SEDA Component
 
 *Available as of Camel version 1.1*
 
@@ -65,7 +65,7 @@ seda:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -75,7 +75,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -250,4 +250,4 @@ int size = seda.getExchanges().size();
 * <<vm-component,VM>>
 * <<disruptor-component,Disruptor>>
 * <<direct-component,Direct>>
-* Async
+* Async
\ No newline at end of file
diff --git a/camel-core/src/main/docs/serialization-dataformat.adoc b/camel-core/src/main/docs/serialization-dataformat.adoc
index ec6ec26..aa1f470 100644
--- a/camel-core/src/main/docs/serialization-dataformat.adoc
+++ b/camel-core/src/main/docs/serialization-dataformat.adoc
@@ -1,5 +1,5 @@
 [[serialization-dataformat]]
-== Java Object Serialization DataFormat (deprecated)
+= Java Object Serialization DataFormat (deprecated)
 
 *Available as of Camel version 2.12*
 
diff --git a/camel-core/src/main/docs/simple-language.adoc b/camel-core/src/main/docs/simple-language.adoc
index b2b8ad3..ad14ff5 100644
--- a/camel-core/src/main/docs/simple-language.adoc
+++ b/camel-core/src/main/docs/simple-language.adoc
@@ -1,5 +1,5 @@
 [[simple-language]]
-== Simple Language
+= Simple Language
 
 *Available as of Camel version 1.1*
 
@@ -976,4 +976,4 @@ You can set a spring bean into an exchange property as shown below:
 
 === Dependencies
 
-The <<simple-language,Simple>> language is part of *camel-core*.
+The <<simple-language,Simple>> language is part of *camel-core*.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/string-dataformat.adoc b/camel-core/src/main/docs/string-dataformat.adoc
index b18fae4..fa30f1f 100644
--- a/camel-core/src/main/docs/string-dataformat.adoc
+++ b/camel-core/src/main/docs/string-dataformat.adoc
@@ -1,5 +1,5 @@
 [[string-dataformat]]
-== String Encoding DataFormat (deprecated)
+= String Encoding DataFormat (deprecated)
 
 *Available as of Camel version 2.12*
 
diff --git a/camel-core/src/main/docs/stub-component.adoc b/camel-core/src/main/docs/stub-component.adoc
index 8f7840c..35efc93 100644
--- a/camel-core/src/main/docs/stub-component.adoc
+++ b/camel-core/src/main/docs/stub-component.adoc
@@ -1,5 +1,5 @@
 [[stub-component]]
-== Stub Component
+= Stub Component
 
 *Available as of Camel version 2.10*
 
@@ -55,7 +55,7 @@ stub:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -65,7 +65,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -100,4 +100,4 @@ Here are a few samples of stubbing endpoint uris
 ----
 stub:smtp://somehost.foo.com?user=whatnot&something=else
 stub:http://somehost.bar.com/something
-----
+----
\ No newline at end of file
diff --git a/camel-core/src/main/docs/test-component.adoc b/camel-core/src/main/docs/test-component.adoc
index 04925e0..a6baf0c 100644
--- a/camel-core/src/main/docs/test-component.adoc
+++ b/camel-core/src/main/docs/test-component.adoc
@@ -1,5 +1,5 @@
 [[test-component]]
-== Test Component
+= Test Component
 
 *Available as of Camel version 1.3*
 
@@ -67,7 +67,7 @@ test:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -77,7 +77,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (14 parameters):
+=== Query Parameters (14 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -120,4 +120,4 @@ To see how you can set other expectations on the test endpoint, see the
 
 === See Also
 
-* Spring Testing
+* Spring Testing
\ No newline at end of file
diff --git a/camel-core/src/main/docs/timer-component.adoc b/camel-core/src/main/docs/timer-component.adoc
index 7fe010b..68b020f 100644
--- a/camel-core/src/main/docs/timer-component.adoc
+++ b/camel-core/src/main/docs/timer-component.adoc
@@ -1,5 +1,5 @@
 [[timer-component]]
-== Timer Component
+= Timer Component
 
 *Available as of Camel version 1.0*
 
@@ -49,7 +49,7 @@ timer:timerName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +59,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -168,4 +168,4 @@ starting the route. To do that you use the repeatCount option as shown:
 === See Also
 
 * <<scheduler-component,Scheduler>>
-* <<quartz-component,Quartz>>
+* <<quartz-component,Quartz>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/tokenize-language.adoc b/camel-core/src/main/docs/tokenize-language.adoc
index 63937d7..b42acb2 100644
--- a/camel-core/src/main/docs/tokenize-language.adoc
+++ b/camel-core/src/main/docs/tokenize-language.adoc
@@ -1,5 +1,5 @@
 [[tokenize-language]]
-== Tokenize Language
+= Tokenize Language
 
 *Available as of Camel version 2.0*
 
@@ -35,4 +35,4 @@ The Tokenize language supports 10 options, which are listed below.
 | skipFirst | false | Boolean | To skip the very first element
 | trim | true | Boolean | Whether to trim the value to remove leading and trailing whitespaces and line breaks
 |===
-// language options: END
+// language options: END
\ No newline at end of file
diff --git a/camel-core/src/main/docs/validator-component.adoc b/camel-core/src/main/docs/validator-component.adoc
index c32f2bd..ebde1e1 100644
--- a/camel-core/src/main/docs/validator-component.adoc
+++ b/camel-core/src/main/docs/validator-component.adoc
@@ -1,5 +1,5 @@
 [[validator-component]]
-== Validator Component
+= Validator Component
 
 *Available as of Camel version 1.1*
 
@@ -75,7 +75,7 @@ validator:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -85,7 +85,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (11 parameters):
+=== Query Parameters (11 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -121,4 +121,4 @@ Since *Camel 2.17*, you can force that the cached schema in the
 validator endpoint is cleared and reread with the next process call with
 the JMX operation `clearCachedSchema. `You can also use this method to
 programmatically clear the cache. This method is available on the
-`ValidatorEndpoint `class`.`
+`ValidatorEndpoint `class`.`
\ No newline at end of file
diff --git a/camel-core/src/main/docs/vm-component.adoc b/camel-core/src/main/docs/vm-component.adoc
index 9b9279a..c0e2909 100644
--- a/camel-core/src/main/docs/vm-component.adoc
+++ b/camel-core/src/main/docs/vm-component.adoc
@@ -1,5 +1,5 @@
 [[vm-component]]
-== VM Component
+= VM Component
 
 *Available as of Camel version 1.1*
 
@@ -85,7 +85,7 @@ vm:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +95,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -145,4 +145,4 @@ from("vm:order.email").bean(MyOrderEmailSender.class);
 
 === See Also
 
-* <<seda-component,Seda>>
+* <<seda-component,Seda>>
\ No newline at end of file
diff --git a/camel-core/src/main/docs/xpath-language.adoc b/camel-core/src/main/docs/xpath-language.adoc
index 2aa0f82..af67c04 100644
--- a/camel-core/src/main/docs/xpath-language.adoc
+++ b/camel-core/src/main/docs/xpath-language.adoc
@@ -1,5 +1,5 @@
 [[xpath-language]]
-== XPath Language
+= XPath Language
 
 *Available as of Camel version 1.1*
 
@@ -491,4 +491,4 @@ eg to refer to a file on the classpath you can do:
 
 === Dependencies
 
-The XPath language is part of camel-core.
+The XPath language is part of camel-core.
\ No newline at end of file
diff --git a/camel-core/src/main/docs/xslt-component.adoc b/camel-core/src/main/docs/xslt-component.adoc
index 1216042..1c133b5 100644
--- a/camel-core/src/main/docs/xslt-component.adoc
+++ b/camel-core/src/main/docs/xslt-component.adoc
@@ -1,5 +1,5 @@
 [[xslt-component]]
-== XSLT Component
+= XSLT Component
 
 *Available as of Camel version 1.3*
 
@@ -83,7 +83,7 @@ xslt:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -93,7 +93,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -281,8 +281,9 @@ To provide a dynamic stylesheet at runtime you can define a dynamic URI.
 See link:how-to-use-a-dynamic-uri-in-to.html[How to use a dynamic URI in
 to()] for more information.
 
-*Available as of Camel 2.9 (removed in 2.11.4, 2.12.3 and 2.13.0)* +
- Camel provides the `CamelXsltResourceUri` header which you can use to
+*Available as of Camel 2.9 (removed in 2.11.4, 2.12.3 and 2.13.0)*
+
+Camel provides the `CamelXsltResourceUri` header which you can use to
 define an alternative stylesheet to that configured on the endpoint
 URI. This allows you to provide a dynamic stylesheet at runtime.
 
@@ -364,4 +365,4 @@ Hope this post saves newbie Camel riders some time.
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/camel-core/src/main/docs/xtokenize-language.adoc b/camel-core/src/main/docs/xtokenize-language.adoc
index e92dbd0..6db1732 100644
--- a/camel-core/src/main/docs/xtokenize-language.adoc
+++ b/camel-core/src/main/docs/xtokenize-language.adoc
@@ -1,5 +1,5 @@
 [[xtokenize-language]]
-== XML Tokenize Language
+= XML Tokenize Language
 
 *Available as of Camel version 2.14*
 
diff --git a/camel-core/src/main/docs/zip-dataformat.adoc b/camel-core/src/main/docs/zip-dataformat.adoc
index 1451800..d889785 100644
--- a/camel-core/src/main/docs/zip-dataformat.adoc
+++ b/camel-core/src/main/docs/zip-dataformat.adoc
@@ -1,5 +1,5 @@
 [[zip-dataformat]]
-== Zip Deflate Compression DataFormat
+= Zip Deflate Compression DataFormat
 
 *Available as of Camel version 2.12*
 
@@ -67,4 +67,4 @@ from("activemq:queue:MY_QUEUE").unmarshal().zip().process(new UnZippedMessagePro
 === Dependencies
 
 This data format is provided in *camel-core* so no additional
-dependencies are needed.
+dependencies are needed.
\ No newline at end of file
diff --git a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
index 505e403..6a9eb14 100644
--- a/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
+++ b/components/camel-ahc-ws/src/main/docs/ahc-ws-component.adoc
@@ -1,8 +1,9 @@
 [[ahc-ws-component]]
-== AHC Websocket Component
+= AHC Websocket Component
 
 *Available as of Camel version 2.14*
 
+
 The *ahc-ws* component provides Websocket
 based endpoints for a client communicating with
 external servers over Websocket (as a client opening a websocket
@@ -72,7 +73,7 @@ ahc-ws:httpUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -82,7 +83,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (18 parameters):
+=== Query Parameters (18 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,7 +110,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-ahc-ws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 9 options, which are listed below.
@@ -193,4 +206,4 @@ And the equivalent Spring sample:
 * Getting Started
 
 * link:../../../../camel-ahc/src/main/docs/readme.html[AHC]
-* <<atmosphere-websocket-component,Atmosphere-Websocket>>
+* <<atmosphere-websocket-component,Atmosphere-Websocket>>
\ No newline at end of file
diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index 60e31da..0064876 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -1,3 +1,4 @@
+[[ahc-component]]
 = AHC Component
 
 *Available as of Camel version 2.8*
@@ -53,17 +54,17 @@ ahc:httpUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *httpUri* | *Required* The URI to use such as http://hostname:port/path |  | URI
+| *httpUri* | *Required* The URI to use such as \http://hostname:port/path |  | URI
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -85,7 +86,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-ahc-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 9 options, which are listed below.
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index a0fb1ca..730f991 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -1,3 +1,4 @@
+[[amqp-component]]
 = AMQP Component
 
 *Available as of Camel version 1.2*
@@ -141,7 +142,7 @@ amqp:destinationType:destinationName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -152,7 +153,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (91 parameters):
+=== Query Parameters (91 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -252,7 +253,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-amqp-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 81 options, which are listed below.
diff --git a/components/camel-apns/src/main/docs/apns-component.adoc b/components/camel-apns/src/main/docs/apns-component.adoc
index c4a03d2..1c5d3d7 100644
--- a/components/camel-apns/src/main/docs/apns-component.adoc
+++ b/components/camel-apns/src/main/docs/apns-component.adoc
@@ -1,8 +1,9 @@
 [[apns-component]]
-== APNS Component
+= APNS Component
 
 *Available as of Camel version 2.8*
 
+
 The *apns* component is used for sending notifications to iOS devices.
 The apns components use https://github.com/notnoop/java-apns[javapns]
 library. +
@@ -76,7 +77,7 @@ apns:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -86,7 +87,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (20 parameters):
+=== Query Parameters (20 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -115,7 +116,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-apns-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
@@ -328,4 +341,4 @@ from("apns:consumer?initialDelay=10&delay=3600&timeUnit=SECONDS")
 * http://camel.apache.org/endpoint.html[Endpoint]
 *
 http://blog.xebia.fr/2010/09/30/creer-un-composant-apache-camel-de-connexion-a-lapns-1-sur-3/[Blog
-about using APNS (in french)]
+about using APNS (in french)]
\ No newline at end of file
diff --git a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
index 9e76b5a..e8a3c1a 100644
--- a/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
+++ b/components/camel-as2/camel-as2-component/src/main/docs/as2-component.adoc
@@ -1,8 +1,9 @@
 [[as2-component]]
-== AS2 Component
+= AS2 Component
 
 *Available as of Camel version 2.22*
 
+
 The AS2 component provides transport of EDI messages using the HTTP transfer protocol
 as specified in https://tools.ietf.org/html/rfc4130[RFC4130]. 
 
@@ -60,7 +61,7 @@ as2:apiName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -70,7 +71,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (31 parameters):
+=== Query Parameters (31 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -110,7 +111,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-as2-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 29 options, which are listed below.
@@ -270,5 +283,4 @@ URI Options for _server_
 |Name |Type
 
 |requestUriPattern |String
-|===
-
+|===
\ No newline at end of file
diff --git a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
index 8063e2d..0e5f1bc 100644
--- a/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
+++ b/components/camel-asn1/src/main/docs/asn1-dataformat.adoc
@@ -1,8 +1,9 @@
 [[asn1-dataformat]]
-== ASN.1 File DataFormat
+= ASN.1 File DataFormat
 
 *Available as of Camel version 2.20*
 
+
 The ASN.1 Data Format Data Format [Intoduction to ASN.1](https://www.itu.int/en/ITU-T/asn1/Pages/introduction.aspx) is a Camel Frameworks's data format implementation based on Bouncy Castle's bcprov-jdk15on library and jASN.1's java compiler for the formal notation used for describing data transmitted by telecommunications protocols, regardless of language implementation and physical representation of these data, whatever the application, whether complex or very simple. Messages can be u [...]
 
 ### ASN.1 Data Format Options
@@ -21,7 +22,19 @@ The ASN.1 File dataformat supports 3 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-asn1-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 4 options, which are listed below.
@@ -90,4 +103,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-asterisk/src/main/docs/asterisk-component.adoc b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
index 68a9c85..99c1e92 100644
--- a/components/camel-asterisk/src/main/docs/asterisk-component.adoc
+++ b/components/camel-asterisk/src/main/docs/asterisk-component.adoc
@@ -1,8 +1,9 @@
 [[asterisk-component]]
-== Asterisk Component
+= Asterisk Component
 
 *Available as of Camel version 2.18*
 
+
 The *asterisk:* component allows you to work easily with an Asterisk PBX Server http://www.asterisk.org/ using https://asterisk-java.org/[asterisk-java]
 
 This component help to interface with http://www.voip-info.org/wiki-Asterisk+manager+API[Asterisk Manager Interface]
@@ -42,7 +43,7 @@ asterisk:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -52,7 +53,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -69,7 +70,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-asterisk-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -90,4 +103,4 @@ Supported actions are:
 
 * QUEUE_STATUS, Queue Status
 * SIP_PEERS, List SIP Peers
-* EXTENSION_STATE, Check Extension Status
+* EXTENSION_STATE, Check Extension Status
\ No newline at end of file
diff --git a/components/camel-atmos/src/main/docs/atmos-component.adoc b/components/camel-atmos/src/main/docs/atmos-component.adoc
index 958d1b8..23583c8 100644
--- a/components/camel-atmos/src/main/docs/atmos-component.adoc
+++ b/components/camel-atmos/src/main/docs/atmos-component.adoc
@@ -1,8 +1,9 @@
 [[atmos-component]]
-== Atmos Component
+= Atmos Component
 
 *Available as of Camel version 2.15*
 
+
 *Camel-Atmos* is an http://camel.apache.org/[Apache Camel] component that
 allows you to work with ViPR object data services using the
 https://github.com/emcvipr/dataservices-sdk-java[Atmos Client].
@@ -42,7 +43,7 @@ atmos:name/operation
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -53,7 +54,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -74,7 +75,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atmos-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 6 options, which are listed below.
@@ -171,4 +184,4 @@ DOWNLOADED_FILE, DOWNLOADED_FILES, UPLOADED_FILE, UPLOADED_FILES, FOUND_FILES, D
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
index e716892..5518f61 100644
--- a/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
+++ b/components/camel-atmosphere-websocket/src/main/docs/atmosphere-websocket-component.adoc
@@ -1,8 +1,9 @@
 [[atmosphere-websocket-component]]
-== Atmosphere Websocket Component
+= Atmosphere Websocket Component
 
 *Available as of Camel version 2.14*
 
+
 The *atmosphere-websocket:* component provides Websocket
 based endpoints for a servlet communicating with
 external clients over Websocket (as a servlet accepting websocket
@@ -66,7 +67,7 @@ atmosphere-websocket:servicePath
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -76,7 +77,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (38 parameters):
+=== Query Parameters (38 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -111,7 +112,7 @@ with the following path and query parameters:
 | *throwExceptionOnFailure* (producer) | Option to disable throwing the HttpOperationFailedException in case of failed responses from the remote server. This allows you to get all responses regardless of the HTTP status code. | true | boolean
 | *cookieHandler* (producer) | Configure a cookie handler to maintain a HTTP session |  | CookieHandler
 | *okStatusCodeRange* (producer) | The status codes which are considered a success response. The values are inclusive. Multiple ranges can be defined, separated by comma, e.g. 200-204,209,301-304. Each range must be a single number or from-to with the dash included. | 200-299 | String
-| *urlRewrite* (producer) | *Deprecated* Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints. See more details at http://camel.apache.org/urlrewrite.html |  | UrlRewrite
+| *urlRewrite* (producer) | *Deprecated* Refers to a custom org.apache.camel.component.http.UrlRewrite which allows you to rewrite urls when you bridge/proxy endpoints. See more details at \http://camel.apache.org/urlrewrite.html |  | UrlRewrite
 | *mapHttpMessageBody* (advanced) | If this option is true then IN exchange Body of the exchange will be mapped to HTTP body. Setting this to false will avoid the HTTP mapping. | true | boolean
 | *mapHttpMessageFormUrl EncodedBody* (advanced) | If this option is true then IN exchange Form Encoded body of the exchange will be mapped to HTTP. Setting this to false will avoid the HTTP Form Encoded body mapping. | true | boolean
 | *mapHttpMessageHeaders* (advanced) | If this option is true then IN exchange Headers of the exchange will be mapped to HTTP headers. Setting this to false will avoid the HTTP Headers mapping. | true | boolean
@@ -123,7 +124,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atmosphere-websocket-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 10 options, which are listed below.
@@ -217,4 +230,4 @@ And the equivalent Spring sample:
 * <<servlet-component,SERVLET>>
 * <<ahc-ws-component,AHC-WS>>
 *
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
+https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=39621544[Websocket]
\ No newline at end of file
diff --git a/components/camel-atom/src/main/docs/atom-component.adoc b/components/camel-atom/src/main/docs/atom-component.adoc
index e6a2bba..8612e06 100644
--- a/components/camel-atom/src/main/docs/atom-component.adoc
+++ b/components/camel-atom/src/main/docs/atom-component.adoc
@@ -1,8 +1,9 @@
 [[atom-component]]
-== Atom Component
+= Atom Component
 
 *Available as of Camel version 1.2*
 
+
 The *atom:* component is used for polling Atom feeds.
 
 Camel will poll the feed every 60 seconds by default. +
@@ -49,7 +50,7 @@ atom:feedUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (27 parameters):
+=== Query Parameters (27 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +96,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atom-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -165,4 +178,4 @@ in any Container or using Spring.
 * Endpoint
 * Getting Started
 
-* <<rss-component,RSS>>
+* <<rss-component,RSS>>
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/docs/atomix-map-component.adoc b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
index 06075a2..e444129 100644
--- a/components/camel-atomix/src/main/docs/atomix-map-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-map-component.adoc
@@ -1,8 +1,9 @@
 [[atomix-map-component]]
-== Atomix Map Component
+= Atomix Map Component
 
 *Available as of Camel version 2.20*
 
+
 The camel atomix-map component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedMap/[Distributed Map] collection.
 
 Maven users will need to add the following dependency to their pom.xml for this component:
@@ -50,7 +51,7 @@ atomix-map:resourceName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -60,7 +61,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (18 parameters):
+=== Query Parameters (18 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,7 +88,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atomix-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 9 options, which are listed below.
@@ -212,4 +225,4 @@ FluentProducerTemplate.on(context)
     .withBody(val)
     .to("direct:start")
     .send();
-----
+----
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
index fbbecc2..2e3f1be 100644
--- a/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-messaging-component.adoc
@@ -1,8 +1,9 @@
 [[atomix-messaging-component]]
-== Atomix Messaging Component
+= Atomix Messaging Component
 
 *Available as of Camel version 2.20*
 
+
 The camel atomix-messaging component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/cluster-communication/direct-messaging[Group Messaging].
 
 Maven users will need to add the following dependency to their pom.xml
@@ -49,7 +50,7 @@ atomix-messaging:resourceName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,7 +88,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atomix-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 10 options, which are listed below.
@@ -108,5 +121,4 @@ The component supports 10 options, which are listed below.
 | *camel.component.atomix-messaging.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-messaging.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
index 486ec69..6170582 100644
--- a/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-multimap-component.adoc
@@ -1,8 +1,9 @@
 [[atomix-multimap-component]]
-== Atomix MultiMap Component
+= Atomix MultiMap Component
 
 *Available as of Camel version 2.20*
 
+
 The camel atomix-multimap component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedMultimap/[Distributed MultiMap] collection.
 
 Maven users will need to add the following dependency to their pom.xml
@@ -49,7 +50,7 @@ atomix-multimap:resourceName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (18 parameters):
+=== Query Parameters (18 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -86,7 +87,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atomix-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 9 options, which are listed below.
@@ -106,5 +119,4 @@ The component supports 9 options, which are listed below.
 | *camel.component.atomix-multimap.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-multimap.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
index b058f83..3c89c5a 100644
--- a/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-queue-component.adoc
@@ -1,8 +1,9 @@
 [[atomix-queue-component]]
-== Atomix Queue Component
+= Atomix Queue Component
 
 *Available as of Camel version 2.20*
 
+
 The camel atomix-queue component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedQueue/[Distributed Queue] collection.
 
 Maven users will need to add the following dependency to their pom.xml
@@ -49,7 +50,7 @@ atomix-queue:resourceName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (16 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -84,7 +85,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atomix-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 7 options, which are listed below.
@@ -102,5 +115,4 @@ The component supports 7 options, which are listed below.
 | *camel.component.atomix-queue.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-queue.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/docs/atomix-set-component.adoc b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
index 515ffc3..ac3fb2b 100644
--- a/components/camel-atomix/src/main/docs/atomix-set-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-set-component.adoc
@@ -1,8 +1,9 @@
 [[atomix-set-component]]
-== Atomix Set Component
+= Atomix Set Component
 
 *Available as of Camel version 2.20*
 
+
 The camel atomix-set component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedSet/[Distributed Set] collection.
 
 Maven users will need to add the following dependency to their pom.xml
@@ -49,7 +50,7 @@ atomix-set:resourceName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -85,7 +86,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atomix-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 8 options, which are listed below.
@@ -104,5 +117,4 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-set.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-set.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-atomix/src/main/docs/atomix-value-component.adoc b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
index 2eac2c0..fcdb023 100644
--- a/components/camel-atomix/src/main/docs/atomix-value-component.adoc
+++ b/components/camel-atomix/src/main/docs/atomix-value-component.adoc
@@ -1,8 +1,9 @@
 [[atomix-value-component]]
-== Atomix Value Component
+= Atomix Value Component
 
 *Available as of Camel version 2.20*
 
+
 The camel atomix-value component allows you to work with http://atomix.io[Atomix's] https://atomix.io/docs/latest/user-manual/primitives/DistributedValue/[Distributed Value].
 
 Maven users will need to add the following dependency to their pom.xml
@@ -49,7 +50,7 @@ atomix-value:resourceName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -85,7 +86,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-atomix-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 8 options, which are listed below.
@@ -104,5 +117,4 @@ The component supports 8 options, which are listed below.
 | *camel.component.atomix-value.nodes* | The nodes the AtomixClient should connect to |  | List
 | *camel.component.atomix-value.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-avro/src/main/docs/avro-component.adoc b/components/camel-avro/src/main/docs/avro-component.adoc
index 94a03be..2f5b2a6 100644
--- a/components/camel-avro/src/main/docs/avro-component.adoc
+++ b/components/camel-avro/src/main/docs/avro-component.adoc
@@ -1,8 +1,9 @@
 [[avro-component]]
-== Avro Component
+= Avro Component
 
 *Available as of Camel version 2.10*
 
+
 This component provides a dataformat for avro, which allows
 serialization and deserialization of messages using Apache Avro's binary
 dataformat. Moreover, it provides support for Apache Avro's rpc, by
@@ -198,7 +199,7 @@ avro:transport:host:port/messageName
 
 with the following path and query parameters:
 
-==== Path Parameters (4 parameters):
+=== Path Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -211,7 +212,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -230,7 +231,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-avro-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 15 options, which are listed below.
@@ -332,4 +345,4 @@ task:
 In the example above, get takes only one parameter, so `singleParameter`
 is used and `getProcessor` will receive Value class directly in body,
 while `putProcessor` will receive an array of size 2 with String key and
-Value value filled as array contents.
+Value value filled as array contents.
\ No newline at end of file
diff --git a/components/camel-avro/src/main/docs/avro-dataformat.adoc b/components/camel-avro/src/main/docs/avro-dataformat.adoc
index 1391987..30f39a0 100644
--- a/components/camel-avro/src/main/docs/avro-dataformat.adoc
+++ b/components/camel-avro/src/main/docs/avro-dataformat.adoc
@@ -1,8 +1,9 @@
 [[avro-dataformat]]
-== Avro DataFormat
+= Avro DataFormat
 
 *Available as of Camel version 2.14*
 
+
 This component provides a dataformat for avro, which allows
 serialization and deserialization of messages using Apache Avro's binary
 dataformat. Moreover, it provides support for Apache Avro's rpc, by
@@ -142,7 +143,19 @@ The Avro dataformat supports 2 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-avro-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 15 options, which are listed below.
@@ -169,4 +182,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.avro.instance-class-name* | Class name to use for marshal and unmarshalling |  | String
 |===
 // spring-boot-auto-configure options: END
-ND
+ND
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-cw-component.adoc b/components/camel-aws/src/main/docs/aws-cw-component.adoc
index 5276ae2..adc37d4 100644
--- a/components/camel-aws/src/main/docs/aws-cw-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-cw-component.adoc
@@ -1,8 +1,9 @@
 [[aws-cw-component]]
-== AWS CloudWatch Component
+= AWS CloudWatch Component
 
 *Available as of Camel version 2.11*
 
+
 The CW component allows messages to be sent to an
 http://aws.amazon.com/cloudwatch/[Amazon CloudWatch] metrics. The
 implementation of the Amazon API is provided by
@@ -56,7 +57,7 @@ aws-cw:namespace
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -66,7 +67,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (11 parameters):
+=== Query Parameters (11 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -86,7 +87,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 16 options, which are listed below.
@@ -203,4 +216,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ddb-component.adoc b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
index 6bf1d52..7ad537e 100644
--- a/components/camel-aws/src/main/docs/aws-ddb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddb-component.adoc
@@ -1,8 +1,9 @@
 [[aws-ddb-component]]
-== AWS DynamoDB Component
+= AWS DynamoDB Component
 
 *Available as of Camel version 2.10*
 
+
 The DynamoDB component supports storing and retrieving data from/to
 http://aws.amazon.com/dynamodb[Amazon's DynamoDB] service.
 
@@ -53,7 +54,7 @@ aws-ddb:tableName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -85,7 +86,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 18 options, which are listed below.
@@ -374,4 +387,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
index 826495c..bda7283 100644
--- a/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ddbstream-component.adoc
@@ -1,8 +1,9 @@
 [[aws-ddbstream-component]]
-== AWS DynamoDB Streams Component
+= AWS DynamoDB Streams Component
 
 *Available as of Camel version 2.17*
 
+
 The DynamoDB Stream component supports receiving messages from
 Amazon DynamoDB Stream service.
 
@@ -56,7 +57,7 @@ aws-ddbstream:tableName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -66,7 +67,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (28 parameters):
+=== Query Parameters (28 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -103,7 +104,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 15 options, which are listed below.
@@ -230,4 +243,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Getting Started
 
 * AWS Component +
- +
+ +
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ec2-component.adoc b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
index 065c0c1..6c1cf36 100644
--- a/components/camel-aws/src/main/docs/aws-ec2-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ec2-component.adoc
@@ -1,8 +1,9 @@
 [[aws-ec2-component]]
-== AWS EC2 Component
+= AWS EC2 Component
 
 *Available as of Camel version 2.16*
 
+
 The EC2 component supports create, run, start, stop and terminate
 https://aws.amazon.com/it/ec2/[AWS EC2] instances.
 
@@ -53,7 +54,7 @@ aws-ec2:label
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -169,4 +182,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-iam-component.adoc b/components/camel-aws/src/main/docs/aws-iam-component.adoc
index 9d6a6d5..46820bd 100644
--- a/components/camel-aws/src/main/docs/aws-iam-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-iam-component.adoc
@@ -1,8 +1,9 @@
 [[aws-iam-component]]
-== AWS IAM Component
+= AWS IAM Component
 
 *Available as of Camel version 2.23*
 
+
 The KMS component supports create, run, start, stop and terminate
 https://aws.amazon.com/it/iam/[AWS IAM] instances.
 
@@ -53,7 +54,7 @@ aws-iam:label
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -169,4 +182,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
index b4434c5..5f8358e 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-component.adoc
@@ -1,8 +1,9 @@
 [[aws-kinesis-component]]
-== AWS Kinesis Component
+= AWS Kinesis Component
 
 *Available as of Camel version 2.17*
 
+
 The Kinesis component supports receiving messages from and sending messages to Amazon Kinesis
 service.
 
@@ -57,7 +58,7 @@ aws-kinesis:streamName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (30 parameters):
+=== Query Parameters (30 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -106,7 +107,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -258,4 +271,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
index 0a65279..7ccf832 100644
--- a/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kinesis-firehose-component.adoc
@@ -1,8 +1,9 @@
 [[aws-kinesis-firehose-component]]
-== AWS Kinesis Firehose Component
+= AWS Kinesis Firehose Component
 
 *Available as of Camel version 2.19*
 
+
 The Kinesis Firehose component supports sending messages to Amazon Kinesis Firehose service.
 
 Prerequisites
@@ -56,7 +57,7 @@ aws-kinesis-firehose:streamName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -66,7 +67,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (7 parameters):
+=== Query Parameters (7 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -82,7 +83,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -194,4 +207,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-kms-component.adoc b/components/camel-aws/src/main/docs/aws-kms-component.adoc
index 812548e..e4f7620 100644
--- a/components/camel-aws/src/main/docs/aws-kms-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-kms-component.adoc
@@ -1,8 +1,9 @@
 [[aws-kms-component]]
-== AWS KMS Component
+= AWS KMS Component
 
 *Available as of Camel version 2.21*
 
+
 The KMS component supports create, run, start, stop and terminate
 https://aws.amazon.com/it/kms/[AWS KMS] instances.
 
@@ -53,7 +54,7 @@ aws-kms:label
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -167,4 +180,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-lambda-component.adoc b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
index c596986..ca77f07 100644
--- a/components/camel-aws/src/main/docs/aws-lambda-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-lambda-component.adoc
@@ -1,8 +1,9 @@
 [[aws-lambda-component]]
-== AWS Lambda Component
+= AWS Lambda Component
 
 *Available as of Camel version 2.20*
 
+
 The Lambda component supports create, get, list, delete and invoke
 https://aws.amazon.com/lambda/[AWS Lambda] functions.
 
@@ -59,7 +60,7 @@ aws-lambda:function
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -69,7 +70,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -86,7 +87,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 13 options, which are listed below.
@@ -224,4 +237,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-mq-component.adoc b/components/camel-aws/src/main/docs/aws-mq-component.adoc
index 45fe459..fee8136 100644
--- a/components/camel-aws/src/main/docs/aws-mq-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-mq-component.adoc
@@ -1,8 +1,9 @@
 [[aws-mq-component]]
-== AWS MQ Component
+= AWS MQ Component
 
 *Available as of Camel version 2.21*
 
+
 The EC2 component supports create, run, start, stop and terminate
 https://aws.amazon.com/it/mq/[AWS MQ] instances.
 
@@ -53,7 +54,7 @@ aws-mq:label
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -168,4 +181,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-s3-component.adoc b/components/camel-aws/src/main/docs/aws-s3-component.adoc
index ed25221..66abe42 100644
--- a/components/camel-aws/src/main/docs/aws-s3-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-s3-component.adoc
@@ -1,8 +1,9 @@
 [[aws-s3-component]]
-== AWS S3 Storage Service Component
+= AWS S3 Storage Service Component
 
 *Available as of Camel version 2.8*
 
+
 The S3 component supports storing and retrieving objetcs from/to
 http://aws.amazon.com/s3[Amazon's S3] service.
 
@@ -70,7 +71,7 @@ aws-s3:bucketNameOrArn
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (50 parameters):
+=== Query Parameters (50 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -139,7 +140,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 34 options, which are listed below.
@@ -406,4 +419,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sdb-component.adoc b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
index bfa6c75..ef1c7c4 100644
--- a/components/camel-aws/src/main/docs/aws-sdb-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sdb-component.adoc
@@ -1,8 +1,9 @@
 [[aws-sdb-component]]
-== AWS SimpleDB Component
+= AWS SimpleDB Component
 
 *Available as of Camel version 2.9*
 
+
 The sdb component supports storing and retrieving data from/to
 http://aws.amazon.com/sdb[Amazon's SDB] service.
 
@@ -41,7 +42,7 @@ aws-sdb:domainName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -51,7 +52,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -70,7 +71,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -241,4 +254,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-ses-component.adoc b/components/camel-aws/src/main/docs/aws-ses-component.adoc
index 745ceed..89815c0 100644
--- a/components/camel-aws/src/main/docs/aws-ses-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-ses-component.adoc
@@ -1,8 +1,9 @@
 [[aws-ses-component]]
-== AWS Simple Email Service Component
+= AWS Simple Email Service Component
 
 *Available as of Camel version 2.9*
 
+
 The ses component supports sending emails with
 http://aws.amazon.com/ses[Amazon's SES] service.
 
@@ -53,7 +54,7 @@ aws-ses:from
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (11 parameters):
+=== Query Parameters (11 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -83,7 +84,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 16 options, which are listed below.
@@ -204,4 +217,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sns-component.adoc b/components/camel-aws/src/main/docs/aws-sns-component.adoc
index 22e6599..ac27b05 100644
--- a/components/camel-aws/src/main/docs/aws-sns-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sns-component.adoc
@@ -1,8 +1,9 @@
 [[aws-sns-component]]
-== AWS Simple Notification System Component
+= AWS Simple Notification System Component
 
 *Available as of Camel version 2.8*
 
+
 The SNS component allows messages to be sent to an
 http://aws.amazon.com/sns[Amazon Simple Notification] Topic. The
 implementation of the Amazon API is provided by
@@ -57,7 +58,7 @@ aws-sns:topicNameOrArn
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (11 parameters):
+=== Query Parameters (11 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,7 +88,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 16 options, which are listed below.
@@ -199,4 +212,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-sqs-component.adoc b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
index 6fe4eb5..b01368b 100644
--- a/components/camel-aws/src/main/docs/aws-sqs-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-sqs-component.adoc
@@ -1,8 +1,9 @@
 [[aws-sqs-component]]
-== AWS Simple Queue Service Component
+= AWS Simple Queue Service Component
 
 *Available as of Camel version 2.6*
 
+
 The sqs component supports sending and receiving messages to
 http://aws.amazon.com/sqs[Amazon's SQS] service.
 
@@ -58,7 +59,7 @@ aws-sqs:queueNameOrArn
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -68,7 +69,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (51 parameters):
+=== Query Parameters (51 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -128,7 +129,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 34 options, which are listed below.
@@ -335,4 +348,4 @@ consumers.
 * Endpoint
 * Getting Started
 
-* AWS Component
+* AWS Component
\ No newline at end of file
diff --git a/components/camel-aws/src/main/docs/aws-swf-component.adoc b/components/camel-aws/src/main/docs/aws-swf-component.adoc
index ac523a5..71a6323 100644
--- a/components/camel-aws/src/main/docs/aws-swf-component.adoc
+++ b/components/camel-aws/src/main/docs/aws-swf-component.adoc
@@ -1,8 +1,9 @@
 [[aws-swf-component]]
-== AWS Simple Workflow Component
+= AWS Simple Workflow Component
 
 *Available as of Camel version 2.13*
 
+
 The Simple Workflow component supports managing workflows from
 http://aws.amazon.com/swf/[Amazon's Simple Workflow] service.
 
@@ -53,7 +54,7 @@ aws-swf:type
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -63,7 +64,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (30 parameters):
+=== Query Parameters (30 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -102,7 +103,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-aws-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 32 options, which are listed below.
@@ -294,4 +307,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-AWS Component
+AWS Component
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-blob-component.adoc b/components/camel-azure/src/main/docs/azure-blob-component.adoc
index 77c2340..4fbc642 100644
--- a/components/camel-azure/src/main/docs/azure-blob-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-blob-component.adoc
@@ -1,8 +1,9 @@
 [[azure-blob-component]]
-== Azure Storage Blob Service Component
+= Azure Storage Blob Service Component
 
 *Available as of Camel version 2.19*
 
+
 The Azure Blob component supports storing and retrieving the blobs to/from
 https://azure.microsoft.com/services/storage/blobs/[Azure Storage Blob] service.
 
@@ -57,7 +58,7 @@ azure-blob:containerOrBlobUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +96,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-azure-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -250,4 +263,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* Azure Component
+* Azure Component
\ No newline at end of file
diff --git a/components/camel-azure/src/main/docs/azure-queue-component.adoc b/components/camel-azure/src/main/docs/azure-queue-component.adoc
index 4f15a98..7ab81e5 100644
--- a/components/camel-azure/src/main/docs/azure-queue-component.adoc
+++ b/components/camel-azure/src/main/docs/azure-queue-component.adoc
@@ -1,8 +1,9 @@
 [[azure-queue-component]]
-== Azure Storage Queue Service Component
+= Azure Storage Queue Service Component
 
 *Available as of Camel version 2.19*
 
+
 The Azure Queue component supports storing and retrieving the messages to/from
 https://azure.microsoft.com/services/storage/queues/[Azure Storage Queue] service.
 
@@ -57,7 +58,7 @@ azure-queue:containerAndQueueUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -86,7 +87,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-azure-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -203,4 +216,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Endpoint
 * Getting Started
 
-* Azure Component
+* Azure Component
\ No newline at end of file
diff --git a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
index 2c4603d..12854f2 100644
--- a/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
+++ b/components/camel-barcode/src/main/docs/barcode-dataformat.adoc
@@ -1,8 +1,9 @@
 [[barcode-dataformat]]
-== Barcode DataFormat
+= Barcode DataFormat
 
 *Available as of Camel version 2.14*
 
+
 The barcode data format is based on the
 https://github.com/zxing/zxing[zxing library]. The goal of this
 component is to create a barcode image from a String (marshal) and a
@@ -45,7 +46,19 @@ The Barcode dataformat supports 5 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-barcode-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 6 options, which are listed below.
@@ -148,4 +161,4 @@ the barcode data format as header variable:
 |=======================================================================
  
 
- 
+ 
\ No newline at end of file
diff --git a/components/camel-base64/src/main/docs/base64-dataformat.adoc b/components/camel-base64/src/main/docs/base64-dataformat.adoc
index 0d6d15d..62a7e01 100644
--- a/components/camel-base64/src/main/docs/base64-dataformat.adoc
+++ b/components/camel-base64/src/main/docs/base64-dataformat.adoc
@@ -1,8 +1,9 @@
 [[base64-dataformat]]
-== Base64 DataFormat
+= Base64 DataFormat
 
 *Available as of Camel version 2.11*
 
+
 The Base64 data format is used for base64 encoding and decoding.
 
 === Options
@@ -22,7 +23,19 @@ The Base64 dataformat supports 4 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-base64-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 5 options, which are listed below.
@@ -129,4 +142,4 @@ If you use Maven you can just add the following to your pom.xml:
   <artifactId>camel-base64</artifactId>
   <version>x.x.x</version>  <!-- use the same version as your Camel core version -->
 </dependency>
-----
+----
\ No newline at end of file
diff --git a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
index b4a99fe..fce27e2 100644
--- a/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
+++ b/components/camel-bean-validator/src/main/docs/bean-validator-component.adoc
@@ -1,8 +1,9 @@
 [[bean-validator-component]]
-== Bean Validator Component
+= Bean Validator Component
 
 *Available as of Camel version 2.3*
 
+
 The Validator component performs bean validation of the message body
 using the Java Bean Validation API
 (http://jcp.org/en/jsr/detail?id=303[JSR 303]). Camel uses the reference
@@ -59,7 +60,7 @@ bean-validator:label
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -69,7 +70,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (6 parameters):
+=== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -84,7 +85,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-bean-validator-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -298,4 +311,4 @@ Note that the body should include an instance of a class to validate.
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
index bad55d6..6b3672d 100644
--- a/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
+++ b/components/camel-beanio/src/main/docs/beanio-dataformat.adoc
@@ -1,8 +1,9 @@
 [[beanio-dataformat]]
-== BeanIO DataFormat
+= BeanIO DataFormat
 
 *Available as of Camel version 2.10*
 
+
 The BeanIO Data Format uses
 http://beanio.org/[BeanIO] to handle flat payloads (such as XML, CSV,
 delimited, or fixed length formats).
@@ -34,7 +35,19 @@ The BeanIO dataformat supports 9 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-beanio-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 10 options, which are listed below.
@@ -103,4 +116,4 @@ the download page for the latest versions).
   <artifactId>camel-beanio</artifactId>
   <version>2.10.0</version>
 </dependency>
----------------------------------------
+---------------------------------------
\ No newline at end of file
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index c2403c1..29dbce2 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -1,3 +1,4 @@
+[[beanstalk-component]]
 = Beanstalk Component
 
 *Available as of Camel version 2.15*
@@ -81,7 +82,7 @@ beanstalk:connectionSettings
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -91,7 +92,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (26 parameters):
+=== Query Parameters (26 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -126,7 +127,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-beanstalk-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
diff --git a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
index e8dc40b..2bc4e84 100644
--- a/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
+++ b/components/camel-bindy/src/main/docs/bindy-dataformat.adoc
@@ -1,8 +1,11 @@
 [[bindy-dataformat]]
-== Bindy DataFormat
+= Bindy DataFormat
 
 *Available as of Camel version 2.0*
 
+*Available as of Camel version 2.0*
+
+
 The goal of this component is to allow the parsing/binding of
 non-structured data (or to be more precise non-XML data) +
  to/from Java Beans that have binding mappings defined with annotations.
@@ -71,7 +74,19 @@ The Bindy dataformat supports 5 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-bindy-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 18 options, which are listed below.
diff --git a/components/camel-bonita/src/main/docs/bonita-component.adoc b/components/camel-bonita/src/main/docs/bonita-component.adoc
index 593fab4..68c4247 100644
--- a/components/camel-bonita/src/main/docs/bonita-component.adoc
+++ b/components/camel-bonita/src/main/docs/bonita-component.adoc
@@ -1,8 +1,9 @@
 [[bonita-component]]
-== Bonita Component
+= Bonita Component
 
 *Available as of Camel version 2.19*
 
+
 Used for communicating with a remote Bonita BPM process engine.
 
 ### URI format
@@ -30,7 +31,7 @@ bonita:operation
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -40,7 +41,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (9 parameters):
+=== Query Parameters (9 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -58,7 +59,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-bonita-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -104,4 +117,4 @@ the download page for the latest versions).
   <artifactId>camel-bonita</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-boon/src/main/docs/boon-dataformat.adoc b/components/camel-boon/src/main/docs/boon-dataformat.adoc
index 7cc191f..3693cca 100644
--- a/components/camel-boon/src/main/docs/boon-dataformat.adoc
+++ b/components/camel-boon/src/main/docs/boon-dataformat.adoc
@@ -1,7 +1,9 @@
-== Boon DataFormat (deprecated)
+[[boon-dataformat]]
+= Boon DataFormat (deprecated)
 
 *Available as of Camel version 2.16*
 
+
 Boon is a Data Format which uses the
 http://richardhightower.github.io/site/Boon/Welcome.html[Boon
 JSON] marshalling library to unmarshal an JSON payload into Java objects
@@ -29,7 +31,19 @@ The Boon dataformat supports 3 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-boon-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 4 options, which are listed below.
diff --git a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
index e04398b..22e022f 100644
--- a/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
+++ b/components/camel-box/camel-box-component/src/main/docs/box-component.adoc
@@ -1,8 +1,9 @@
 [[box-component]]
-== Box Component
+= Box Component
 
 *Available as of Camel version 2.14*
 
+
 The Box component provides access to all of the Box.com APIs accessible
 using https://github.com/box/box-java-sdk/[https://github.com/box/box-java-sdk]. It
 allows producing messages to upload and download files, create, edit,
@@ -69,7 +70,7 @@ box:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (20 parameters):
+=== Query Parameters (20 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,7 +110,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-box-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -793,4 +806,4 @@ from("direct:foo")
     .setHeader("CamelBox.output", header("output"))
     .to("box://files/download")
     .to("file://...");
-----
+----
\ No newline at end of file
diff --git a/components/camel-braintree/src/main/docs/braintree-component.adoc b/components/camel-braintree/src/main/docs/braintree-component.adoc
index 70c32c9..5ff4ac7 100644
--- a/components/camel-braintree/src/main/docs/braintree-component.adoc
+++ b/components/camel-braintree/src/main/docs/braintree-component.adoc
@@ -1,8 +1,9 @@
 [[braintree-component]]
-== Braintree Component
+= Braintree Component
 
 *Available as of Camel version 2.17*
 
+
 The Braintree component provides access to
 https://www.braintreepayments.com/[Braintree Payments] trough through
 theirs https://developers.braintreepayments.com/start/hello-server/java[Java
@@ -61,7 +62,7 @@ braintree:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -72,7 +73,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (14 parameters):
+=== Query Parameters (14 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +96,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-braintree-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 14 options, which are listed below.
@@ -882,4 +895,4 @@ Started]
 
  
 
-https://cwiki.apache.org/confluence/display/CAMEL/AMQP[ ]
+https://cwiki.apache.org/confluence/display/CAMEL/AMQP[ ]
\ No newline at end of file
diff --git a/components/camel-cache/src/main/docs/cache-component.adoc b/components/camel-cache/src/main/docs/cache-component.adoc
index bb46a53..711937d 100644
--- a/components/camel-cache/src/main/docs/cache-component.adoc
+++ b/components/camel-cache/src/main/docs/cache-component.adoc
@@ -1,8 +1,9 @@
 [[cache-component]]
-== EHCache Component (deprecated)
+= EHCache Component (deprecated)
 
 *Available as of Camel version 2.1*
 
+
 The *cache* component enables you to perform caching operations using
 EHCache as the Cache Implementation. The cache itself is created on
 demand or if a cache of that name already exists then it is simply
@@ -73,7 +74,7 @@ cache:cacheName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -83,7 +84,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -111,7 +112,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-cache-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -137,7 +150,7 @@ The component supports 17 options, which are listed below.
 | *camel.component.cache.configuration.time-to-live-seconds* | The maximum time between creation time and when an element expires. Is used only if the element is not eternal | 300 | Long
 | *camel.component.cache.enabled* | Enable cache component | true | Boolean
 | *camel.component.cache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
-| *camel.component.cache.configuration.disk-store-path* | This parameter is ignored. CacheManager sets it using setter injection. |  | String
+| *camel.component.cache.configuration.disk-store-path* | *Deprecated* This parameter is ignored. CacheManager sets it using setter injection. |  | String
 |===
 // spring-boot-auto-configure options: END
 
@@ -477,4 +490,4 @@ mechanism.
 JMS replication is the most powerful and secured replication method.
 Used together with Camel Cache replication makes it also rather
 simple. An example is available on link:cachereplicationjmsexample.html[a
-separate page].
+separate page].
\ No newline at end of file
diff --git a/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc b/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
index 95a93a2..a84bc10 100644
--- a/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
+++ b/components/camel-caffeine/src/main/docs/caffeine-cache-component.adoc
@@ -1,8 +1,9 @@
 [[caffeine-cache-component]]
-== Caffeine Cache Component
+= Caffeine Cache Component
 
 *Available as of Camel version 2.20*
 
+
 The *caffeine-cache* component enables you to perform caching operations using
 the simple cache from Caffeine.
 
@@ -56,7 +57,7 @@ caffeine-cache:cacheName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -66,7 +67,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -94,7 +95,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-caffeine-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -155,4 +168,4 @@ Each time you'll use an operation on the cache you'll have two different headers
 ------------------------------------------------------------
 CaffeineConstants.ACTION_HAS_RESULT
 CaffeineConstants.ACTION_SUCCEEDED
-------------------------------------------------------------
+------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc b/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
index 12967d5..1ca473b 100644
--- a/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
+++ b/components/camel-caffeine/src/main/docs/caffeine-loadcache-component.adoc
@@ -1,8 +1,9 @@
 [[caffeine-loadcache-component]]
-== Caffeine LoadCache Component
+= Caffeine LoadCache Component
 
 *Available as of Camel version 2.20*
 
+
 The *caffeine-loadcache* component enables you to perform caching operations using
 The Load cache from Caffeine.
 
@@ -56,7 +57,7 @@ caffeine-loadcache:cacheName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -66,7 +67,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -94,7 +95,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-caffeine-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -122,5 +135,4 @@ The component supports 17 options, which are listed below.
 | *camel.component.caffeine-loadcache.enabled* | Whether to enable auto configuration of the caffeine-loadcache component. This is enabled by default. |  | Boolean
 | *camel.component.caffeine-loadcache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-cassandraql/src/main/docs/cql-component.adoc b/components/camel-cassandraql/src/main/docs/cql-component.adoc
index 939d708..98d9bdf 100644
--- a/components/camel-cassandraql/src/main/docs/cql-component.adoc
+++ b/components/camel-cassandraql/src/main/docs/cql-component.adoc
@@ -1,8 +1,9 @@
 [[cql-component]]
-== Cassandra CQL Component
+= Cassandra CQL Component
 
 *Available as of Camel version 2.15*
 
+
 http://cassandra.apache.org[Apache Cassandra] is an open source NoSQL
 database designed to handle large amounts on commodity hardware. Like
 Amazon's DynamoDB, Cassandra has a peer-to-peer and master-less
@@ -69,7 +70,7 @@ cql:beanRef:hosts:port/keyspace
 
 with the following path and query parameters:
 
-==== Path Parameters (4 parameters):
+=== Path Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -82,7 +83,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (29 parameters):
+=== Query Parameters (29 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -120,7 +121,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-cassandraql-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -278,6 +291,4 @@ At this point you should be able to insert data by using a list as body
 Arrays.asList("davsclaus", "Claus", "Ibsen")
 ---------------------------------------------------------
 
-The same approach can be used for updating or querying the table.
-
-
+The same approach can be used for updating or querying the table.
\ No newline at end of file
diff --git a/components/camel-castor/src/main/docs/castor-dataformat.adoc b/components/camel-castor/src/main/docs/castor-dataformat.adoc
index f7d65f7..65b87b6 100644
--- a/components/camel-castor/src/main/docs/castor-dataformat.adoc
+++ b/components/camel-castor/src/main/docs/castor-dataformat.adoc
@@ -1,8 +1,9 @@
 [[castor-dataformat]]
-== Castor DataFormat (deprecated)
+= Castor DataFormat (deprecated)
 
 *Available as of Camel version 2.1*
 
+
 Castor is a Data Format which uses the
 http://www.castor.org/[Castor XML library] to unmarshal an XML payload
 into Java objects or to marshal Java objects into an XML payload.
@@ -125,7 +126,19 @@ The Castor dataformat supports 9 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-castor-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 10 options, which are listed below.
@@ -165,4 +178,4 @@ the download page for the latest versions).
   <artifactId>camel-castor</artifactId>
   <version>x.x.x</version>
 </dependency>
----------------------------------------
+---------------------------------------
\ No newline at end of file
diff --git a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
index 89ac1cd..1ffeb7e 100644
--- a/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
+++ b/components/camel-chronicle/src/main/docs/chronicle-engine-component.adoc
@@ -1,8 +1,9 @@
 [[chronicle-engine-component]]
-== Chronicle Engine Component (deprecated)
+= Chronicle Engine Component (deprecated)
 
 *Available as of Camel version 2.18*
 
+
 *Available as of Camel version 2.18*
 
 
@@ -34,7 +35,7 @@ chronicle-engine:addresses/path
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -45,7 +46,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -66,7 +67,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-chronicle-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
diff --git a/components/camel-chunk/src/main/docs/chunk-component.adoc b/components/camel-chunk/src/main/docs/chunk-component.adoc
index 907b287..05cc4c4 100644
--- a/components/camel-chunk/src/main/docs/chunk-component.adoc
+++ b/components/camel-chunk/src/main/docs/chunk-component.adoc
@@ -1,8 +1,9 @@
 [[chunk-component]]
-== Chunk Component
+= Chunk Component
 
 *Available as of Camel version 2.15*
 
+
 The *chunk:* component allows for processing a message using a
 http://www.x5software.com/chunk/examples/ChunkExample?loc=en_US[Chunk] template.
 This can be ideal when using Templating to
@@ -51,7 +52,7 @@ chunk:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -61,7 +62,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (7 parameters):
+=== Query Parameters (7 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -77,7 +78,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-chunk-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -206,4 +219,4 @@ Regards Camel Riders Bookstore
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-cmis/src/main/docs/cmis-component.adoc b/components/camel-cmis/src/main/docs/cmis-component.adoc
index dcacfe2..7901638 100644
--- a/components/camel-cmis/src/main/docs/cmis-component.adoc
+++ b/components/camel-cmis/src/main/docs/cmis-component.adoc
@@ -1,8 +1,9 @@
 [[cmis-component]]
-== CMIS Component
+= CMIS Component
 
 *Available as of Camel version 2.11*
 
+
 The cmis component uses the
 http://chemistry.apache.org/java/opencmis.html[Apache Chemistry] client
 API and allows you to add/read nodes to/from a CMIS compliant content
@@ -45,7 +46,7 @@ cmis:cmsUrl
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -55,7 +56,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -77,7 +78,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-cmis-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
@@ -159,4 +172,4 @@ where `${camel-version`} must be replaced by the actual version of Camel
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-coap/src/main/docs/coap-component.adoc b/components/camel-coap/src/main/docs/coap-component.adoc
index 3058ce1..5f66134 100644
--- a/components/camel-coap/src/main/docs/coap-component.adoc
+++ b/components/camel-coap/src/main/docs/coap-component.adoc
@@ -1,8 +1,9 @@
 [[coap-component]]
-== CoAP Component
+= CoAP Component
 
 *Available as of Camel version 2.16*
 
+
 *Camel-CoAP* is an http://camel.apache.org/[Apache Camel] component that
 allows you to work with CoAP, a lightweight REST-type protocol for machine-to-machine operation. 
 http://coap.technology/[CoAP], Constrained Application Protocol is a specialized web transfer protocol 
@@ -57,7 +58,7 @@ coap:uri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -89,7 +90,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-coap-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -127,4 +140,4 @@ The following rules determine which request method the CoAP producer will use to
  1. The value of the `CamelCoapMethod` header
  2. **GET** if a query string is provided on the target CoAP server URI.
  3. **POST** if the message exchange body is not null.
- 4. **GET** otherwise.
+ 4. **GET** otherwise.
\ No newline at end of file
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index 5d93d3f..a15622f 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -1,3 +1,4 @@
+[[cometd-component]]
 = CometD Component
 
 *Available as of Camel version 2.0*
@@ -81,7 +82,7 @@ cometd:host:port/channelName
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -93,7 +94,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (16 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -118,7 +119,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-cometd-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 9 options, which are listed below.
diff --git a/components/camel-consul/src/main/docs/consul-component.adoc b/components/camel-consul/src/main/docs/consul-component.adoc
index 1664245..250fee1 100644
--- a/components/camel-consul/src/main/docs/consul-component.adoc
+++ b/components/camel-consul/src/main/docs/consul-component.adoc
@@ -1,8 +1,9 @@
 [[consul-component]]
-== Consul Component
+= Consul Component
 
 *Available as of Camel version 2.18*
 
+
 The *Consul* component is a component for integrating your application with Consul.
 
 Maven users will need to add the following dependency to their pom.xml
@@ -69,7 +70,7 @@ consul:apiEndpoint
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -79,7 +80,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (4 parameters):
+=== Query Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -92,7 +93,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-consul-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 90 options, which are listed below.
@@ -189,9 +202,9 @@ The component supports 90 options, which are listed below.
 | *camel.component.consul.url* | The Consul agent URL |  | String
 | *camel.component.consul.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 | *camel.component.consul.user-name* | Sets the username to be used for basic authentication |  | String
-| *camel.component.consul.cluster.service.dc* |  |  | String
-| *camel.component.consul.configuration.dc* | The data center  @deprecated replaced by {@link #setDatacenter(String)} ()} |  | String
-| *camel.component.consul.service-registry.dc* |  |  | String
+| *camel.component.consul.cluster.service.dc* | *Deprecated*  |  | String
+| *camel.component.consul.configuration.dc* | *Deprecated* The data center  @deprecated replaced by {@link #setDatacenter(String)} ()} |  | String
+| *camel.component.consul.service-registry.dc* | *Deprecated*  |  | String
 |===
 // spring-boot-auto-configure options: END
 
@@ -221,4 +234,4 @@ The component supports 90 options, which are listed below.
 |CamelConsulResult|boolean|true if the response has a result
 |CamelConsulSession|String|The session id
 |CamelConsulValueAsString|boolean|To transform values retrieved from Consul i.e. on KV endpoint to string.
-|=======================================================================
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-context/src/main/docs/context-component.adoc b/components/camel-context/src/main/docs/context-component.adoc
index c55bf90..9b10436 100644
--- a/components/camel-context/src/main/docs/context-component.adoc
+++ b/components/camel-context/src/main/docs/context-component.adoc
@@ -1,8 +1,9 @@
 [[context-component]]
-== Camel Context Component (deprecated)
+= Camel Context Component (deprecated)
 
 *Available as of Camel version 2.7*
 
+
 The *context* component allows you to create new Camel Components from a
 CamelContext with a number of routes which is then treated as a black
 box, allowing you to refer to the local endpoints within the component
@@ -57,7 +58,7 @@ context:contextId:localEndpointUrl
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -68,7 +69,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (4 parameters):
+=== Query Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -81,7 +82,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-context-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -192,4 +205,4 @@ hide the middleware as shown above.
 
 However when there is only one input, output or error/dead letter
 endpoint in a component we recommend using the common posix shell names
-*in*, *out* and *err*
+*in*, *out* and *err*
\ No newline at end of file
diff --git a/components/camel-corda/src/main/docs/corda-component.adoc b/components/camel-corda/src/main/docs/corda-component.adoc
index 9ce7fd3..f5ac0b4 100644
--- a/components/camel-corda/src/main/docs/corda-component.adoc
+++ b/components/camel-corda/src/main/docs/corda-component.adoc
@@ -1,9 +1,10 @@
 [[corda-component]]
-== corda Component
+= corda Component
 
 *Available as of Camel version 2.23*
 
 
+
 The *Corda* blockchain component uses the https://www.corda.net/[corda] rpc client
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -52,7 +53,7 @@ corda:url
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -62,7 +63,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (4 parameters):
+=== Query Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -75,7 +76,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-corda-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 14 options, which are listed below.
@@ -136,4 +149,4 @@ Read the node information:
 --------------------------------------------------------
 from("direct:start")
     .to("corda://localhost:10006?username=user1&password=test?operation=NODE_INFO");
---------------------------------------------------------
+--------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-couchbase/src/main/docs/couchbase-component.adoc b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
index 801aee3..e4b3a9f 100644
--- a/components/camel-couchbase/src/main/docs/couchbase-component.adoc
+++ b/components/camel-couchbase/src/main/docs/couchbase-component.adoc
@@ -1,8 +1,9 @@
 [[couchbase-component]]
-== Couchbase Component
+= Couchbase Component
 
 *Available as of Camel version 2.19*
 
+
 The *couchbase:* component allows you to treat
 https://www.couchbase.com/[CouchBase] instances as a producer or consumer
 of messages.
@@ -42,7 +43,7 @@ couchbase:protocol:hostname:port
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -54,7 +55,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (47 parameters):
+=== Query Parameters (47 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -110,7 +111,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-couchbase-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -123,5 +136,4 @@ The component supports 2 options, which are listed below.
 | *camel.component.couchbase.enabled* | Enable couchbase component | true | Boolean
 | *camel.component.couchbase.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-couchdb/src/main/docs/couchdb-component.adoc b/components/camel-couchdb/src/main/docs/couchdb-component.adoc
index c5f0400..63a5a0d 100644
--- a/components/camel-couchdb/src/main/docs/couchdb-component.adoc
+++ b/components/camel-couchdb/src/main/docs/couchdb-component.adoc
@@ -1,8 +1,9 @@
 [[couchdb-component]]
-== CouchDB Component
+= CouchDB Component
 
 *Available as of Camel version 2.11*
 
+
 The *couchdb:* component allows you to treat
 http://couchdb.apache.org/[CouchDB] instances as a producer or consumer
 of messages. Using the lightweight LightCouch API, this camel component
@@ -57,7 +58,7 @@ couchdb:protocol:hostname:port/database
 
 with the following path and query parameters:
 
-==== Path Parameters (4 parameters):
+=== Path Parameters (4 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -70,7 +71,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -91,7 +92,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-couchdb-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -166,4 +179,4 @@ exchange is used
 [source,java]
 ----------------------------------------------------------------------------------------
 from("someProducingEndpoint").process(someProcessor).to("couchdb:http://localhost:9999")
-----------------------------------------------------------------------------------------
+----------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
index a9bd7ab..83f4117 100644
--- a/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
+++ b/components/camel-crypto-cms/src/main/docs/crypto-cms-component.adoc
@@ -1,8 +1,9 @@
 [[crypto-cms-component]]
-== Crypto CMS Component
+= Crypto CMS Component
 
 *Available as of Camel version 2.20*
 
+
 http://tools.ietf.org/html/rfc5652[Cryptographic Message Syntax (CMS)] is a well established standard for signing and encrypting messages. The Apache Crypto CMS component supports the following parts of this standard:
 * Content Type "Enveloped Data" with Key Transport (asymmetric key),
 * Content Type "Signed Data".
@@ -56,7 +57,7 @@ crypto-cms:cryptoOperation:name
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (15 parameters):
+=== Query Parameters (15 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -91,7 +92,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-crypto-cms-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 4 options, which are listed below.
@@ -409,4 +422,4 @@ from("direct:start")
         <to uri="crypto-cms:verify://testverify?keyStoreParameters=#keyStoreParameters1&amp;signedDataHeaderBase64=true" />
         <to uri="mock:result" />
     </route>    
-----
+----
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/crypto-component.adoc b/components/camel-crypto/src/main/docs/crypto-component.adoc
index 673655f..35a8fed 100644
--- a/components/camel-crypto/src/main/docs/crypto-component.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-component.adoc
@@ -1,3 +1,4 @@
+[[crypto-component]]
 = Crypto (JCE) Component
 
 *Available as of Camel version 2.3*
@@ -102,7 +103,7 @@ crypto:cryptoOperation:name
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -113,7 +114,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (19 parameters):
+=== Query Parameters (19 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -141,7 +142,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-crypto-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 33 options, which are listed below.
diff --git a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
index 96f3653..37a04b4 100644
--- a/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-dataformat.adoc
@@ -1,8 +1,9 @@
 [[crypto-dataformat]]
-== Crypto (Java Cryptographic Extension) DataFormat
+= Crypto (Java Cryptographic Extension) DataFormat
 
 *Available as of Camel version 2.3*
 
+
 The Crypto Data Format integrates the Java
 Cryptographic Extension into Camel, allowing simple and flexible
 encryption and decryption of messages using Camel's familiar marshall
@@ -34,7 +35,19 @@ The Crypto (Java Cryptographic Extension) dataformat supports 10 options, which
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-crypto-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 33 options, which are listed below.
@@ -326,4 +339,4 @@ need to add the following dependency to your pom.
 
 * Data Format
 * Crypto (Digital Signatures)
-* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
+* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
\ No newline at end of file
diff --git a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
index 896784e..53cb965 100644
--- a/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
+++ b/components/camel-crypto/src/main/docs/pgp-dataformat.adoc
@@ -1,8 +1,9 @@
 [[pgp-dataformat]]
-== PGP DataFormat
+= PGP DataFormat
 
 *Available as of Camel version 2.9*
 
+
 The PGP Data Format integrates the Java
 Cryptographic Extension into Camel, allowing simple and flexible
 encryption and decryption of messages using Camel's familiar marshall
@@ -319,4 +320,4 @@ need to add the following dependency to your pom.
 
 * Data Format
 * Crypto (Digital Signatures)
-* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
+* http://www.bouncycastle.org/java.html[http://www.bouncycastle.org/java.html]
\ No newline at end of file
diff --git a/components/camel-csv/src/main/docs/csv-dataformat.adoc b/components/camel-csv/src/main/docs/csv-dataformat.adoc
index 7979999..ada72e2 100644
--- a/components/camel-csv/src/main/docs/csv-dataformat.adoc
+++ b/components/camel-csv/src/main/docs/csv-dataformat.adoc
@@ -1,8 +1,9 @@
 [[csv-dataformat]]
-== CSV DataFormat
+= CSV DataFormat
 
 *Available as of Camel version 1.3*
 
+
 The CSV Data Format uses
 http://commons.apache.org/proper/commons-csv/[Apache Commons CSV] to
 handle CSV payloads (Comma Separated Values) such as those
@@ -50,7 +51,19 @@ The CSV dataformat supports 28 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-csv-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 29 options, which are listed below.
@@ -408,4 +421,4 @@ the download page for the latest versions).
   <artifactId>camel-csv</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-cxf/src/main/docs/cxf-component.adoc b/components/camel-cxf/src/main/docs/cxf-component.adoc
index bb006a5e..21c8100 100644
--- a/components/camel-cxf/src/main/docs/cxf-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxf-component.adoc
@@ -1,8 +1,9 @@
 [[cxf-component]]
-== CXF Component
+= CXF Component
 
 *Available as of Camel version 1.0*
 
+
 NOTE: When using Apache CXF as a consumer, the link:cxf-bean-component.html[CXF Bean
 Component] allows you to factor out how message payloads are received
 from their processing as a RESTful or SOAP web service. This has the
@@ -136,7 +137,7 @@ cxf:beanId:address
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -147,7 +148,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (34 parameters):
+=== Query Parameters (34 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -190,7 +191,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-cxf-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 5 options, which are listed below.
@@ -918,4 +931,4 @@ the key SOAPAction (case-insensitive).
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-cxf/src/main/docs/cxfrs-component.adoc b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
index 34a4e4e..0df1b0f 100644
--- a/components/camel-cxf/src/main/docs/cxfrs-component.adoc
+++ b/components/camel-cxf/src/main/docs/cxfrs-component.adoc
@@ -1,8 +1,9 @@
 [[cxfrs-component]]
-== CXF-RS Component
+= CXF-RS Component
 
 *Available as of Camel version 2.0*
 
+
 The *cxfrs:* component provides integration with
 http://cxf.apache.org[Apache CXF] for connecting to JAX-RS 1.1 and 2.0
 services hosted in CXF.
@@ -80,7 +81,7 @@ cxfrs:beanId:address
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -91,7 +92,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (30 parameters):
+=== Query Parameters (30 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -130,7 +131,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-cxf-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 4 options, which are listed below.
@@ -492,4 +505,4 @@ Map<String, String> queryMap = new LinkedHashMap<>();
 queryMap.put("q1", "new");
 queryMap.put("q2", "world");
 inMessage.setHeader(CxfConstants.CAMEL_CXF_RS_QUERY_MAP, queryMap);
-----
+----
\ No newline at end of file
diff --git a/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc b/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
index d3761c1..ac42ae3 100644
--- a/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
+++ b/components/camel-digitalocean/src/main/docs/digitalocean-component.adoc
@@ -1,8 +1,9 @@
 [[digitalocean-component]]
-== DigitalOcean Component
+= DigitalOcean Component
 
 *Available as of Camel version 2.19*
 
+
 The **DigitalOcean** component allows you to manage Droplets and resources within the DigitalOcean cloud with **Camel** by encapsulating [digitalocean-api-java](https://www.digitalocean.com/community/projects/api-client-in-java). All of the functionality that you are familiar with in the DigitalOcean control panel is also available through this Camel component.
 
 ### Prerequisites
@@ -43,7 +44,7 @@ digitalocean:operation
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -53,7 +54,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -72,7 +73,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-digitalocean-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -282,4 +295,4 @@ Shutdown  information for the Droplet (dropletId = 34772987)
 from("direct:shutdown")
     .setHeader(DigitalOceanConstants.ID, 34772987)
     .to("digitalocean:droplet?operation=shutdown&oAuthToken=XXXXXX")
-```
+```
\ No newline at end of file
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index b6f7af9..439c3fe 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -1,3 +1,4 @@
+[[disruptor-component]]
 = Disruptor Component
 
 *Available as of Camel version 2.12*
@@ -125,7 +126,7 @@ disruptor:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -135,7 +136,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -156,7 +157,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-disruptor-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 18 options, which are listed below.
@@ -182,8 +195,8 @@ The component supports 18 options, which are listed below.
 | *camel.component.disruptor.default-wait-strategy* | To configure the default value for DisruptorWaitStrategy The default value is Blocking. |  | DisruptorWaitStrategy
 | *camel.component.disruptor.enabled* | Enable disruptor component | true | Boolean
 | *camel.component.disruptor.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
-| *camel.component.disruptor-vm.queue-size* | To configure the ring buffer size |  | Integer
-| *camel.component.disruptor.queue-size* | To configure the ring buffer size |  | Integer
+| *camel.component.disruptor-vm.queue-size* | *Deprecated* To configure the ring buffer size |  | Integer
+| *camel.component.disruptor.queue-size* | *Deprecated* To configure the ring buffer size |  | Integer
 |===
 // spring-boot-auto-configure options: END
 
diff --git a/components/camel-dns/src/main/docs/dns-component.adoc b/components/camel-dns/src/main/docs/dns-component.adoc
index ab766c2..5bcbcef 100644
--- a/components/camel-dns/src/main/docs/dns-component.adoc
+++ b/components/camel-dns/src/main/docs/dns-component.adoc
@@ -1,8 +1,9 @@
 [[dns-component]]
-== DNS Component
+= DNS Component
 
 *Available as of Camel version 2.7*
 
+
 This is an additional component for Camel to run DNS queries, using
 DNSJava. The component is a thin layer on top of
 http://www.xbill.org/dnsjava/[DNSJava]. +
@@ -61,7 +62,7 @@ dns:dnsType
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -71,7 +72,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (1 parameters):
+=== Query Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -81,7 +82,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-dns-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -185,4 +198,4 @@ i.e. You may have an instance in NYC and an instance in SFO. You would configure
 
 	<route id="routeId" autoStartup="false" routePolicyRef="dnsActivationPolicy">
 	</route>
-----
+----
\ No newline at end of file
diff --git a/components/camel-docker/src/main/docs/docker-component.adoc b/components/camel-docker/src/main/docs/docker-component.adoc
index 05d956d..ce14b1e 100644
--- a/components/camel-docker/src/main/docs/docker-component.adoc
+++ b/components/camel-docker/src/main/docs/docker-component.adoc
@@ -1,8 +1,9 @@
 [[docker-component]]
-== Docker Component
+= Docker Component
 
 *Available as of Camel version 2.15*
 
+
 Camel component for communicating with Docker.
 
 The Docker Camel component leverages the
@@ -45,7 +46,7 @@ docker:operation
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -55,7 +56,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (20 parameters):
+=== Query Parameters (20 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -84,7 +85,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-docker-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 20 options, which are listed below.
@@ -166,4 +179,4 @@ the download page for the latest versions).
   <artifactId>camel-docker</artifactId>
   <version>x.x.x</version>
 </dependency>
--------------------------------------
+-------------------------------------
\ No newline at end of file
diff --git a/components/camel-dozer/src/main/docs/dozer-component.adoc b/components/camel-dozer/src/main/docs/dozer-component.adoc
index 3e639b4..8cfad56 100644
--- a/components/camel-dozer/src/main/docs/dozer-component.adoc
+++ b/components/camel-dozer/src/main/docs/dozer-component.adoc
@@ -1,8 +1,9 @@
 [[dozer-component]]
-== Dozer Component
+= Dozer Component
 
 *Available as of Camel version 2.15*
 
+
 The *dozer:* component provides the ability to map between Java beans
 using the http://camel.apache.org/dozer-type-conversion.html[Dozer]
 mapping framework since *Camel 2.15.0*.  Camel also supports the ability
@@ -69,7 +70,7 @@ dozer:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -79,7 +80,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (7 parameters):
+=== Query Parameters (7 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +96,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-dozer-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -292,4 +305,4 @@ An example of mapping a message header into a target field:
 
 Note that any properties within your expression must be escaped with "\"
 to prevent an error when Dozer attempts to resolve variable values
-defined using the EL.
+defined using the EL.
\ No newline at end of file
diff --git a/components/camel-drill/src/main/docs/drill-component.adoc b/components/camel-drill/src/main/docs/drill-component.adoc
index dac6f1f..3c92b7b 100644
--- a/components/camel-drill/src/main/docs/drill-component.adoc
+++ b/components/camel-drill/src/main/docs/drill-component.adoc
@@ -1,8 +1,9 @@
 [[drill-component]]
-== Drill Component
+= Drill Component
 
 *Available as of Camel version 2.19*
 
+
 The *drill:* component gives you the ability to querying to https://drill.apache.org/[Apache Drill Cluster]
 
 Drill is an Apache open-source SQL query engine for Big Data exploration. Drill is designed from the ground up to support high-performance analysis on the semi-structured and rapidly evolving data coming from modern Big Data applications, while still providing the familiarity and ecosystem of ANSI SQL, the industry-standard query language
@@ -51,7 +52,7 @@ drill:host
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -61,21 +62,33 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+=== Query Parameters (5 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *clusterId* (producer) | Cluster ID https://drill.apache.org/docs/using-the-jdbc-driver/#determining-the-cluster-id |  | String
+| *clusterId* (producer) | Cluster ID \https://drill.apache.org/docs/using-the-jdbc-driver/#determining-the-cluster-id |  | String
 | *directory* (producer) | Drill directory in ZooKeeper |  | String
-| *mode* (producer) | Connection mode: zk: Zookeeper drillbit: Drillbit direct connection https://drill.apache.org/docs/using-the-jdbc-driver/ | ZK | DrillConnectionMode
+| *mode* (producer) | Connection mode: zk: Zookeeper drillbit: Drillbit direct connection \https://drill.apache.org/docs/using-the-jdbc-driver/ | ZK | DrillConnectionMode
 | *port* (producer) | ZooKeeper port number |  | Integer
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-drill-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -96,4 +109,4 @@ The component supports 2 options, which are listed below.
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-dropbox/src/main/docs/dropbox-component.adoc b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
index 343a18e..9c829f3 100644
--- a/components/camel-dropbox/src/main/docs/dropbox-component.adoc
+++ b/components/camel-dropbox/src/main/docs/dropbox-component.adoc
@@ -1,8 +1,9 @@
 [[dropbox-component]]
-== Dropbox Component
+= Dropbox Component
 
 *Available as of Camel version 2.14*
 
+
 The *dropbox:* component allows you to treat
 https://www.dropbox.com[Dropbox] remote folders as a producer or
 consumer of messages. Using the
@@ -78,7 +79,7 @@ dropbox:operation
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -88,7 +89,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,7 +110,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-dropbox-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -424,4 +437,4 @@ Dropbox documentation,
 
 
 
- 
+ 
\ No newline at end of file
diff --git a/components/camel-ehcache/src/main/docs/ehcache-component.adoc b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
index 562019e..db19f77 100644
--- a/components/camel-ehcache/src/main/docs/ehcache-component.adoc
+++ b/components/camel-ehcache/src/main/docs/ehcache-component.adoc
@@ -1,8 +1,9 @@
 [[ehcache-component]]
-== Ehcache Component
+= Ehcache Component
 
 *Available as of Camel version 2.18*
 
+
 The *ehcache* component enables you to perform caching operations using
 Ehcache 3 as the Cache Implementation.
 
@@ -66,7 +67,7 @@ ehcache:cacheName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -76,7 +77,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (17 parameters):
+=== Query Parameters (17 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -102,7 +103,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-ehcache-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 25 options, which are listed below.
@@ -136,7 +149,7 @@ The component supports 25 options, which are listed below.
 | *camel.component.ehcache.customizer.cache-manager.override* | Configure if the cache manager eventually set on the component should be overridden by the customizer. | false | Boolean
 | *camel.component.ehcache.enabled* | Enable ehcache component | true | Boolean
 | *camel.component.ehcache.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
-| *camel.component.ehcache.configuration.config-uri* | URI pointing to the Ehcache XML configuration file's location  @deprecated use {@link #setConfigurationUri(String)} instead |  | String
+| *camel.component.ehcache.configuration.config-uri* | *Deprecated* URI pointing to the Ehcache XML configuration file's location  @deprecated use {@link #setConfigurationUri(String)} instead |  | String
 |===
 // spring-boot-auto-configure options: END
 
@@ -266,4 +279,4 @@ public class EhcacheAggregationRepositoryRoutesTest extends CamelTestSupport {
         return repository;
     }
 }
----------------------------------------------------------------------------------------------------------------------------------
+---------------------------------------------------------------------------------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-ejb/src/main/docs/ejb-component.adoc b/components/camel-ejb/src/main/docs/ejb-component.adoc
index 988ff47..6570157 100644
--- a/components/camel-ejb/src/main/docs/ejb-component.adoc
+++ b/components/camel-ejb/src/main/docs/ejb-component.adoc
@@ -1,8 +1,9 @@
 [[ejb-component]]
-== EJB Component (deprecated)
+= EJB Component (deprecated)
 
 *Available as of Camel version 2.4*
 
+
 *Available as of Camel version 2.4*
 
 
@@ -62,7 +63,7 @@ ejb:beanName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -72,7 +73,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+=== Query Parameters (5 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
diff --git a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
index a32188a..01d85f9 100644
--- a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
+++ b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
@@ -1,3 +1,4 @@
+[[elasticsearch-rest-component]]
 = Elastichsearch Rest Component
 
 *Available as of Camel version 2.21*
@@ -63,7 +64,7 @@ elasticsearch-rest:clusterName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -73,7 +74,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +96,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-elasticsearch-rest-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 13 options, which are listed below.
diff --git a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
index e0a2c5d..f6ff3e0 100644
--- a/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
+++ b/components/camel-elasticsearch/src/main/docs/elasticsearch-component.adoc
@@ -1,8 +1,9 @@
 [[elasticsearch-component]]
-== Elasticsearch Component (deprecated)
+= Elasticsearch Component (deprecated)
 
 *Available as of Camel version 2.11*
 
+
 The ElasticSearch component allows you to interface with an
 http://elasticsearch.org[ElasticSearch] server.
 
@@ -57,7 +58,7 @@ elasticsearch:clusterName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (11 parameters):
+=== Query Parameters (11 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,14 +81,26 @@ with the following path and query parameters:
 | *indexType* (producer) | The type of the index to act against |  | String
 | *ip* (producer) | The TransportClient remote host ip to use |  | String
 | *operation* (producer) | What operation to perform |  | String
-| *pathHome* (producer) | The path.home property of ElasticSearch configuration. You need to provide a valid path, otherwise the default, $user.home/.elasticsearch, will be used. | ${user.home}/.elasticsearch | String
+| *pathHome* (producer) | The path.home property of ElasticSearch configuration. You need to provide a valid path, otherwise the default, \$user.home/.elasticsearch, will be used. | ${user.home}/.elasticsearch | String
 | *port* (producer) | The TransportClient remote port to use (defaults to 9300) | 9300 | int
 | *transportAddresses* (producer) | Comma separated list with ip:port formatted remote transport addresses to use. The ip and port options must be left blank for transportAddresses to be considered instead. |  | String
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-elasticsearch-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
@@ -194,4 +207,4 @@ Java API]
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
index dc2059f..1de0bb6 100644
--- a/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
+++ b/components/camel-elasticsearch5/src/main/docs/elasticsearch5-component.adoc
@@ -1,8 +1,9 @@
 [[elasticsearch5-component]]
-== Elasticsearch5 Component (deprecated)
+= Elasticsearch5 Component (deprecated)
 
 *Available as of Camel version 2.19*
 
+
 The ElasticSearch component allows you to interface with an
 https://www.elastic.co/products/elasticsearch[ElasticSearch] 5.x API.
 
@@ -57,7 +58,7 @@ elasticsearch5:clusterName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (16 parameters):
+=== Query Parameters (16 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -92,7 +93,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-elasticsearch5-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
@@ -194,4 +207,4 @@ https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/java-api.h
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index 84aecd7..d47e4ad 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -1,3 +1,4 @@
+[[elsql-component]]
 = ElSQL Component
 
 *Available as of Camel version 2.16*
@@ -76,7 +77,7 @@ elsql:elsqlName:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,7 +88,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (47 parameters):
+=== Query Parameters (47 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -143,7 +144,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-elsql-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 6 options, which are listed below.
diff --git a/components/camel-etcd/src/main/docs/etcd-component.adoc b/components/camel-etcd/src/main/docs/etcd-component.adoc
index 2dce84f..3a97638 100644
--- a/components/camel-etcd/src/main/docs/etcd-component.adoc
+++ b/components/camel-etcd/src/main/docs/etcd-component.adoc
@@ -1,8 +1,9 @@
 [[etcd-component]]
-== etcd Component
+= etcd Component
 
 *Available as of Camel version 2.18*
 
+
 The camel etcd component allows you to work with Etcd, a distributed reliable key-value store.
 
 ### URI Format
@@ -41,7 +42,7 @@ etcd:namespace/path
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -52,7 +53,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (29 parameters):
+=== Query Parameters (29 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -90,7 +91,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-etcd-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -118,5 +131,4 @@ The component supports 17 options, which are listed below.
 | *camel.component.etcd.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 | *camel.component.etcd.user-name* | The user name to use for basic authentication. |  | String
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
index 355a47e..5ebbce2 100644
--- a/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
+++ b/components/camel-eventadmin/src/main/docs/eventadmin-component.adoc
@@ -1,8 +1,9 @@
 [[eventadmin-component]]
-== OSGi EventAdmin Component
+= OSGi EventAdmin Component
 
 *Available as of Camel version 2.6*
 
+
 The `eventadmin` component can be used in an OSGi environment to receive
 OSGi EventAdmin events and process them.
 
@@ -55,7 +56,7 @@ eventadmin:topic
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -65,7 +66,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+=== Query Parameters (5 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -99,4 +100,4 @@ The `in` message body will be set to the received Event.
     <from uri="eventadmin:*"/>
     <to uri="stream:out"/>
 </route>
-------------------------------
+------------------------------
\ No newline at end of file
diff --git a/components/camel-exec/src/main/docs/exec-component.adoc b/components/camel-exec/src/main/docs/exec-component.adoc
index 442df69..a3df655 100644
--- a/components/camel-exec/src/main/docs/exec-component.adoc
+++ b/components/camel-exec/src/main/docs/exec-component.adoc
@@ -1,8 +1,9 @@
 [[exec-component]]
-== Exec Component
+= Exec Component
 
 *Available as of Camel version 2.3*
 
+
 The `exec` component can be used to execute system commands.
 
 ### Dependencies
@@ -47,7 +48,7 @@ exec:executable
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -57,7 +58,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (8 parameters):
+=== Query Parameters (8 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -74,7 +75,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-exec-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -255,4 +268,4 @@ from("direct:exec").to("exec:cmd?args=/C echo echoString")
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index 0365e00..5ca2169 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -1,3 +1,4 @@
+[[facebook-component]]
 = Facebook Component
 
 *Available as of Camel version 2.14*
@@ -78,7 +79,7 @@ facebook:methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -88,7 +89,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (102 parameters):
+=== Query Parameters (102 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -195,11 +196,23 @@ with the following path and query parameters:
 | *oAuthAppId* (security) | The application Id |  | String
 | *oAuthAppSecret* (security) | The application Secret |  | String
 | *oAuthAuthorizationURL* (security) | OAuth authorization URL | https://www.facebook.com/dialog/oauth | String
-| *oAuthPermissions* (security) | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
+| *oAuthPermissions* (security) | Default OAuth permissions. Comma separated permission names. See \https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-facebook-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 29 options, which are listed below.
@@ -231,7 +244,7 @@ The component supports 29 options, which are listed below.
 | *camel.component.facebook.configuration.o-auth-app-id* | The application Id |  | String
 | *camel.component.facebook.configuration.o-auth-app-secret* | The application Secret |  | String
 | *camel.component.facebook.configuration.o-auth-authorization-u-r-l* | OAuth authorization URL | https://www.facebook.com/dialog/oauth | String
-| *camel.component.facebook.configuration.o-auth-permissions* | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
+| *camel.component.facebook.configuration.o-auth-permissions* | Default OAuth permissions. Comma separated permission names. See \https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
 | *camel.component.facebook.configuration.pretty-debug-enabled* | Prettify JSON debug output if set to true | false | Boolean
 | *camel.component.facebook.configuration.rest-base-u-r-l* | API base URL | https://graph.facebook.com/ | String
 | *camel.component.facebook.configuration.use-s-s-l* | Use SSL | true | Boolean
diff --git a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
index 2515ed7..67b037e 100644
--- a/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
+++ b/components/camel-fastjson/src/main/docs/json-fastjson-dataformat.adoc
@@ -1,8 +1,9 @@
 [[json-fastjson-dataformat]]
-== JSon Fastjson DataFormat
+= JSon Fastjson DataFormat
 
 *Available as of Camel version 2.20*
 
+
 Fastjson is a Data Format which uses the
 https://github.com/alibaba/fastjson[Fastjson Library]
 
@@ -46,7 +47,19 @@ The JSon Fastjson dataformat supports 19 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-fastjson-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 20 options, which are listed below.
@@ -97,4 +110,4 @@ the download page for the latest versions).
   <version>x.x.x</version>
   <!-- use the same version as your Camel core version -->
 </dependency>
-----------------------------------------------------------
+----------------------------------------------------------
\ No newline at end of file
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
index 4d5d6b5..0f11c27 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhir-component.adoc
@@ -1,8 +1,9 @@
 [[fhir-component]]
-== FHIR Component
+= FHIR Component
 
 *Available as of Camel version 2.23*
 
+
 The FHIR component integrates with the
 http://hapifhir.io/[HAPI-FHIR] library which is an open-source implementation of the
 http://hl7.org/implement/standards/fhir/[FHIR] (Fast Healthcare Interoperability Resources) specification in Java.
@@ -69,7 +70,7 @@ fhir:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -80,7 +81,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (26 parameters):
+=== Query Parameters (26 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -115,7 +116,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-fhir-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 23 options, which are listed below.
@@ -149,4 +162,4 @@ The component supports 23 options, which are listed below.
 | *camel.component.fhir.enabled* | Whether to enable auto configuration of the fhir component. This is enabled by default. |  | Boolean
 | *camel.component.fhir.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
index 1f60931..2a696cd 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirJson-dataformat.adoc
@@ -1,10 +1,12 @@
 [[fhirJson-dataformat]]
-== FHIR JSon DataFormat
+= FHIR JSon DataFormat
 *Available as of Camel version 2.21*
 *Available as of Camel version 2.21*
 
 
 
+
+
 The FHIR-JSON Data Format leverages
 link:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/JsonParser.java[HAPI-FHIR's]
 JSON parser to parse to/from JSON format to/from a HAPI-FHIR's `IBaseResource`.
@@ -36,7 +38,19 @@ The FHIR JSon dataformat supports 14 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-fhir-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 15 options, which are listed below.
@@ -62,4 +76,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.fhirjson.summary-mode* | If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included. | false | Boolean
 | *camel.dataformat.fhirjson.suppress-narratives* | If set to true (default is false), narratives will not be included in the encoded values. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
index 50500e8..6fabaa1 100644
--- a/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
+++ b/components/camel-fhir/camel-fhir-component/src/main/docs/fhirXml-dataformat.adoc
@@ -1,9 +1,11 @@
 [[fhirXml-dataformat]]
-== FHIR XML DataFormat
+= FHIR XML DataFormat
 *Available as of Camel version 2.21*
 *Available as of Camel version 2.21*
 
 
+
+
 The FHIR-XML Data Format leverages
 link:https://github.com/jamesagnew/hapi-fhir/blob/master/hapi-fhir-base/src/main/java/ca/uhn/fhir/parser/XmlParser.java[HAPI-FHIR's]
 XML parser to parse to/from XML format to/from a HAPI-FHIR's `IBaseResource`.
@@ -35,7 +37,19 @@ The FHIR XML dataformat supports 14 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-fhir-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 15 options, which are listed below.
@@ -61,4 +75,4 @@ The component supports 15 options, which are listed below.
 | *camel.dataformat.fhirxml.summary-mode* | If set to true (default is false) only elements marked by the FHIR specification as being summary elements will be included. | false | Boolean
 | *camel.dataformat.fhirxml.suppress-narratives* | If set to true (default is false), narratives will not be included in the encoded values. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-component.adoc b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
index 7167316..610a85b 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-component.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-component.adoc
@@ -1,8 +1,9 @@
 [[flatpack-component]]
-== Flatpack Component
+= Flatpack Component
 
 *Available as of Camel version 1.4*
 
+
 The Flatpack component supports fixed width and delimited file parsing
 via the http://flatpack.sourceforge.net[FlatPack library]. +
  *Notice:* This component only supports consuming from flatpack files to
@@ -54,7 +55,7 @@ flatpack:type:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -65,7 +66,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (25 parameters):
+=== Query Parameters (25 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -99,7 +100,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-flatpack-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -334,4 +347,4 @@ the download page for the latest versions).
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
index b8b613f..d9c17e9 100644
--- a/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
+++ b/components/camel-flatpack/src/main/docs/flatpack-dataformat.adoc
@@ -1,8 +1,9 @@
 [[flatpack-dataformat]]
-== Flatpack DataFormat
+= Flatpack DataFormat
 
 *Available as of Camel version 2.1*
 
+
 The <<flatpack-component,Flatpack>> component ships with the Flatpack data
 format that can be used to format between fixed width or delimited text
 messages to a `List` of rows as `Map`.
@@ -41,7 +42,19 @@ The Flatpack dataformat supports 9 options, which are listed below.
 |===
 // dataformat options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-flatpack-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 12 options, which are listed below.
@@ -118,4 +131,4 @@ the download page for the latest versions).
   <artifactId>camel-flatpack</artifactId>
   <version>x.x.x</version>
 </dependency>
------------------------------------------
+-----------------------------------------
\ No newline at end of file
diff --git a/components/camel-flink/src/main/docs/flink-component.adoc b/components/camel-flink/src/main/docs/flink-component.adoc
index da1b19d..e09935e 100644
--- a/components/camel-flink/src/main/docs/flink-component.adoc
+++ b/components/camel-flink/src/main/docs/flink-component.adoc
@@ -1,8 +1,9 @@
 [[flink-component]]
-== Apache Flink Component
+= Apache Flink Component
 
 *Available as of Camel version 2.18*
 
+
 This documentation page covers the https://flink.apache.org[Apache Flink]
 component for the Apache Camel. The *camel-flink* component provides a
 bridge between Camel connectors and Flink tasks. +
@@ -48,7 +49,7 @@ flink:endpointType
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -58,7 +59,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (6 parameters):
+=== Query Parameters (6 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -73,7 +74,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-flink-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 6 options, which are listed below.
@@ -178,4 +191,4 @@ try {
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-fop/src/main/docs/fop-component.adoc b/components/camel-fop/src/main/docs/fop-component.adoc
index 0993750..a53fead 100644
--- a/components/camel-fop/src/main/docs/fop-component.adoc
+++ b/components/camel-fop/src/main/docs/fop-component.adoc
@@ -1,8 +1,9 @@
 [[fop-component]]
-== FOP Component
+= FOP Component
 
 *Available as of Camel version 2.10*
 
+
 The FOP component allows you to render a message into different output
 formats using http://xmlgraphics.apache.org/fop/index.html[Apache FOP].
 
@@ -77,7 +78,7 @@ fop:outputType
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -87,7 +88,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (3 parameters):
+=== Query Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -99,7 +100,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-fop-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -185,4 +198,4 @@ For more information, see these resources...
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-freemarker/src/main/docs/freemarker-component.adoc b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
index f192369..c02c6f5 100644
--- a/components/camel-freemarker/src/main/docs/freemarker-component.adoc
+++ b/components/camel-freemarker/src/main/docs/freemarker-component.adoc
@@ -1,8 +1,9 @@
 [[freemarker-component]]
-== Freemarker Component
+= Freemarker Component
 
 *Available as of Camel version 2.10*
 
+
 The *freemarker:* component allows for processing a message using a
 http://freemarker.org/[FreeMarker] template. This can be ideal when
 using Templating to generate responses for
@@ -65,7 +66,7 @@ freemarker:resourceUri
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -75,7 +76,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (5 parameters):
+=== Query Parameters (5 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -89,7 +90,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-freemarker-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
@@ -259,4 +272,4 @@ And the java code:
 * Configuring Camel
 * Component
 * Endpoint
-* Getting Started
+* Getting Started
\ No newline at end of file
diff --git a/components/camel-ftp/src/main/docs/ftp-component.adoc b/components/camel-ftp/src/main/docs/ftp-component.adoc
index d9a974e..57722b2 100644
--- a/components/camel-ftp/src/main/docs/ftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftp-component.adoc
@@ -1,8 +1,9 @@
 [[ftp-component]]
-== FTP Component
+= FTP Component
 
 *Available as of Camel version 1.1*
 
+
 This component provides access to remote file systems over the FTP and
 SFTP protocols.
 
@@ -88,7 +89,7 @@ ftp:host:port/directoryName
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -100,7 +101,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (110 parameters):
+=== Query Parameters (110 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,14 +110,14 @@ with the following path and query parameters:
 | *binary* (common) | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | boolean
 | *charset* (common) | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the dat [...]
 | *disconnect* (common) | Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead. | false | boolean
-| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
-| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
+| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
+| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
 | *passiveMode* (common) | Sets passive mode connections. Default is active mode connections. | false | boolean
 | *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name | UNIX | PathSeparator
 | *transferLoggingInterval Seconds* (common) | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | int
 | *transferLoggingLevel* (common) | Configure the logging level to use when logging the progress of upload and download operations. | DEBUG | LoggingLevel
 | *transferLoggingVerbose* (common) | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | boolean
-| *fastExistsCheck* (common) | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has  [...]
+| *fastExistsCheck* (common) | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server ha [...]
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
 | *moveFailed* (consumer) | Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again. |  | String
@@ -151,7 +152,7 @@ with the following path and query parameters:
 | *chmod* (producer) | Allows you to set chmod on the stored file. For example chmod=640. |  | String
 | *disconnectOnBatchComplete* (producer) | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | boolean
 | *eagerDeleteTargetFile* (producer) | Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before t [...]
-| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | boolean
+| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | boolean
 | *moveExistingFileStrategy* (producer) | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided |  | FileMoveExisting Strategy
 | *sendNoop* (producer) | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | boolean
 | *activePortRange* (advanced) | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. |  | String
@@ -176,10 +177,10 @@ with the following path and query parameters:
 | *eagerMaxMessagesPerPoll* (filter) | Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | boolean
 | *exclude* (filter) | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *filter* (filter) | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. |  | GenericFileFilter
-| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as $date:now:yyyMMdd |  | String
-| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use $file:size 5000 |  | String
+| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as \$date:now:yyyMMdd |  | String
+| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use \$file:size 5000 |  | String
 | *idempotent* (filter) | Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again. | false | Boolean
-| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=$file:name-$file:size |  | String
+| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=\$file:name-\$file:size |  | String
 | *idempotentRepository* (filter) | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. |  | IdempotentRepository
 | *include* (filter) | Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *maxDepth* (filter) | The maximum depth to traverse when recursively processing a directory. | 2147483647 | int
@@ -219,7 +220,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-ftp-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -229,7 +242,7 @@ The component supports 2 options, which are listed below.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *camel.component.ftp.enabled* | Enable ftp component | true | Boolean
+| *camel.component.ftp.enabled* | Enable \ftp component | true | Boolean
 | *camel.component.ftp.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 |===
 // spring-boot-auto-configure options: END
@@ -772,4 +785,4 @@ problems.
 * Endpoint
 * Getting Started
 
-* File2
+* File2
\ No newline at end of file
diff --git a/components/camel-ftp/src/main/docs/ftps-component.adoc b/components/camel-ftp/src/main/docs/ftps-component.adoc
index e0e1958..fa0836e 100644
--- a/components/camel-ftp/src/main/docs/ftps-component.adoc
+++ b/components/camel-ftp/src/main/docs/ftps-component.adoc
@@ -1,8 +1,9 @@
 [[ftps-component]]
-== FTPS Component
+= FTPS Component
 
 *Available as of Camel version 2.2*
 
+
 This component provides access to remote file systems over the FTP and
 SFTP protocols.
 
@@ -48,7 +49,7 @@ ftps:host:port/directoryName
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -60,7 +61,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (122 parameters):
+=== Query Parameters (122 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -69,14 +70,14 @@ with the following path and query parameters:
 | *binary* (common) | Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). | false | boolean
 | *charset* (common) | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the dat [...]
 | *disconnect* (common) | Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead. | false | boolean
-| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
-| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
+| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
+| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
 | *passiveMode* (common) | Sets passive mode connections. Default is active mode connections. | false | boolean
 | *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name | UNIX | PathSeparator
 | *transferLoggingInterval Seconds* (common) | Configures the interval in seconds to use when logging the progress of upload and download operations that are in-flight. This is used for logging progress when operations takes longer time. | 5 | int
 | *transferLoggingLevel* (common) | Configure the logging level to use when logging the progress of upload and download operations. | DEBUG | LoggingLevel
 | *transferLoggingVerbose* (common) | Configures whether the perform verbose (fine grained) logging of the progress of upload and download operations. | false | boolean
-| *fastExistsCheck* (common) | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has  [...]
+| *fastExistsCheck* (common) | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server ha [...]
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
 | *moveFailed* (consumer) | Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again. |  | String
@@ -111,7 +112,7 @@ with the following path and query parameters:
 | *chmod* (producer) | Allows you to set chmod on the stored file. For example chmod=640. |  | String
 | *disconnectOnBatchComplete* (producer) | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | boolean
 | *eagerDeleteTargetFile* (producer) | Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before t [...]
-| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | boolean
+| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | boolean
 | *moveExistingFileStrategy* (producer) | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided |  | FileMoveExisting Strategy
 | *sendNoop* (producer) | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | boolean
 | *activePortRange* (advanced) | Set the client side port range in active mode. The syntax is: minPort-maxPort Both port numbers are inclusive, eg 10000-19999 to include all 1xxxx ports. |  | String
@@ -136,10 +137,10 @@ with the following path and query parameters:
 | *eagerMaxMessagesPerPoll* (filter) | Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | boolean
 | *exclude* (filter) | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *filter* (filter) | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. |  | GenericFileFilter
-| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as $date:now:yyyMMdd |  | String
-| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use $file:size 5000 |  | String
+| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as \$date:now:yyyMMdd |  | String
+| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use \$file:size 5000 |  | String
 | *idempotent* (filter) | Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again. | false | Boolean
-| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=$file:name-$file:size |  | String
+| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=\$file:name-\$file:size |  | String
 | *idempotentRepository* (filter) | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. |  | IdempotentRepository
 | *include* (filter) | Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *maxDepth* (filter) | The maximum depth to traverse when recursively processing a directory. | 2147483647 | int
@@ -186,12 +187,24 @@ with the following path and query parameters:
 | *isImplicit* (security) | Set the security mode(Implicit/Explicit). true - Implicit Mode / False - Explicit Mode | false | boolean
 | *password* (security) | Password to use for login |  | String
 | *securityProtocol* (security) | Set the underlying security protocol. | TLS | String
-| *sslContextParameters* (security) | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#ftpClientKeyStoreParameters, ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). |  | SSLContextParameters
+| *sslContextParameters* (security) | Gets the JSSE configuration that overrides any settings in FtpsEndpoint#\ftpClientKeyStoreParameters, \ftpClientTrustStoreParameters, and FtpsConfiguration#getSecurityProtocol(). |  | SSLContextParameters
 | *username* (security) | Username to use for login |  | String
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-ftp-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
@@ -201,9 +214,8 @@ The component supports 3 options, which are listed below.
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *camel.component.ftps.enabled* | Enable ftps component | true | Boolean
+| *camel.component.ftps.enabled* | Enable \ftps component | true | Boolean
 | *camel.component.ftps.resolve-property-placeholders* | Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders. | true | Boolean
 | *camel.component.ftps.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
-// spring-boot-auto-configure options: END
-
+// spring-boot-auto-configure options: END
\ No newline at end of file
diff --git a/components/camel-ftp/src/main/docs/sftp-component.adoc b/components/camel-ftp/src/main/docs/sftp-component.adoc
index db80fa5..8628744 100644
--- a/components/camel-ftp/src/main/docs/sftp-component.adoc
+++ b/components/camel-ftp/src/main/docs/sftp-component.adoc
@@ -1,8 +1,9 @@
 [[sftp-component]]
-== SFTP Component
+= SFTP Component
 
 *Available as of Camel version 1.1*
 
+
 This component provides access to remote file systems over the FTP and
 SFTP protocols.
 
@@ -39,7 +40,7 @@ sftp:host:port/directoryName
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -51,7 +52,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (118 parameters):
+=== Query Parameters (118 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,11 +60,11 @@ with the following path and query parameters:
 | Name | Description | Default | Type
 | *charset* (common) | This option is used to specify the encoding of the file. You can use this on the consumer, to specify the encodings of the files, which allow Camel to know the charset it should load the file content in case the file content is being accessed. Likewise when writing a file, you can use this option to specify which charset to write the file as well. Do mind that when writing the file Camel may have to read the message content into memory to be able to convert the dat [...]
 | *disconnect* (common) | Whether or not to disconnect from remote FTP server right after use. Disconnect will only disconnect the current connection to the FTP server. If you have a consumer which you want to stop, then you need to stop the consumer/route instead. | false | boolean
-| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
-| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
+| *doneFileName* (common) | Producer: If provided, then Camel will write a 2nd done file when the original file has been written. The done file will be empty. This option configures what file name to use. Either you can specify a fixed name. Or you can use dynamic placeholders. The done file will always be written in the same folder as the original file. Consumer: If provided, Camel will only consume files if a done file exists. This option configures what file name to use. Either you ca [...]
+| *fileName* (common) | Use Expression such as File Language to dynamically set the filename. For consumers, it's used as a filename filter. For producers, it's used to evaluate the filename to write. If an expression is set, it take precedence over the CamelFileName header. (Note: The header itself can also be an Expression). The expression options support both String and Expression types. If the expression is a String type, it is always evaluated using the File Language. If the express [...]
 | *jschLoggingLevel* (common) | The logging level to use for JSCH activity logging. As JSCH is verbose at by default at INFO level the threshold is WARN by default. | WARN | LoggingLevel
 | *separator* (common) | Sets the path separator to be used. UNIX = Uses unix style path separator Windows = Uses windows style path separator Auto = (is default) Use existing path separator in file name | UNIX | PathSeparator
-| *fastExistsCheck* (common) | If set this option to be true, camel-ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server has  [...]
+| *fastExistsCheck* (common) | If set this option to be true, camel-\ftp will use the list file directly to check if the file exists. Since some FTP server may not support to list the file directly, if the option is false, camel-\ftp will use the old way to list the directory and check if the file exists. This option also influences readLock=changed to control whether it performs a fast check to update file information or not. This can be used to speed up the process if the FTP server ha [...]
 | *bridgeErrorHandler* (consumer) | 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. By default the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions, that will be logged at WARN or ERROR level and ignored. | false | boolean
 | *delete* (consumer) | If true, the file will be deleted after it is processed successfully. | false | boolean
 | *moveFailed* (consumer) | Sets the move failure expression based on Simple language. For example, to move files into a .error subdirectory use: .error. Note: When moving the files to the fail location Camel will handle the error and will not pick up the file again. |  | String
@@ -95,7 +96,7 @@ with the following path and query parameters:
 | *chmod* (producer) | Allows you to set chmod on the stored file. For example chmod=640. |  | String
 | *disconnectOnBatchComplete* (producer) | Whether or not to disconnect from remote FTP server right after a Batch upload is complete. disconnectOnBatchComplete will only disconnect the current connection to the FTP server. | false | boolean
 | *eagerDeleteTargetFile* (producer) | Whether or not to eagerly delete any existing target file. This option only applies when you use fileExists=Override and the tempFileName option as well. You can use this to disable (set it to false) deleting the target file before the temp file is written. For example you may write big files and want the target file to exists during the temp file is being written. This ensure the target file is only deleted until the very last moment, just before t [...]
-| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the ftp producers. | false | boolean
+| *keepLastModified* (producer) | Will keep the last modified timestamp from the source file (if any). Will use the Exchange.FILE_LAST_MODIFIED header to located the timestamp. This header can contain either a java.util.Date or long with the timestamp. If the timestamp exists and the option is enabled it will set this timestamp on the written file. Note: This option only applies to the file producer. You cannot use this option with any of the \ftp producers. | false | boolean
 | *moveExistingFileStrategy* (producer) | Strategy (Custom Strategy) used to move file with special naming token to use when fileExist=Move is configured. By default, there is an implementation used if no custom strategy is provided |  | FileMoveExisting Strategy
 | *sendNoop* (producer) | Whether to send a noop command as a pre-write check before uploading files to the FTP server. This is enabled by default as a validation of the connection is still valid, which allows to silently re-connect to be able to upload the file. However if this causes problems, you can turn this option off. | true | boolean
 | *autoCreate* (advanced) | Automatically create missing directories in the file's pathname. For the file consumer, that means creating the starting directory. For the file producer, it means the directory the files should be written to. | true | boolean
@@ -107,8 +108,8 @@ with the following path and query parameters:
 | *maximumReconnectAttempts* (advanced) | Specifies the maximum reconnect attempts Camel performs when it tries to connect to the remote FTP server. Use 0 to disable this behavior. |  | int
 | *proxy* (advanced) | To use a custom configured com.jcraft.jsch.Proxy. This proxy is used to consume/send messages from the target SFTP host. |  | Proxy
 | *reconnectDelay* (advanced) | Delay in millis Camel will wait before performing a reconnect attempt. |  | long
-| *serverAliveCountMax* (advanced) | Allows you to set the serverAliveCountMax of the sftp session | 1 | int
-| *serverAliveInterval* (advanced) | Allows you to set the serverAliveInterval of the sftp session |  | int
+| *serverAliveCountMax* (advanced) | Allows you to set the serverAliveCountMax of the \sftp session | 1 | int
+| *serverAliveInterval* (advanced) | Allows you to set the serverAliveInterval of the \sftp session |  | int
 | *soTimeout* (advanced) | Sets the so timeout Used only by FTPClient | 300000 | int
 | *stepwise* (advanced) | Sets whether we should stepwise change directories while traversing file structures when downloading files, or as well when uploading a file to a directory. You can disable this if you for example are in a situation where you cannot change directory on the FTP server due security reasons. | true | boolean
 | *synchronous* (advanced) | Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported). | false | boolean
@@ -120,10 +121,10 @@ with the following path and query parameters:
 | *eagerMaxMessagesPerPoll* (filter) | Allows for controlling whether the limit from maxMessagesPerPoll is eager or not. If eager then the limit is during the scanning of files. Where as false would scan all files, and then perform sorting. Setting this option to false allows for sorting all files first, and then limit the poll. Mind that this requires a higher memory usage as all file details are in memory to perform the sorting. | true | boolean
 | *exclude* (filter) | Is used to exclude files, if filename matches the regex pattern (matching is case in-senstive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *filter* (filter) | Pluggable filter as a org.apache.camel.component.file.GenericFileFilter class. Will skip files if filter returns false in its accept() method. |  | GenericFileFilter
-| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as $date:now:yyyMMdd |  | String
-| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use $file:size 5000 |  | String
+| *filterDirectory* (filter) | Filters the directory based on Simple language. For example to filter on current date, you can use a simple date pattern such as \$date:now:yyyMMdd |  | String
+| *filterFile* (filter) | Filters the file based on Simple language. For example to filter on file size, you can use \$file:size 5000 |  | String
 | *idempotent* (filter) | Option to use the Idempotent Consumer EIP pattern to let Camel skip already processed files. Will by default use a memory based LRUCache that holds 1000 entries. If noop=true then idempotent will be enabled as well to avoid consuming the same files over and over again. | false | Boolean
-| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=$file:name-$file:size |  | String
+| *idempotentKey* (filter) | To use a custom idempotent key. By default the absolute path of the file is used. You can use the File Language, for example to use the file name and file size, you can do: idempotentKey=\$file:name-\$file:size |  | String
 | *idempotentRepository* (filter) | A pluggable repository org.apache.camel.spi.IdempotentRepository which by default use MemoryMessageIdRepository if none is specified and idempotent is true. |  | IdempotentRepository
 | *include* (filter) | Is used to include files, if filename matches the regex pattern (matching is case in-sensitive). Notice if you use symbols such as plus sign and others you would need to configure this using the RAW() syntax if configuring this as an endpoint uri. See more details at configuring endpoint uris |  | String
 | *maxDepth* (filter) | The maximum depth to traverse when recursively processing a directory. | 2147483647 | int
@@ -176,4 +177,4 @@ with the following path and query parameters:
 | *username* (security) | Username to use for login |  | String
 | *useUserKnownHostsFile* (security) | If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts | true | boolean
 |===
-// endpoint options: END
+// endpoint options: END
\ No newline at end of file
diff --git a/components/camel-ganglia/src/main/docs/ganglia-component.adoc b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
index 50b5d64..bce107a 100644
--- a/components/camel-ganglia/src/main/docs/ganglia-component.adoc
+++ b/components/camel-ganglia/src/main/docs/ganglia-component.adoc
@@ -1,8 +1,9 @@
 [[ganglia-component]]
-== Ganglia Component
+= Ganglia Component
 
 *Available as of Camel version 2.15*
 
+
 Provides a mechanism to send a value (the message body) as a metric to
 the http://ganglia.info[Ganglia] monitoring system.  Uses the gmetric4j
 library.  Can be used in conjunction with standard
@@ -77,7 +78,7 @@ ganglia:host:port
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -88,7 +89,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -110,7 +111,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-ganglia-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 16 options, which are listed below.
@@ -184,4 +197,4 @@ from("direct:value.for.ganglia")
 
 from("direct:ganglia.tx")
     .to("ganglia:239.2.11.71:8649?mode=MULTICAST&prefix=test");
-----
+----
\ No newline at end of file
diff --git a/components/camel-geocoder/src/main/docs/geocoder-component.adoc b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
index 5bb14e7..7dd447e 100644
--- a/components/camel-geocoder/src/main/docs/geocoder-component.adoc
+++ b/components/camel-geocoder/src/main/docs/geocoder-component.adoc
@@ -1,8 +1,9 @@
 [[geocoder-component]]
-== Geocoder Component
+= Geocoder Component
 
 *Available as of Camel version 2.12*
 
+
 The *geocoder:* component is used for looking up geocodes (latitude and
 longitude) for a given address, or reverse lookup. The component uses
 the https://code.google.com/p/geocoder-java/[Java API for Google
@@ -48,7 +49,7 @@ geocoder:address:latlng
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -59,7 +60,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -81,7 +82,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-geocoder-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -185,4 +198,4 @@ shown:
 -----------------------------------
   from("direct:start")
     .to("geocoder:address:current")
------------------------------------
+-----------------------------------
\ No newline at end of file
diff --git a/components/camel-git/src/main/docs/git-component.adoc b/components/camel-git/src/main/docs/git-component.adoc
index 4a01503..b5811e1 100644
--- a/components/camel-git/src/main/docs/git-component.adoc
+++ b/components/camel-git/src/main/docs/git-component.adoc
@@ -1,8 +1,9 @@
 [[git-component]]
-== Git Component
+= Git Component
 
 *Available as of Camel version 2.16*
 
+
 The *git:* component allows you to work with a generic Git repository. 
 
 [source,xml]
@@ -45,7 +46,7 @@ git:localPath
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -55,7 +56,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (13 parameters):
+=== Query Parameters (13 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -77,7 +78,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-git-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -144,4 +157,4 @@ Below is an example route of a consumer that consumes commit:
 ---------------------------------------
 from("git:///tmp/testRepo?type=commit")
                         .to(....)
----------------------------------------
+---------------------------------------
\ No newline at end of file
diff --git a/components/camel-github/src/main/docs/github-component.adoc b/components/camel-github/src/main/docs/github-component.adoc
index a6cb1f6..68be513 100644
--- a/components/camel-github/src/main/docs/github-component.adoc
+++ b/components/camel-github/src/main/docs/github-component.adoc
@@ -1,8 +1,9 @@
 [[github-component]]
-== GitHub Component
+= GitHub Component
 
 *Available as of Camel version 2.15*
 
+
 The GitHub component interacts with the GitHub API by
 encapsulating http://org.eclipse.egit.github.core[egit-github]. It
 currently provides polling for new pull requests, pull request comments,
@@ -60,7 +61,7 @@ github:type/branchName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -71,7 +72,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -92,7 +93,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-github-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -142,4 +155,4 @@ pull request discussion is assumed.
 |closePullRequest |none | - GitHubPullRequest (integer) (REQUIRED): Pull request number.
 
 |createIssue (From Camel 2.18) |String (issue body text) | - GitHubIssueTitle (String) (REQUIRED): Issue Title.
-|=======================================================================
+|=======================================================================
\ No newline at end of file
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
index 765591e..deb5c66 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-component.adoc
@@ -1,8 +1,9 @@
 [[google-bigquery-component]]
-== Google BigQuery Component
+= Google BigQuery Component
 
 *Available as of Camel version 2.20*
 
+
 The Google Bigquery component provides access
 to https://cloud.google.com/bigquery/[Cloud BigQuery Infrastructure] via
 the https://developers.google.com/api-client-library/java/apis/bigquery/v2[Google Client Services API].
@@ -80,7 +81,7 @@ google-bigquery:projectId:datasetId:tableName
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -92,7 +93,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (3 parameters):
+=== Query Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -104,7 +105,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-bigquery-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 4 options, which are listed below.
@@ -177,4 +190,4 @@ Reference: https://cloud.google.com/bigquery/streaming-data-into-bigquery#dataco
 A insert id can be set on the exchange with the header `GoogleBigQueryConstants.INSERT_ID` or by specifying
 query parameter `useAsInsertId`. As an insert id need to be specified per row inserted the exchange header can't
 be used when the payload is a list - if the payload is a list the `GoogleBigQueryConstants.INSERT_ID` will
-be ignored. In that case use the query parameter `useAsInsertId`.
+be ignored. In that case use the query parameter `useAsInsertId`.
\ No newline at end of file
diff --git a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
index 106272d..956af8c 100644
--- a/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
+++ b/components/camel-google-bigquery/src/main/docs/google-bigquery-sql-component.adoc
@@ -1,10 +1,12 @@
 [[google-bigquery-sql-component]]
-== Google BigQuery Standard SQL Component
+= Google BigQuery Standard SQL Component
 *Available as of Camel version 2.23*
 *Available as of Camel version 2.23*
 
 
 
+
+
 The Google Bigquery SQL component provides access
 to https://cloud.google.com/bigquery/[Cloud BigQuery Infrastructure] via
 the https://developers.google.com/apis-explorer/#p/bigquery/v2/bigquery.jobs.query[Google Client Services API].
@@ -98,7 +100,7 @@ google-bigquery-sql:query
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,7 +111,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (2 parameters):
+=== Query Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -120,7 +122,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-bigquery-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 3 options, which are listed below.
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
index 53bfc5b..f3057f7 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-component.adoc
@@ -1,8 +1,9 @@
 [[google-calendar-component]]
-== Google Calendar Component
+= Google Calendar Component
 
 *Available as of Camel version 2.15*
 
+
 The Google Calendar component provides access
 to http://google.com/calendar[Google Calendar] via
 the https://developers.google.com/google-apps/calendar/v3/reference/[Google
@@ -65,7 +66,7 @@ google-calendar:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -76,7 +77,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (14 parameters):
+=== Query Parameters (14 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -99,7 +100,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-calendar-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 14 options, which are listed below.
@@ -188,4 +201,4 @@ All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleCalendarComponent. Producer endpoints can specify
 the option name for incoming message body in the `inBody` endpoint URI
 parameter. For endpoints that return an array or collection, a consumer
-endpoint will map every element to distinct messages.     
+endpoint will map every element to distinct messages.     
\ No newline at end of file
diff --git a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
index 85abac3..8f4a1c3 100644
--- a/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
+++ b/components/camel-google-calendar/src/main/docs/google-calendar-stream-component.adoc
@@ -1,8 +1,9 @@
 [[google-calendar-stream-component]]
-== Google Calendar Stream Component
+= Google Calendar Stream Component
 
 *Available as of Camel version 2.23*
 
+
 The Google Calendar component provides access
 to https://calendar.google.com[Calendar] via
 the https://developers.google.com/calendar/overview[Google Calendar
@@ -68,7 +69,7 @@ google-calendar-stream:index
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -78,7 +79,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (30 parameters):
+=== Query Parameters (30 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -117,7 +118,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-calendar-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 15 options, which are listed below.
@@ -159,4 +172,4 @@ from("google-calendar-stream://test?markAsRead=true&delay=5000&maxResults=5").to
 
 This route will consume the next five events starting from the date of polling.
 
-   
+   
\ No newline at end of file
diff --git a/components/camel-google-drive/src/main/docs/google-drive-component.adoc b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
index 457b857..9edbb35 100644
--- a/components/camel-google-drive/src/main/docs/google-drive-component.adoc
+++ b/components/camel-google-drive/src/main/docs/google-drive-component.adoc
@@ -1,8 +1,9 @@
 [[google-drive-component]]
-== Google Drive Component
+= Google Drive Component
 
 *Available as of Camel version 2.14*
 
+
 The Google Drive component provides access to the
 http://drive.google.com[Google Drive file storage service] via the
 https://developers.google.com/drive/v2/reference[Google Drive Web APIs].
@@ -92,7 +93,7 @@ google-drive:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -103,7 +104,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (12 parameters):
+=== Query Parameters (12 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -124,7 +125,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-drive-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 11 options, which are listed below.
@@ -193,4 +206,4 @@ All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleDriveComponent. Producer endpoints can specify
 the option name for incoming message body in the `inBody` endpoint URI
 parameter. For endpoints that return an array or collection, a consumer
-endpoint will map every element to distinct messages.     
+endpoint will map every element to distinct messages.     
\ No newline at end of file
diff --git a/components/camel-google-mail/src/main/docs/google-mail-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
index 4c143f7..70a6686 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-component.adoc
@@ -1,8 +1,9 @@
 [[google-mail-component]]
-== Google Mail Component
+= Google Mail Component
 
 *Available as of Camel version 2.15*
 
+
 The Google Mail component provides access
 to http://gmail.com/[Gmail] via
 the https://developers.google.com/gmail/api/v1/reference/[Google Mail
@@ -84,7 +85,7 @@ google-mail:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -95,7 +96,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -114,7 +115,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-mail-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 10 options, which are listed below.
@@ -182,4 +195,4 @@ All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleMailComponent. Producer endpoints can specify the
 option name for incoming message body in the `inBody` endpoint URI
 parameter. For endpoints that return an array or collection, a consumer
-endpoint will map every element to distinct messages.     
+endpoint will map every element to distinct messages.     
\ No newline at end of file
diff --git a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
index ae40384..60f5f4d 100644
--- a/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
+++ b/components/camel-google-mail/src/main/docs/google-mail-stream-component.adoc
@@ -1,8 +1,9 @@
 [[google-mail-stream-component]]
-== Google Mail Stream Component
+= Google Mail Stream Component
 
 *Available as of Camel version 2.22*
 
+
 The Google Mail component provides access
 to http://gmail.com/[Gmail] via
 the https://developers.google.com/gmail/api/v1/reference/[Google Mail
@@ -68,7 +69,7 @@ google-mail-stream:index
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -78,7 +79,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (28 parameters):
+=== Query Parameters (28 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -115,7 +116,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-mail-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 13 options, which are listed below.
@@ -155,4 +168,4 @@ from("google-mail-stream://test?markAsRead=true&delay=5000&maxResults=5&labels=G
 
 This route will consume unread messages with labels Github and Apache and it will mark the messages as read.
 
-   
+   
\ No newline at end of file
diff --git a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
index 70e2735..4c9e6f5 100644
--- a/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
+++ b/components/camel-google-pubsub/src/main/docs/google-pubsub-component.adoc
@@ -1,8 +1,9 @@
 [[google-pubsub-component]]
-== Google Pubsub Component
+= Google Pubsub Component
 
 *Available as of Camel version 2.19*
 
+
 The Google Pubsub component provides access
 to https://cloud.google.com/pubsub/[Cloud Pub/Sub Infrastructure] via
 the https://cloud.google.com/apis/docs/client-libraries-explained[Google Client Services API].
@@ -56,7 +57,7 @@ google-pubsub:projectId:destinationName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -67,7 +68,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (9 parameters):
+=== Query Parameters (9 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -85,7 +86,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-pubsub-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -174,4 +187,4 @@ So, rollback is effectively a deadline extension API call with zero value - i.e.
 be redelivered to the next consumer.
 
 It is possible to delay the message redelivery by setting the acknowledgement deadline explicitly for the rollback by
-setting the message header `GooglePubsubConstants.ACK_DEADLINE` to the value in seconds.
+setting the message header `GooglePubsubConstants.ACK_DEADLINE` to the value in seconds.
\ No newline at end of file
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
index 0cba9c9..b66883c 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-component.adoc
@@ -1,8 +1,9 @@
 [[google-sheets-component]]
-== Google Sheets Component
+= Google Sheets Component
 
 *Available as of Camel version 2.23*
 
+
 The Google Sheets component provides access
 to http://google.com/sheets[Google Sheets] via
 the https://developers.google.com/sheets/api/reference/rest/[Google
@@ -79,7 +80,7 @@ google-sheets:apiName/methodName
 
 with the following path and query parameters:
 
-==== Path Parameters (2 parameters):
+=== Path Parameters (2 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -90,7 +91,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (10 parameters):
+=== Query Parameters (10 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -109,7 +110,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-sheets-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 10 options, which are listed below.
@@ -177,4 +190,4 @@ All result message bodies utilize objects provided by the underlying
 APIs used by the GoogleSheetsComponent. Producer endpoints can specify
 the option name for incoming message body in the `inBody` endpoint URI
 parameter. For endpoints that return an array or collection, a consumer
-endpoint will map every element to distinct messages.     
+endpoint will map every element to distinct messages.     
\ No newline at end of file
diff --git a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
index 67a6f7d..bd81fc8 100644
--- a/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
+++ b/components/camel-google-sheets/src/main/docs/google-sheets-stream-component.adoc
@@ -1,8 +1,9 @@
 [[google-sheets-stream-component]]
-== Google Sheets Stream Component
+= Google Sheets Stream Component
 
 *Available as of Camel version 2.23*
 
+
 The Google Sheets component provides access
 to https://sheets.google.com/[Sheets] via
 the https://developers.google.com/sheets/api/reference/rest/[Google Sheets
@@ -68,7 +69,7 @@ google-sheets-stream:apiName
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -78,7 +79,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (32 parameters):
+=== Query Parameters (32 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -119,7 +120,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-google-sheets-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 17 options, which are listed below.
@@ -163,4 +176,4 @@ from("google-sheets-stream://data?range=A:B&delay=5000&maxResults=5").to("mock:r
 
 This route will consume the next ten events starting from the date of polling.
 
-   
+   
\ No newline at end of file
diff --git a/components/camel-gora/src/main/docs/gora-component.adoc b/components/camel-gora/src/main/docs/gora-component.adoc
index f3d114e..0104211 100644
--- a/components/camel-gora/src/main/docs/gora-component.adoc
+++ b/components/camel-gora/src/main/docs/gora-component.adoc
@@ -1,8 +1,9 @@
 [[gora-component]]
-== Gora Component
+= Gora Component
 
 *Available as of Camel version 2.14*
 
+
 *Camel-Gora* is an http://camel.apache.org/[Apache Camel] component that
 allows you to work with NoSQL databases using the
 http://gora.apache.org/[Apache Gora] framework.
@@ -92,7 +93,7 @@ gora:name
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -102,7 +103,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (21 parameters):
+=== Query Parameters (21 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -132,7 +133,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-gora-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -277,4 +290,4 @@ repository.
 For more please information and in depth configuration refer to the
 http://gora.apache.org/current/overview.html[Apache Gora Documentation]
 and the http://gora.apache.org/current/tutorial.html[Apache Gora
-Tutorial].
+Tutorial].
\ No newline at end of file
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index e29ccbb..2c21f94 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -1,3 +1,4 @@
+[[grape-component]]
 = Grape Component
 
 *Available as of Camel version 2.16*
@@ -35,7 +36,7 @@ grape:defaultCoordinates
 
 with the following path and query parameters:
 
-==== Path Parameters (1 parameters):
+=== Path Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -45,7 +46,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (1 parameters):
+=== Query Parameters (1 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
diff --git a/components/camel-groovy/src/main/docs/groovy-language.adoc b/components/camel-groovy/src/main/docs/groovy-language.adoc
index 1057b92..28e6cf0 100644
--- a/components/camel-groovy/src/main/docs/groovy-language.adoc
+++ b/components/camel-groovy/src/main/docs/groovy-language.adoc
@@ -1,3 +1,4 @@
+[[groovy-language]]
 = Groovy Language
 
 *Available as of Camel version 1.3*
@@ -36,7 +37,19 @@ The Groovy language supports 1 options, which are listed below.
 |===
 // language options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-groovy-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
diff --git a/components/camel-grpc/src/main/docs/grpc-component.adoc b/components/camel-grpc/src/main/docs/grpc-component.adoc
index 7906343..778e995 100644
--- a/components/camel-grpc/src/main/docs/grpc-component.adoc
+++ b/components/camel-grpc/src/main/docs/grpc-component.adoc
@@ -1,8 +1,9 @@
 [[grpc-component]]
-== gRPC Component
+= gRPC Component
 
 *Available as of Camel version 2.19*
 
+
 The gRPC component allows you to call or expose Remote Procedure Call (RPC) services
 using https://developers.google.com/protocol-buffers/docs/overview[Protocol Buffers (protobuf)] 
 exchange format over HTTP/2 transport.
@@ -52,7 +53,7 @@ grpc:host:port/service
 
 with the following path and query parameters:
 
-==== Path Parameters (3 parameters):
+=== Path Parameters (3 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -64,7 +65,7 @@ with the following path and query parameters:
 |===
 
 
-==== Query Parameters (25 parameters):
+=== Query Parameters (25 parameters):
 
 
 [width="100%",cols="2,5,^1,2",options="header"]
@@ -98,7 +99,19 @@ with the following path and query parameters:
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
-=== Spring Boot Auto-Configuration
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-grpc-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
 The component supports 2 options, which are listed below.
@@ -292,4 +305,4 @@ https://www.xolstice.org/protobuf-maven-plugin[Maven Protocol Buffers Plugin]
 * Configuring Camel
 * Component
 * Endpoint
-* <<protobuf-dataformat,Protocol Buffers Data Format>>
+* <<protobuf-dataformat,Protocol Buffers Data Format>>
\ No newline at end of file
diff --git a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
index ed44968..c55b6bb 100644
--- a/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
+++ b/components/camel-gson/src/main/docs/json-gson-dataformat.adoc
@@ -1,8 +1,9 @@
 [[json-gson-dataformat]]
-== JSon GSon DataFormat
+= JSon GSon DataFormat
 
 *Available as of Camel version 2.10*
 
+
 Gson is a Data Format which uses the
 https://github.com/google/gson[Gson Library]
... 57734 lines suppressed ...


[camel] 10/16: CAMEL-13932: backport documentation changes

Posted by zr...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

zregvart pushed a commit to branch camel-2.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 37506790596973c785909853f05504d5842cdc23
Author: Zoran Regvart <zr...@apache.org>
AuthorDate: Fri Aug 23 18:02:09 2019 +0200

    CAMEL-13932: backport documentation changes
    
    # Conflicts:
    #	components/camel-amqp/src/main/docs/amqp-component.adoc
    #	components/camel-jasypt/src/main/docs/jasypt.adoc
    #	components/camel-jdbc/src/main/docs/jdbc-component.adoc
    #	components/camel-jgroups/src/main/docs/jgroups-component.adoc
    #	components/camel-mybatis/src/main/docs/mybatis-component.adoc
    #	components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
    #	components/camel-test-cdi/src/main/docs/test-cdi.adoc
    #	components/camel-ahc/src/main/docs/ahc-component.adoc
    #	components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
    #	components/camel-cdi/src/main/docs/cdi.adoc
    #	components/camel-cometd/src/main/docs/cometd-component.adoc
    #	components/camel-crypto/src/main/docs/crypto-component.adoc
    #	components/camel-disruptor/src/main/docs/disruptor-component.adoc
    #	components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
    #	components/camel-elsql/src/main/docs/elsql-component.adoc
    #	components/camel-facebook/src/main/docs/facebook-component.adoc
    #	components/camel-grape/src/main/docs/grape-component.adoc
    #	components/camel-groovy/src/main/docs/groovy-language.adoc
    #	components/camel-http/src/main/docs/http-component.adoc
    #	components/camel-irc/src/main/docs/irc-component.adoc
    #	components/camel-jms/src/main/docs/jms-component.adoc
    #	components/camel-lzf/src/main/docs/lzf-dataformat.adoc
    #	components/camel-mail/src/main/docs/mail-component.adoc
    #	components/camel-mvel/src/main/docs/mvel-language.adoc
    #	components/camel-nagios/src/main/docs/nagios-component.adoc
    #	components/camel-netty/src/main/docs/netty-component.adoc
    #	components/camel-ognl/src/main/docs/ognl-language.adoc
    #	components/camel-paho/src/main/docs/paho-component.adoc
    #	components/camel-quartz/src/main/docs/quartz-component.adoc
    #	components/camel-saxon/src/main/docs/xquery-component.adoc
    #	components/camel-saxon/src/main/docs/xquery-language.adoc
    #	components/camel-spring-boot/src/main/docs/spring-boot.adoc
    #	components/camel-spring/src/main/docs/spel-language.adoc
    #	components/camel-spring/src/main/docs/spring-event-component.adoc
    #	components/camel-spring/src/main/docs/spring.adoc
    #	components/camel-test-spring/src/main/docs/test-spring.adoc
    #	components/camel-undertow/src/main/docs/undertow-component.adoc
    #	components/camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc
    #	components/camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc
    #	components/camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc
    #	components/camel-websocket/src/main/docs/websocket-component.adoc
    #	components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
    #	components/camel-zipkin/src/main/docs/zipkin.adoc
---
 .../camel-ahc/src/main/docs/ahc-component.adoc     |  77 +--
 .../camel-amqp/src/main/docs/amqp-component.adoc   |  77 +--
 .../src/main/docs/beanstalk-component.adoc         |  66 +--
 components/camel-cdi/src/main/docs/cdi.adoc        | 506 ++++-------------
 .../src/main/docs/cometd-component.adoc            |  35 +-
 .../src/main/docs/crypto-component.adoc            |  33 +-
 .../src/main/docs/disruptor-component.adoc         |  32 +-
 .../main/docs/elasticsearch-rest-component.adoc    |  26 +-
 .../camel-elsql/src/main/docs/elsql-component.adoc |  41 +-
 .../src/main/docs/facebook-component.adoc          |  45 +-
 .../camel-grape/src/main/docs/grape-component.adoc |  69 ++-
 .../src/main/docs/groovy-language.adoc             |  40 +-
 .../camel-http/src/main/docs/http-component.adoc   | 597 ++++++++++++---------
 .../camel-irc/src/main/docs/irc-component.adoc     |  35 +-
 components/camel-jasypt/src/main/docs/jasypt.adoc  |  49 +-
 .../camel-jdbc/src/main/docs/jdbc-component.adoc   |  43 +-
 .../src/main/docs/jgroups-component.adoc           |  72 +--
 .../camel-jms/src/main/docs/jms-component.adoc     | 194 +++----
 .../camel-lzf/src/main/docs/lzf-dataformat.adoc    |  32 +-
 .../camel-mail/src/main/docs/mail-component.adoc   |  90 ++--
 .../camel-mvel/src/main/docs/mvel-language.adoc    |  16 +-
 .../src/main/docs/mybatis-component.adoc           |  43 +-
 .../src/main/docs/nagios-component.adoc            |  27 +-
 .../camel-netty/src/main/docs/netty-component.adoc | 405 ++++++++------
 .../camel-ognl/src/main/docs/ognl-language.adoc    |  16 +-
 .../camel-paho/src/main/docs/paho-component.adoc   |  21 +-
 .../src/main/docs/quartz-component.adoc            | 332 +++++++++---
 .../src/main/docs/xquery-component.adoc            |  42 +-
 .../camel-saxon/src/main/docs/xquery-language.adoc |  30 +-
 .../src/main/docs/spring-boot.adoc                 | 103 ++--
 .../camel-spring/src/main/docs/spel-language.adoc  |  27 +-
 .../src/main/docs/spring-event-component.adoc      |  23 +-
 components/camel-spring/src/main/docs/spring.adoc  | 100 ++--
 .../src/main/docs/test-blueprint.adoc              |  29 +-
 .../camel-test-cdi/src/main/docs/test-cdi.adoc     |  60 +--
 .../src/main/docs/test-spring.adoc                 |  77 ++-
 .../src/main/docs/undertow-component.adoc          |  48 +-
 .../src/main/docs/univocity-csv-dataformat.adoc    |  39 +-
 .../src/main/docs/univocity-fixed-dataformat.adoc  |  39 +-
 .../src/main/docs/univocity-tsv-dataformat.adoc    |  39 +-
 .../src/main/docs/websocket-component.adoc         |  49 +-
 .../src/main/docs/xmlsecurity-component.adoc       | 110 ++--
 components/camel-zipkin/src/main/docs/zipkin.adoc  |  49 +-
 docs/components/antora.yml                         |   2 +-
 .../modules/ROOT/pages/ahc-component.adoc          |   2 +-
 .../modules/ROOT/pages/amqp-component.adoc         |   2 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |   4 +-
 docs/components/modules/ROOT/pages/cdi.adoc        |   2 +-
 .../modules/ROOT/pages/cometd-component.adoc       |   2 +-
 .../modules/ROOT/pages/crypto-component.adoc       |   2 +-
 .../modules/ROOT/pages/disruptor-component.adoc    |   6 +-
 .../ROOT/pages/elasticsearch-rest-component.adoc   |   2 +-
 .../modules/ROOT/pages/elsql-component.adoc        |   2 +-
 .../modules/ROOT/pages/facebook-component.adoc     |   2 +-
 .../modules/ROOT/pages/grape-component.adoc        |   2 +-
 .../modules/ROOT/pages/groovy-language.adoc        |   8 +-
 .../modules/ROOT/pages/http-component.adoc         |   2 +-
 docs/components/modules/ROOT/pages/index.adoc      |  48 --
 .../modules/ROOT/pages/irc-component.adoc          |   2 +-
 docs/components/modules/ROOT/pages/jasypt.adoc     |  14 +-
 .../modules/ROOT/pages/jdbc-component.adoc         |   2 +-
 .../modules/ROOT/pages/jgroups-component.adoc      |   2 +-
 .../modules/ROOT/pages/jms-component.adoc          |   6 +-
 .../modules/ROOT/pages/lzf-dataformat.adoc         |   2 +-
 .../modules/ROOT/pages/mail-component.adoc         |   2 +-
 .../modules/ROOT/pages/mvel-language.adoc          |   2 +-
 .../modules/ROOT/pages/mybatis-component.adoc      |   4 +-
 .../modules/ROOT/pages/nagios-component.adoc       |   2 +-
 .../modules/ROOT/pages/netty-component.adoc        |   2 +-
 .../modules/ROOT/pages/ognl-language.adoc          |   2 +-
 .../modules/ROOT/pages/paho-component.adoc         |   2 +-
 .../modules/ROOT/pages/quartz-component.adoc       |   2 +-
 .../modules/ROOT/pages/spel-language.adoc          |   4 +-
 .../components/modules/ROOT/pages/spring-boot.adoc |   2 +-
 .../modules/ROOT/pages/spring-event-component.adoc |   4 +-
 docs/components/modules/ROOT/pages/spring.adoc     |  14 +-
 .../modules/ROOT/pages/test-blueprint.adoc         |   2 +-
 docs/components/modules/ROOT/pages/test-cdi.adoc   |   2 +-
 .../components/modules/ROOT/pages/test-spring.adoc |   2 +-
 .../modules/ROOT/pages/undertow-component.adoc     |   2 +-
 .../ROOT/pages/univocity-csv-dataformat.adoc       |   2 +-
 .../ROOT/pages/univocity-fixed-dataformat.adoc     |   2 +-
 .../ROOT/pages/univocity-tsv-dataformat.adoc       |   2 +-
 .../modules/ROOT/pages/websocket-component.adoc    |   2 +-
 .../modules/ROOT/pages/xmlsecurity-component.adoc  |   2 +-
 .../modules/ROOT/pages/xquery-component.adoc       |   4 +-
 .../modules/ROOT/pages/xquery-language.adoc        |   4 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |   4 +-
 docs/site.yml                                      |   5 +-
 89 files changed, 1903 insertions(+), 2173 deletions(-)

diff --git a/components/camel-ahc/src/main/docs/ahc-component.adoc b/components/camel-ahc/src/main/docs/ahc-component.adoc
index f3b162f..60e31da 100644
--- a/components/camel-ahc/src/main/docs/ahc-component.adoc
+++ b/components/camel-ahc/src/main/docs/ahc-component.adoc
@@ -1,12 +1,12 @@
-[[ahc-component]]
-== AHC Component
+= AHC Component
 
 *Available as of Camel version 2.8*
 
-The *ahc:* component provides HTTP based endpoints
+
+The AHC component provides HTTP based endpoints
 for consuming external HTTP resources (as a client to call external
-servers using HTTP). +
- The component uses the
+servers using HTTP).
+The component uses the
 https://github.com/AsyncHttpClient/async-http-client[Async Http Client]
 library.
 
@@ -23,7 +23,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------
@@ -36,7 +36,7 @@ Will by default use port 80 for HTTP and 443 for HTTPS.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### AhcEndpoint Options
+== Ahc Endpoint Options
 
 
 
@@ -59,7 +59,7 @@ with the following path and query parameters:
 [width="100%",cols="2,5,^1,2",options="header"]
 |===
 | Name | Description | Default | Type
-| *httpUri* | *Required* The URI to use such as \http://hostname:port/path |  | URI
+| *httpUri* | *Required* The URI to use such as http://hostname:port/path |  | URI
 |===
 
 
@@ -115,7 +115,7 @@ The component supports 9 options, which are listed below.
 
 
 
-### AhcComponent Options
+== AhcComponent Options
 
 
 
@@ -158,7 +158,7 @@ propagate those options to
 configure/override a custom option. Options set on endpoints will always
 take precedence over options from the `AhcComponent`.
 
-### Message Headers
+== Message Headers
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -184,14 +184,14 @@ a content type, such as `text/html`.
 provide a content encoding, such as `gzip`.
 |=======================================================================
 
-### Message Body
+== Message Body
 
 Camel will store the HTTP response from the external server on the OUT
 body. All headers from the IN message will be copied to the OUT message,
 so headers are preserved during routing. Additionally Camel will add the
 HTTP response headers as well to the OUT message headers.
 
-### Response code
+== Response code
 
 Camel will handle according to the HTTP response code:
 
@@ -209,7 +209,7 @@ The option, `throwExceptionOnFailure`, can be set to `false` to prevent
 the `AhcOperationFailedException` from being thrown for failed response
 codes. This allows you to get any response from the remote server.
 
-### AhcOperationFailedException
+== AhcOperationFailedException
 
 This exception contains the following information:
 
@@ -219,7 +219,7 @@ This exception contains the following information:
 * Response body as a `java.lang.String`, if server provided a body as
 response
 
-### Calling using GET or POST
+== Calling using GET or POST
 
 The following algorithm is used to determine if either `GET` or `POST`
 HTTP method should be used: +
@@ -229,7 +229,7 @@ HTTP method should be used: +
  4. `POST` if there is data to send (body is not null). +
  5. `GET` otherwise.
 
-### Configuring URI to call
+== Configuring URI to call
 
 You can set the HTTP producer's URI directly form the endpoint URI. In
 the route below, Camel will call out to the external server, `oldhost`,
@@ -263,7 +263,7 @@ from("direct:start")
     .to("ahc:http://oldhost");
 -------------------------------------------------------------
 
-### Configuring URI Parameters
+== Configuring URI Parameters
 
 The *ahc* producer supports URI parameters to be sent to the HTTP
 server. The URI parameters can either be set directly on the endpoint
@@ -284,7 +284,7 @@ from("direct:start")
         .to("ahc:http://oldhost");
 -------------------------------------------------------------------------------
 
-### How to set the http method to the HTTP producer
+== How to set the http method to the HTTP producer
 
 The HTTP component provides a way to set the HTTP request method by
 setting the message header. Here is an example;
@@ -304,7 +304,7 @@ And the equivalent Spring sample:
 <camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
   <route>
     <from uri="direct:start"/>
-    <setHeader headerName="CamelHttpMethod">
+    <setHeader name="CamelHttpMethod">
         <constant>POST</constant>
     </setHeader>
     <to uri="ahc:http://www.google.com"/>
@@ -313,7 +313,7 @@ And the equivalent Spring sample:
 </camelContext>
 ---------------------------------------------------------------------
 
-### Configuring charset
+== Configuring charset
 
 If you are using `POST` to send data you can configure the `charset`
 using the `Exchange` property:
@@ -323,7 +323,7 @@ using the `Exchange` property:
 exchange.setProperty(Exchange.CHARSET_NAME, "iso-8859-1");
 ----------------------------------------------------------
 
-#### URI Parameters from the endpoint URI
+=== URI Parameters from the endpoint URI
 
 In this sample we have the complete URI endpoint that is just what you
 would have typed in a web browser. Multiple URI parameters can of course
@@ -336,7 +336,7 @@ web browser. Camel does no tricks here.
 template.sendBody("ahc:http://www.google.com/search?q=Camel", null);
 --------------------------------------------------------------------
 
-#### URI Parameters from the Message
+=== URI Parameters from the Message
 
 [source,java]
 ---------------------------------------------------------------------
@@ -349,7 +349,7 @@ template.sendBody("ahc:http://www.google.com/search", null, headers);
 In the header value above notice that it should *not* be prefixed with
 `?` and you can separate parameters as usual with the `&` char.
 
-#### Getting the Response Code
+=== Getting the Response Code
 
 You can get the HTTP response code from the AHC component by getting the
 value from the Out message header with `Exchange.HTTP_RESPONSE_CODE`.
@@ -365,31 +365,23 @@ Exchange exchange = template.send("ahc:http://www.google.com/search", new Proces
    int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 ----------------------------------------------------------------------------------------------
 
-### Configuring AsyncHttpClient
+== Configuring AsyncHttpClient
 
 The `AsyncHttpClient` client uses a `AsyncHttpClientConfig` to configure
 the client. See the documentation at +
  http://github.com/sonatype/async-http-client[Async Http Client] for
 more details.
 
-In Camel *2.8*, configuration is limited to using the builder pattern
-provided by `AsyncHttpClientConfig.Builder`. In Camel 2.8, the
-`AsyncHttpClientConfig` doesn't support getters/setters so its not easy
-to create/configure using a Spring bean style (eg the <bean> tag in the
-XML file).
-
 The example below shows how to use a builder to create the
 `AsyncHttpClientConfig` which we configure on the `AhcComponent`.
 
-In Camel *2.9*, the AHC component uses Async HTTP library 1.6.4. This
-newer version provides added support for plain bean style configuration.
 The `AsyncHttpClientConfigBean` class provides getters and setters for
 the configuration options available in `AsyncHttpClientConfig`. An
 instance of `AsyncHttpClientConfigBean` may be passed directly to the
 AHC component or referenced in an endpoint URI using the `clientConfig`
 URI parameter.
 
-Also available in Camel *2.9* is the ability to set configuration
+There is the ability to set configuration
 options directly in the URI. URI parameters starting with
 "clientConfig." can be used to set the various configurable properties
 of `AsyncHttpClientConfig`. The properties specified in the endpoint URI
@@ -407,16 +399,16 @@ from("direct:start")
     .to("ahc:http://localhost:8080/foo?clientConfig.maxRequestRetry=3&clientConfig.followRedirects=true")
 ---------------------------------------------------------------------------------------------------------
 
-### SSL Support (HTTPS)
+== SSL Support (HTTPS)
 
 [[AHC-UsingtheJSSEConfigurationUtility]]
 Using the JSSE Configuration Utility
 
-As of Camel 2.9, the AHC component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The AHC component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
+endpoint and component levels.  The following examples demonstrate how
 to use the utility with the AHC component.
 
 [[AHC-Programmaticconfigurationofthecomponent]]
@@ -458,14 +450,3 @@ Spring DSL based configuration of endpoint
   <to uri="ahc:https://localhost/foo?sslContextParameters=#sslContextParameters"/>
 ...
 ----------------------------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<jetty-component,Jetty>>
-* <<http-component,HTTP>>
-* <<http4-component,HTTP4>>
diff --git a/components/camel-amqp/src/main/docs/amqp-component.adoc b/components/camel-amqp/src/main/docs/amqp-component.adoc
index fbe5459..a0fb1ca 100644
--- a/components/camel-amqp/src/main/docs/amqp-component.adoc
+++ b/components/camel-amqp/src/main/docs/amqp-component.adoc
@@ -1,15 +1,12 @@
-[[amqp-component]]
-== AMQP Component
+= AMQP Component
 
 *Available as of Camel version 1.2*
 
-The *amqp:* component supports the http://www.amqp.org/[AMQP 1.0
-protocol] using the JMS Client API of the http://qpid.apache.org/[Qpid]
-project. In case you want to use AMQP 0.9 (in particular RabbitMQ) you
-might also be interested in the <<rabbitmq-component,Camel RabbitMQ>>
-component. Please keep in mind that prior to the Camel 2.17.0 AMQP
-component supported AMQP 0.9 and above, however since Camel 2.17.0 it
-supports only AMQP 1.0.
+
+The AMQP component supports the
+http://www.amqp.org/[AMQP 1.0 protocol]
+using the JMS Client API of the http://qpid.apache.org/[Qpid]
+project.
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -23,17 +20,17 @@ for this component:
 </dependency>
 ----
 
-### URI format
+== URI format
 
 [source,java]
 ----
 amqp:[queue:|topic:]destinationName[?options]
 ----
 
-### AMQP Options
+== AMQP Options
 
 You can specify all of the various configuration options of the
-link:../../../../camel-jms/src/main/docs/readme.html[JMS] component after the destination name.
+xref:jms-component.adoc[JMS] component after the destination name.
 
 
 
@@ -353,7 +350,7 @@ The component supports 81 options, which are listed below.
 
 
 
-### Usage
+== Usage
 
 As AMQP component is inherited from JMS component, the usage of the
 former is almost identical to the latter:
@@ -365,43 +362,26 @@ former is almost identical to the latter:
 // Consuming from AMQP queue
 from("amqp:queue:incoming").
   to(...);
- 
+ 
 // Sending message to the AMQP topic
 from(...).
   to("amqp:topic:notify");
 ----
 
-### Configuring AMQP component
-
-Starting from the Camel 2.16.1 you can also use the
-`AMQPComponent#amqp10Component(String connectionURI)` factory method to
-return the AMQP 1.0 component with the pre-configured topic prefix: 
-
-*Creating AMQP 1.0 component*
-
-[source,java]
-----
- AMQPComponent amqp = AMQPComponent.amqp10Component("amqp://guest:guest@localhost:5672");
-----
-
-Keep in mind that starting from the
-Camel 2.17 the `AMQPComponent#amqp10Component(String connectionURI)` factory
-method has been deprecated on the behalf of the
-`AMQPComponent#amqpComponent(String connectionURI)`: 
+== Configuring AMQP component
 
 *Creating AMQP 1.0 component*
 
 [source,java]
 ----
 AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672");
- 
+ 
 AMQPComponent authorizedAmqp = AMQPComponent.amqpComponent("amqp://localhost:5672", "user", "password");
 ----
 
-Starting from Camel 2.17, in order to automatically configure the AMQP
-component, you can also add an instance
-of `org.apache.camel.component.amqp.AMQPConnectionDetails` to the
-registry. For example for Spring Boot you just have to define bean:
+You can also add an instance
+of `org.apache.camel.component.amqp.AMQPConnectionDetails` to the
+registry in order to automatically configure the AMQP component. For example for Spring Boot you just have to define bean:
 
 *AMQP connection details auto-configuration*
 
@@ -411,7 +391,7 @@ registry. For example for Spring Boot you just have to define bean:
 AMQPConnectionDetails amqpConnection() {
   return new AMQPConnectionDetails("amqp://localhost:5672"); 
 }
- 
+ 
 @Bean
 AMQPConnectionDetails securedAmqpConnection() {
   return new AMQPConnectionDetails("amqp://localhost:5672", "username", "password"); 
@@ -430,9 +410,9 @@ AMQPConnectionDetails amqpConnection() {
 }
 ----
 
-You can also rely on the <<properties-component,Camel properties>> to read
+You can also rely on the Camel properties to read
 the AMQP connection details. Factory
-method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
+method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
 properties in a Kubernetes-like convention, just as demonstrated on the
 snippet below:
 
@@ -444,9 +424,9 @@ export AMQP_SERVICE_HOST = "mybroker.com"
 export AMQP_SERVICE_PORT = "6666"
 export AMQP_SERVICE_USERNAME = "username"
 export AMQP_SERVICE_PASSWORD = "password"
- 
+ 
 ...
- 
+ 
 @Bean
 AMQPConnectionDetails amqpConnection() {
   return AMQPConnectionDetails.discoverAMQP(); 
@@ -464,10 +444,10 @@ AMQPComponent amqp = AMQPComponent.amqpComponent("amqp://localhost:5672?amqp.tra
 
 For reference take a look at the https://qpid.apache.org/releases/qpid-jms-0.29.0/docs/index.html[QPID JMS client configuration]
 
-### Using topics
+== Using topics
 
-To have using topics working with `camel-amqp` you need to configure the
-component to use `topic://` as topic prefix, as shown below:
+To have using topics working with `camel-amqp` you need to configure the
+component to use `topic://` as topic prefix, as shown below:
 
 [source,java]
 ----
@@ -481,13 +461,6 @@ component to use `topic://` as topic prefix, as shown below:
  </bean>
 ----
 
-Keep in mind that both  `AMQPComponent#amqpComponent()` methods and
+Keep in mind that both  `AMQPComponent#amqpComponent()` methods and
 `AMQPConnectionDetails` pre-configure the component with the topic
 prefix, so you don't have to configure it explicitly.
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index b96b03e..c2403c1 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -1,16 +1,16 @@
-[[beanstalk-component]]
-== Beanstalk Component
+= Beanstalk Component
 
 *Available as of Camel version 2.15*
 
-camel-beanstalk project provides a Camel component for job retrieval and
+
+Camel Beanstalk project provides a Camel component for job retrieval and
 post-processing of Beanstalk jobs.
 
 You can find the detailed explanation of Beanstalk job lifecycle
-at http://github.com/kr/beanstalkd/blob/v1.3/doc/protocol.txt[Beanstalk
+at http://github.com/kr/beanstalkd/blob/v1.3/doc/protocol.txt[Beanstalk
 protocol].
 
-### Dependencies
+== Dependencies
 
 Maven users need to add the following dependency to their `pom.xml`
 
@@ -23,18 +23,17 @@ Maven users need to add the following dependency to their `pom.xml`
 </dependency>
 ------------------------------------------
 
-where `${camel-version`} must be replaced by the actual version of Camel
-(2.15.0 or higher).
+where `${camel-version`} must be replaced by the actual version of Camel.
 
-### URI format
+== URI format
 
 [source,xml]
 ------------------------------------------
 beanstalk://[host[:port]][/tube][?options]
 ------------------------------------------
 
-You may omit either `port` or both `host` and `port`: for the Beanstalk
-defaults to be used (“localhost” and 11300). If you omit `tube`,
+You may omit either `port` or both `host` and `port`: for the Beanstalk
+defaults to be used (“localhost” and 11300). If you omit `tube`,
 Beanstalk component will use the tube with name “default”.
 
 When listening, you may probably want to watch for jobs from several
@@ -47,13 +46,13 @@ beanstalk://localhost:11300/tube1+tube2
 
 Tube name will be URL decoded, so if your tube names include special
 characters like + or ?, you need to URL-encode them appropriately, or
-use the RAW syntax, see link:how-do-i-configure-endpoints.html[more
+use the RAW syntax, see xref:latest@manual::faq/how-do-i-configure-endpoints.adoc[more
 details here].
 
 By the way, you cannot specify several tubes when you are writing jobs
 into Beanstalk.
 
-### Beanstalk options
+== Beanstalk options
 
 
 
@@ -145,35 +144,35 @@ The component supports 3 options, which are listed below.
 
 
 
-Producer behavior is affected by the `command` parameter which tells
+Producer behavior is affected by the `command` parameter which tells
 what to do with the job, it can be
 
 The consumer may delete the job immediately after reserving it or wait
 until Camel routes process it. While the first scenario is more like a
 “message queue”, the second is similar to “job queue”. This behavior is
-controlled by `consumer.awaitJob` parameter, which equals `true` by
+controlled by `consumer.awaitJob` parameter, which equals `true` by
 default (following Beanstalkd nature).
 
-When synchronous, the consumer calls `delete` on successful job
-completion and calls `bury` on failure. You can choose which command to
+When synchronous, the consumer calls `delete` on successful job
+completion and calls `bury` on failure. You can choose which command to
 execute in the case of failure by
-specifying `consumer.onFailure` parameter in the URI. It can take values
-of `bury`, `delete` or `release`.
+specifying `consumer.onFailure` parameter in the URI. It can take values
+of `bury`, `delete` or `release`.
 
-There is a boolean parameter `consumer.useBlockIO` which corresponds to
+There is a boolean parameter `consumer.useBlockIO` which corresponds to
 the same parameter in JavaBeanstalkClient library. By default it
-is `true`.
+is `true`.
 
-Be careful when specifying `release`, as the failed job will immediately
+Be careful when specifying `release`, as the failed job will immediately
 become available in the same tube and your consumer will try to acquire
-it again. You can `release` and specify _jobDelay_ though.
+it again. You can `release` and specify _jobDelay_ though.
 
-The beanstalk consumer is a Scheduled link:polling-consumer.html[Polling
+The beanstalk consumer is a Scheduled xref:latest@manual::polling-consumer.adoc[Polling
 Consumer] which means there is more options you can configure, such as
 how frequent the consumer should poll. For more details
-see Polling Consumer.
+see Polling Consumer.
 
-### Consumer Headers
+== Consumer Headers
 
 The consumer stores a number of job headers in the Exchange message:
 
@@ -203,7 +202,7 @@ queue
 |_beanstalk.kicks_ |int |the number of times this job has been kicked
 |=======================================================================
 
-### Examples
+== Examples
 
 This Camel component lets you both request the jobs for processing and
 supply them to Beanstalkd daemon. Our simple demo routes may look like
@@ -232,20 +231,13 @@ from("timer:dig?period=30seconds").
 In the first route we are listening for new jobs in tube “testTube”.
 When they are arriving, we are trying to parse integer value from the
 message body. If done successful, we log it and this successful exchange
-completion makes Camel component to _delete_ this job from Beanstalk
+completion makes Camel component to _delete_ this job from Beanstalk
 automatically. Contrary, when we cannot parse the job data, the exchange
-failed and the Camel component _buries_ it by default, so that it can be
+failed and the Camel component _buries_ it by default, so that it can be
 processed later or probably we are going to inspect failed jobs
 manually.
 
-So the second route periodically requests Beanstalk to _kick_ 10 jobs
+So the second route periodically requests Beanstalk to _kick_ 10 jobs
 out of buried and/or delayed state to the normal queue.
 
- 
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
+ 
diff --git a/components/camel-cdi/src/main/docs/cdi.adoc b/components/camel-cdi/src/main/docs/cdi.adoc
index 0b85d64..2c14402 100644
--- a/components/camel-cdi/src/main/docs/cdi.adoc
+++ b/components/camel-cdi/src/main/docs/cdi.adoc
@@ -1,24 +1,19 @@
 [[cdi-component]]
-== Camel CDI
+= Camel CDI
 
 The Camel CDI component provides auto-configuration for Apache Camel
 using CDI as dependency injection framework based
-on _convention-over-configuration_. It auto-detects Camel routes
+on _convention-over-configuration_. It auto-detects Camel routes
 available in the application and provides beans for common Camel
-primitives like `Endpoint`, `FluentProducerTemplate`, `ProducerTemplate` or `TypeConverter`. It
+primitives like `Endpoint`, `FluentProducerTemplate`, `ProducerTemplate` or `TypeConverter`. It
 implements standard Camel bean integration
-so that Camel annotations like `@Consume`, `@Produce`
-and `@PropertyInject` can be used seamlessly in CDI beans. Besides, it
+so that Camel annotations like `@Consume`, `@Produce`
+and `@PropertyInject` can be used seamlessly in CDI beans. Besides, it
 bridges Camel events (e.g. `RouteAddedEvent`,
-`CamelContextStartedEvent`, `ExchangeCompletedEvent`, ...) as CDI events
+`CamelContextStartedEvent`, `ExchangeCompletedEvent`, ...) as CDI events
 and provides a CDI events endpoint that can be used to consume / produce
 CDI events from / to Camel routes.
 
-While the Camel CDI component is available as of **Camel 2.10**, it's
-been rewritten in *Camel 2.17* to better fit into the CDI programming
-model. Hence some of the features like the Camel events to CDI events
-bridge and the CDI events endpoint only apply starting Camel 2.17.
-
 More details on how to test Camel CDI applications are available in
 Camel CDI testing.
 
@@ -27,9 +22,9 @@ Camel CDI testing.
 camel-cdi is deprecated in OSGi and not supported. Use OSGi Blueprint if using Camel with OSGi.
 ====
 
-=== Auto-configured Camel context
+== Auto-configured Camel context
 
-Camel CDI automatically deploys and configures a `CamelContext` bean.
+Camel CDI automatically deploys and configures a `CamelContext` bean.
 That `CamelContext` bean is automatically instantiated, configured and
 started (resp. stopped) when the CDI container initializes (resp. shuts
 down). It can be injected in the application, e.g.:
@@ -41,15 +36,16 @@ CamelContext context;
 ----
 
 That default `CamelContext` bean is qualified with the
-built-in `@Default` qualifier, is scoped `@ApplicationScoped` and is of
+built-in `@Default` qualifier, is scoped `@ApplicationScoped` and is of
 type `DefaultCamelContext`.
 
 Note that this bean can be customized programmatically and other Camel
 context beans can be deployed in the application as well.
 
-=== Auto-detecting Camel routes
+[[CDI-Auto-detectingCamelroutes]]
+== Auto-detecting Camel routes
 
-Camel CDI automatically collects all the `RoutesBuilder` beans in the
+Camel CDI automatically collects all the `RoutesBuilder` beans in the
 application, instantiates and add them to the `CamelContext` bean
 instance when the CDI container initializes. For example, adding a Camel
 route is as simple as declaring a class, e.g.:
@@ -57,7 +53,7 @@ route is as simple as declaring a class, e.g.:
 [source,java]
 ----
 class MyRouteBean extends RouteBuilder {
- 
+
     @Override
     public void configure() {
         from("jms:invoices").to("file:/invoices");
@@ -65,13 +61,11 @@ class MyRouteBean extends RouteBuilder {
 }
 ----
 
-Note that you can declare as many `RoutesBuilder` beans as you want.
-Besides, `RouteContainer` beans are also automatically collected,
-instantiated and added to the `CamelContext` bean instance managed by
+Note that you can declare as many `RoutesBuilder` beans as you want.
+Besides, `RouteContainer` beans are also automatically collected,
+instantiated and added to the `CamelContext` bean instance managed by
 Camel CDI when the container initializes.
 
-*Available as of Camel 2.19*
-
 In some situations, it may be necessary to disable the auto-configuration of the `RouteBuilder` and `RouteContainer` beans. That can be achieved by observing for the `CdiCamelConfiguration` event, e.g.:
 
 [source,java]
@@ -90,7 +84,7 @@ static void configuration(@Observes CdiCamelConfiguration configuration) {
 }
 ----
 
-=== Auto-configured Camel primitives
+== Auto-configured Camel primitives
 
 Camel CDI provides beans for common Camel primitives that can be
 injected in any CDI beans, e.g.:
@@ -116,26 +110,23 @@ Endpoint endpoint;
 TypeConverter converter;
 ----
 
-=== Camel context configuration
+== Camel context configuration
 
 If you just want to change the name of the default `CamelContext` bean,
-you can used the `@ContextName` qualifier provided by Camel CDI, e.g.:
+you can used the `@Named` qualifier provided by CDI, e.g.:
 
 [source,java]
 ----
-@ContextName("camel-context")
-class MyRouteBean extends RouteBuilder {
- 
-    @Override
-    public void configure() {
-        from("jms:invoices").to("file:/invoices");
-    }
+@ApplicationScoped
+@Named("myCamelName")
+class CustomCamelContext extends DefaultCamelContext {
+
 }
 ----
 
-Else, if more customization is needed, any `CamelContext` class can be
+Else, if more customization is needed, any `CamelContext` class can be
 used to declare a custom Camel context bean. Then,
-the `@PostConstruct` and `@PreDestroy` lifecycle callbacks can be done
+the `@PostConstruct` and `@PreDestroy` lifecycle callbacks can be done
 to do the customization, e.g.:
 
 [source,java]
@@ -145,7 +136,7 @@ class CustomCamelContext extends DefaultCamelContext {
 
     @PostConstruct
     void customize() {
-        // Set the Camel context name
+        // Or set the Camel context name here
         setName("custom");
         // Disable JMX
         disableJMX();
@@ -158,8 +149,8 @@ class CustomCamelContext extends DefaultCamelContext {
 }
 ----
 
-link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#producer_method[Producer]
-and link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#disposer_method[disposer]
+http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#producer_method[Producer]
+and http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#disposer_method[disposer]
 methods can also be used as well to customize the Camel context bean, e.g.:
 
 [source,java]
@@ -180,8 +171,8 @@ class CamelContextFactory {
 }
 ----
 
-Similarly, link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#producer_field[producer
-fields] can be used, e.g.:
+Similarly, http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#producer_field[producer
+fields] can be used, e.g.:
 
 [source,java]
 ----
@@ -199,7 +190,7 @@ class CustomCamelContext extends DefaultCamelContext {
 
 This pattern can be used for example to avoid having the Camel context
 routes started automatically when the container initializes by calling
-the `setAutoStartup` method, e.g.:
+the `setAutoStartup` method, e.g.:
 
 [source,java]
 ----
@@ -213,108 +204,11 @@ class ManualStartupCamelContext extends DefaultCamelContext {
 }
 ----
 
-=== Multiple Camel contexts
-
-Any number of `CamelContext` beans can actually be declared in the
-application as documented above. In that case, the CDI qualifiers
-declared on these `CamelContext` beans are used to bind the Camel routes
-and other Camel primitives to the corresponding Camel contexts. From
-example, if the following beans get declared:
-
-[source,java]
-----
-@ApplicationScoped
-@ContextName("foo")
-class FooCamelContext extends DefaultCamelContext {
-}
-
-@ApplicationScoped
-@BarContextQualifier
-class BarCamelContext extends DefaultCamelContext {
-}
- 
-@ContextName("foo")
-class RouteAddedToFooCamelContext extends RouteBuilder {
-
-    @Override
-    public void configure() {
-        // ...
-    }
-}
- 
-@BarContextQualifier
-class RouteAddedToBarCamelContext extends RouteBuilder {
-
-    @Override
-    public void configure() {
-        // ...
-    }
-}
- 
-@ContextName("baz")
-class RouteAddedToBazCamelContext extends RouteBuilder {
-
-    @Override
-    public void configure() {
-        // ...
-    }
-}
- 
-@MyOtherQualifier
-class RouteNotAddedToAnyCamelContext extends RouteBuilder {
-
-    @Override
-    public void configure() {
-        // ...
-    }
-}
-----
-
-The `RoutesBuilder` beans qualified with `@ContextName` are
-automatically added to the corresponding `CamelContext` beans by Camel
-CDI. If no such `CamelContext` bean exists, it gets automatically
-created, as for the `RouteAddedToBazCamelContext` bean. Note this only
-happens for the `@ContextName` qualifier provided by Camel CDI. Hence
-the `RouteNotAddedToAnyCamelContext` bean qualified with the
-user-defined `@MyOtherQualifier` qualifier does not get added to any
-Camel contexts. That may be useful, for example, for Camel routes that
-may be required to be added later during the application execution.
-
-NOTE: Since Camel version 2.17.0, Camel CDI is capable of managing any kind of
-`CamelContext` beans (e.g. `DefaultCamelContext`). In previous versions,
-it is only capable of managing beans of type `CdiCamelContext` so it is
-required to extend it.
-
-The CDI qualifiers declared on the `CamelContext` beans are also used to
-bind the corresponding Camel primitives, e.g.:
-
-[source,java]
-----
-@Inject
-@ContextName("foo")
-@Uri("direct:inbound")
-ProducerTemplate producerTemplate;
-
-@Inject
-@ContextName("foo")
-@Uri("direct:inbound")
-FluentProducerTemplate fluentProducerTemplate;
-
-@Inject
-@BarContextQualifier
-MockEndpoint outbound; // URI defaults to the member name, i.e. mock:outbound
-
-@Inject
-@ContextName("baz")
-@Uri("direct:inbound")
-Endpoint endpoint;
-----
-
-=== Configuration properties
+== Configuration properties
 
 To configure the sourcing of the configuration properties used by Camel
 to resolve properties placeholders, you can declare
-a `PropertiesComponent` bean qualified with `@Named("properties")`,
+a `PropertiesComponent` bean qualified with `@Named("properties")`,
 e.g.:
 
 [source,java]
@@ -333,9 +227,9 @@ PropertiesComponent propertiesComponent() {
 ----
 
 If you want to
-use link:http://deltaspike.apache.org/documentation/configuration.html[DeltaSpike
-configuration mechanism] you can declare the
-following `PropertiesComponent` bean:
+use http://deltaspike.apache.org/documentation/configuration.html[DeltaSpike
+configuration mechanism] you can declare the
+following `PropertiesComponent` bean:
 
 [source,java]
 ----
@@ -357,13 +251,13 @@ static class DeltaSpikeParser extends DefaultPropertiesParser {
 }
 ----
 
-You can see the `camel-example-cdi-properties` example for a working
+You can see the `camel-example-cdi-properties` example for a working
 example of a Camel CDI application using DeltaSpike configuration
 mechanism.
 
-=== Auto-configured type converters
+== Auto-configured type converters
 
-CDI beans annotated with the `@Converter` annotation are automatically
+CDI beans annotated with the `@Converter` annotation are automatically
 registered into the deployed Camel contexts, e.g.:
 
 [source,java]
@@ -380,19 +274,19 @@ public class MyTypeConverter {
 
 Note that CDI injection is supported within the type converters.
 
-=== Camel bean integration
+== Camel bean integration
 
-==== Camel annotations
+=== Camel annotations
 
-As part of the Camel link:http://camel.apache.org/bean-integration.html[bean
-integration], Camel comes with a set
-of link:http://camel.apache.org/bean-integration.html#BeanIntegration-Annotations[annotations] that
+As part of the Camel http://camel.apache.org/bean-integration.html[bean
+integration], Camel comes with a set
+of http://camel.apache.org/bean-integration.html#BeanIntegration-Annotations[annotations] that
 are seamlessly supported by Camel CDI. So you can use any of these
 annotations in your CDI beans, e.g.:
 
 [width="100%",cols="1,2a,2a",options="header",]
 |===
-|  |Camel annotation |CDI equivalent
+|  |Camel annotation |CDI equivalent
 |Configuration property a|
 [source,java]
 ----
@@ -417,11 +311,11 @@ See configuration properties for more details.
 |Producer template injection (default Camel context) a|
 [source,java]
 ----
-@Produce(uri = "mock:outbound")
+@Produce("mock:outbound")
 ProducerTemplate producer;
 
 // or using fluent template
-@Produce(uri = "mock:outbound")
+@Produce("mock:outbound")
 FluentProducerTemplate producer;
 ----
 
@@ -433,14 +327,14 @@ FluentProducerTemplate producer;
 ProducerTemplate producer;
 
 // or using fluent template
-@Produce(uri = "direct:outbound")
+@Produce("direct:outbound")
 FluentProducerTemplate producer;
 ----
 
 |Endpoint injection (default Camel context) a|
 [source,java]
 ----
-@EndpointInject(uri = "direct:inbound")
+@EndpointInject("direct:inbound")
 Endpoint endpoint;
 ----
 
@@ -452,19 +346,8 @@ Endpoint endpoint;
 Endpoint endpoint;
 ----
 
-|Endpoint injection (Camel context by name) a|
-[source,java]
-----
-@EndpointInject(uri = "direct:inbound",
-                context = "foo")
-Endpoint contextEndpoint;
-----
-
- a|
-[source,java]
 ----
 @Inject
-@ContextName("foo")
 @Uri("direct:inbound")
 Endpoint contextEndpoint;
 ----
@@ -501,16 +384,16 @@ MyBean bean;
 |POJO consuming a|
 [source,java]
 ----
-@Consume(uri = "seda:inbound")
+@Consume("seda:inbound")
 void consume(@Body String body) {
     //...
 }
 ----
 
- | 
+ | 
 |===
 
-==== Bean component
+=== Bean component
 
 You can refer to CDI beans, either by type or name, From the Camel DSL,
 e.g. with the Java Camel DSL:
@@ -536,11 +419,11 @@ class MyNamedBean {
 from("direct:inbound").bean("foo");
 ----
 
-==== Referring beans from Endpoint URIs
+=== Referring beans from Endpoint URIs
 
 When configuring endpoints using the URI syntax you can refer to beans
-in the Registry using the `pass:[#]` notation. If the URI
-parameter value starts with a `pass:[#]` sign then Camel CDI will lookup for a
+in the Registry using the `pass:[#]` notation. If the URI
+parameter value starts with a `pass:[#]` sign then Camel CDI will lookup for a
 bean of the given type by name, e.g.:
 
 [source,java]
@@ -549,7 +432,7 @@ from("jms:queue:{{destination}}?transacted=true&transactionManager=#jtaTransacti
 ----
 
 Having the following CDI bean qualified
-with `@Named("jtaTransactionManager")`:
+with `@Named("jtaTransactionManager")`:
 
 [source,java]
 ----
@@ -564,16 +447,14 @@ PlatformTransactionManager createTransactionManager(TransactionManager transacti
 }
 ----
 
-=== Camel events to CDI events
-
-*Available as of Camel 2.17*
+== Camel events to CDI events
 
 Camel provides a set
-of link:http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/management/event/package-summary.html[management
-events] that can be subscribed to for listening to Camel context,
+of http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/management/event/package-summary.html[management
+events] that can be subscribed to for listening to Camel context,
 service, route and exchange events. Camel CDI seamlessly translates
 these Camel events into CDI events that can be observed using
-CDI link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_methods[observer
+CDI http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_methods[observer
 methods], e.g.:
 
 [source,java]
@@ -583,7 +464,7 @@ void onContextStarting(@Observes CamelContextStartingEvent event) {
 }
 ----
 
-As of Camel 2.18, it is possible to observe events for a particular route (`RouteAddedEvent`,
+It is possible to observe events for a particular route (`RouteAddedEvent`,
 `RouteStartedEvent`, `RouteStoppedEvent` and `RouteRemovedEvent`) should it have
 an explicit defined, e.g.:
 
@@ -596,25 +477,8 @@ void onRouteStarted(@Observes @Named("foo") RouteStartedEvent event) {
 }
 ----
 
-When multiple Camel contexts exist in the CDI container, the Camel
-context bean qualifiers, like `@ContextName`, can be used to refine the
-observer method resolution to a particular Camel context as specified
-in link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_resolution[observer
-resolution], e.g.:
-
-[source,java]
-----
-void onRouteStarted(@Observes @ContextName("foo") RouteStartedEvent event) {
-    // Called after the route 'event.getRoute()' for the Camel context 'foo' has started
-}
- 
-void onContextStarted(@Observes @Manual CamelContextStartedEvent event) {
-    // Called after the Camel context qualified with '@Manual' has started
-}
-----
-
-Similarly, the `@Default` qualifier can be used to observe Camel events
-for the _default_ Camel context if multiples contexts exist, e.g.:
+Similarly, the `@Default` qualifier can be used to observe Camel events
+for the _default_ Camel context if multiples contexts exist, e.g.:
 
 [source,java]
 ----
@@ -623,7 +487,7 @@ void onExchangeCompleted(@Observes @Default ExchangeCompletedEvent event) {
 }
 ----
 
-In that example, if no qualifier is specified, the `@Any` qualifier is
+In that example, if no qualifier is specified, the `@Any` qualifier is
 implicitly assumed, so that corresponding events for all the Camel
 contexts get received.
 
@@ -631,18 +495,16 @@ Note that the support for Camel events translation into CDI events is
 only activated if observer methods listening for Camel events are
 detected in the deployment, and that per Camel context.
 
-=== CDI events endpoint
-
-*Available as of Camel 2.17*
+== CDI events endpoint
 
 The CDI event endpoint bridges
-the link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#events[CDI
-events] with the Camel routes so that CDI events can be seamlessly
+the http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#events[CDI
+events] with the Camel routes so that CDI events can be seamlessly
 observed / consumed (resp. produced / fired) from Camel consumers (resp.
 by Camel producers).
 
-The `CdiEventEndpoint<T>` bean provided by Camel CDI can be used to
-observe / consume CDI events whose _event type_ is `T`, for example:
+The `CdiEventEndpoint<T>` bean provided by Camel CDI can be used to
+observe / consume CDI events whose _event type_ is `T`, for example:
 
 [source,java]
 ----
@@ -667,8 +529,8 @@ void observeCdiEvents(@Observes String event) {
 from("direct:event").log("CDI event received: ${body}");
 ----
 
-Conversely, the `CdiEventEndpoint<T>` bean can be used to produce / fire
-CDI events whose _event type_ is `T`, for example:
+Conversely, the `CdiEventEndpoint<T>` bean can be used to produce / fire
+CDI events whose _event type_ is `T`, for example:
 
 [source,java]
 ----
@@ -705,10 +567,10 @@ from("direct:event")
     .log("CDI event sent: ${body}");
 ----
 
-The type variable `T` (resp. the qualifiers) of a
-particular `CdiEventEndpoint<T>` injection point are automatically
-translated into the parameterized _event type_ (resp. into the _event
-qualifiers_) e.g.:
+The type variable `T` (resp. the qualifiers) of a
+particular `CdiEventEndpoint<T>` injection point are automatically
+translated into the parameterized _event type_ (resp. into the _event
+qualifiers_) e.g.:
 
 [source,java]
 ----
@@ -723,37 +585,18 @@ void observeCdiEvents(@Observes @FooQualifier List<String> event) {
 }
 ----
 
-When multiple Camel contexts exist in the CDI container, the Camel
-context bean qualifiers, like `@ContextName`, can be used to qualify
-the `CdiEventEndpoint<T>` injection points, e.g.:
-
-[source,java]
-----
-@Inject
-@ContextName("foo")
-CdiEventEndpoint<List<String>> cdiEventEndpoint;
-// Only observes / consumes events having the @ContextName("foo") qualifier
-from(cdiEventEndpoint).log("Camel context (foo) > CDI event received: ${body}");
-// Produces / fires events with the @ContextName("foo") qualifier
-from("...").to(cdiEventEndpoint);
-
-void observeCdiEvents(@Observes @ContextName("foo") List<String> event) {
-    logger.info("Camel context (foo) > CDI event: {}", event);
-}
-----
-
 Note that the CDI event Camel endpoint dynamically adds
-an link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_methods[observer
-method] for each unique combination of _event type_ and _event
-qualifiers_ and solely relies on the container
-typesafe link:http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_resolution[observer
+an http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_methods[observer
+method] for each unique combination of _event type_ and _event
+qualifiers_ and solely relies on the container
+typesafe http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_resolution[observer
 resolution], which leads to an implementation as efficient as possible.
 
-Besides, as the impedance between the _typesafe_ nature of CDI and
-the _dynamic_ nature of
-the link:http://camel.apache.org/component.html[Camel component] model is
+Besides, as the impedance between the _typesafe_ nature of CDI and
+the _dynamic_ nature of
+the http://camel.apache.org/component.html[Camel component] model is
 quite high, it is not possible to create an instance of the CDI event
-Camel endpoint via link:http://camel.apache.org/uris.html[URIs]. Indeed, the
+Camel endpoint via http://camel.apache.org/uris.html[URIs]. Indeed, the
 URI format for the CDI event component is:
 
 [source,text]
@@ -761,10 +604,10 @@ URI format for the CDI event component is:
 cdi-event://PayloadType<T1,...,Tn>[?qualifiers=QualifierType1[,...[,QualifierTypeN]...]]
 ----
 
-With the authority `PayloadType` (resp. the `QualifierType`) being the
+With the authority `PayloadType` (resp. the `QualifierType`) being the
 URI escaped fully qualified name of the payload (resp. qualifier) raw
 type followed by the type parameters section delimited by angle brackets
-for payload parameterized type. Which leads to _unfriendly_ URIs,
+for payload parameterized type. Which leads to _unfriendly_ URIs,
 e.g.:
 
 [source,text]
@@ -777,16 +620,14 @@ endpoint instances and the observer methods as the CDI container doesn't
 have any ways of discovering the Camel context model during the
 deployment phase.
 
-=== Camel XML configuration import
-
-*Available as of Camel 2.18*
+== Camel XML configuration import
 
 While CDI favors a typesafe dependency injection mechanism, it may be
-useful to reuse existing Camel XML configuration files into a Camel CDI
-application. In other use cases, it might be handy to rely on the Camel
-XML DSL to configure its Camel context(s).
+useful to reuse existing Camel XML configuration files into a Camel CDI
+application. In other use cases, it might be handy to rely on the Camel
+XML DSL to configure its Camel context(s).
 
-You can use the `@ImportResource` annotation that's provided by Camel
+You can use the `@ImportResource` annotation that's provided by Camel
 CDI on any CDI beans and Camel CDI will automatically load the Camel XML
 configuration at the specified locations, e.g.:
 
@@ -818,13 +659,12 @@ following Camel XML configuration:
 <camelContext/>
 ----
 
-The corresponding CDI beans are automatically deployed and can be
+The corresponding CDI beans are automatically deployed and can be
 injected, e.g.:
 
 [source,java]
 ----
 @Inject
-@ContextName("foo")
 CamelContext context;
 
 @Inject
@@ -832,13 +672,8 @@ CamelContext context;
 Endpoint endpoint;
 ----
 
-Note that the `CamelContext` beans are automatically qualified with both
-the `@Named` and `@ContextName` qualifiers. If the
-imported `CamelContext` element doesn't have an `id` attribute, the
-corresponding bean is deployed with the built-in `@Default` qualifier.
-
 Conversely, CDI beans deployed in the application can be referred to
-from the Camel XML configuration, usually using the `ref` attribute,
+from the Camel XML configuration, usually using the `ref` attribute,
 e.g., given the following bean declared:
 
 [source,java]
@@ -862,9 +697,7 @@ configuration, e.g.:
 ----
 
 
-=== Transaction support
-
-*Available as of Camel 2.19*
+== Transaction support
 
 Camel CDI provides support for Camel transactional client using JTA.
 
@@ -888,7 +721,7 @@ Note that, for the time being, the transaction manager is looked up as JNDI reso
 More flexible strategies will be added in the future to support a wider range of deployment scenarios.
 ====
 
-==== Transaction policies
+=== Transaction policies
 
 Camel CDI provides implementation for the typically supported Camel `TransactedPolicy` as CDI beans. It is possible to have these policies looked up by name using the transacted EIP, e.g.:
 
@@ -938,7 +771,7 @@ The list of supported transaction policy names is:
 - `PROPAGATION_NESTED`,
 - `PROPAGATION_MANDATORY`.
 
-==== Transactional error handler
+=== Transactional error handler
 
 Camel CDI provides a transactional error handler that extends the redelivery error handler, forces a rollback whenever an exception occurs and creates a new transaction for each redelivery.
 
@@ -961,30 +794,7 @@ class MyRouteBean extends CdiRouteBuilder {
 ----
 
 
-=== Auto-configured OSGi integration
-
-*Available as of Camel 2.17*
-
-The Camel context beans are automatically adapted by Camel CDI so that
-they are registered as OSGi services and the various resolvers
-(like `ComponentResolver` and `DataFormatResolver`) integrate with the
-OSGi registry. That means that the Karaf Camel commands
-can be used to operate the Camel contexts auto-configured by Camel CDI,
-e.g.:
-
-[source,text]
-----
-karaf@root()> camel:context-list
- Context        Status              Total #       Failed #     Inflight #   Uptime
- -------        ------              -------       --------     ----------   ------
- camel-cdi      Started                   1              0              0   1 minute
-----
-
-See the `camel-example-cdi-osgi` example for a working example of the
-Camel CDI OSGi integration.
-
-
-=== Lazy Injection / Programmatic Lookup
+== Lazy Injection / Programmatic Lookup
 
 While the CDI programmatic model favors a http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#typesafe_resolution[typesafe resolution]
 mechanism that occurs at application initialization time, it is possible to perform
@@ -1024,54 +834,11 @@ MockEndpoint outbound = endpoints
     .get();
 ----
 
-Similarly, you can use the provided annotation literal for
-the `@ContextName` qualifier to lazily lookup for `CamelContext`
-beans, e.g.:
 
-[source,java]
-----
-@Any
-@Inject
-Instance<CamelContext> contexts;
+== Maven Archetype
 
-CamelContext context = contexts
-    .select(ContextName.Literal.of("foo"))
-    .get();
-----
-
-You can also refined the selection based on the Camel context type, e.g.:
-
-[source,java]
-----
-@Any
-@Inject
-Instance<CamelContext> contexts;
-
-// Refine the selection by type
-Instance<DefaultCamelContext> context = contexts.select(DefaultCamelContext.class);
-
-// Check if such a bean exists then retrieve a reference
-if (!context.isUnsatisfied())
-    context.get();
-----
-
-Or even iterate over a selection of Camel contexts, e.g.:
-
-[source,java]
-----
-@Any
-@Inject
-Instance<CamelContext> contexts;
-
-for (CamelContext context : contexts)
-    context.setUseBreadcrumb(true);
-----
-
-
-=== Maven Archetype
-
-Among the available link:camel-maven-archetypes.html[Camel Maven
-archetypes], you can use the provided `camel-archetype-cdi` to generate
+Among the available xref:latest@manual::camel-maven-archetypes.adoc[Camel Maven
+archetypes], you can use the provided `camel-archetype-cdi` to generate
 a Camel CDI Maven project, e.g.:
 
 [source,text]
@@ -1079,79 +846,4 @@ a Camel CDI Maven project, e.g.:
 mvn archetype:generate -DarchetypeGroupId=org.apache.camel.archetypes -DarchetypeArtifactId=camel-archetype-cdi
 ----
 
-=== Supported containers
-
-The Camel CDI component is compatible with any CDI 1.0, CDI 1.1 and CDI
-1.2 compliant runtime. It's been successfully tested against the
-following runtimes:
-
-[width="100%",cols="2,1m,2",options="header",]
-|============================================
-|Container |Version |Runtime
-|Weld SE |1.1.28.Final |CDI 1.0 / Java SE 7
-|OpenWebBeans |1.2.7 |CDI 1.0 / Java SE 7
-|Weld SE |2.4.2.Final |CDI 1.2 / Java SE 7
-|OpenWebBeans |1.7.2 |CDI 1.2 / Java SE 7
-|WildFly |8.2.1.Final |CDI 1.2 / Java EE 7
-|WildFly |9.0.1.Final |CDI 1.2 / Java EE 7
-|WildFly |10.1.0.Final |CDI 1.2 / Java EE 7
-|============================================
-
-
-=== Examples
-
-The following examples are available in the `examples` directory of the
-Camel project:
-
-[width="100%",cols="1m,3",options="header",]
-|===
-|Example |Description
-
-|camel-example-cdi
-|Illustrates how to work with Camel using CDI to configure components,
-endpoints and beans
-
-|camel-example-cdi-kubernetes
-|Illustrates the integration between Camel, CDI and Kubernetes
-
-|camel-example-cdi-metrics
-|Illustrates the integration between Camel, Dropwizard Metrics and CDI
-
-|camel-example-cdi-properties
-|Illustrates the integration between Camel, DeltaSpike and CDI for
-configuration properties
-
-|camel-example-cdi-osgi
-|A CDI application using the SJMS component that can be executed
-inside an OSGi container using PAX CDI
-
-|camel-example-cdi-rest-servlet
-|Illustrates the Camel REST DSL being used in a Web application that
-uses CDI as dependency injection framework
-
-|camel-example-cdi-test
-|Demonstrates the testing features that are provided as part of
-the integration between Camel and CDI
-
-|camel-example-cdi-xml
-|Illustrates the use of Camel XML configuration
-files into a Camel CDI application
-
-|camel-example-swagger-cdi
-|An example using REST DSL and Swagger Java with CDI
-
-|camel-example-widget-gadget-cdi
-|The Widget and Gadget use-case from the EIP book implemented
-in Java with CDI dependency Injection
-
-|===
-
-=== See Also
 
-* Camel CDI testing
-* http://www.cdi-spec.org[CDI specification Web site]
-* http://www.cdi-spec.org/ecosystem/[CDI ecosystem]
-* http://weld.cdi-spec.org[Weld home page]
-* http://openwebbeans.apache.org[OpenWebBeans home page]
-* https://github.com/astefanutti/further-cdi[Going further with CDI and Camel]
-(See Camel CDI section)
diff --git a/components/camel-cometd/src/main/docs/cometd-component.adoc b/components/camel-cometd/src/main/docs/cometd-component.adoc
index 18e926d..5d93d3f 100644
--- a/components/camel-cometd/src/main/docs/cometd-component.adoc
+++ b/components/camel-cometd/src/main/docs/cometd-component.adoc
@@ -1,9 +1,9 @@
-[[cometd-component]]
-== CometD Component
+= CometD Component
 
 *Available as of Camel version 2.0*
 
-The *cometd:* component is a transport for working with the
+
+The Cometd component is a transport for working with the
 http://www.mortbay.org/jetty[jetty] implementation of the
 http://docs.codehaus.org/display/JETTY/Cometd+%28aka+Bayeux%29[cometd/bayeux
 protocol]. +
@@ -24,7 +24,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ----------------------------------------
@@ -34,7 +34,7 @@ cometd://host:port/channelName[?options]
 The *channelName* represents a topic that can be subscribed to by the
 Camel endpoints.
 
-### Examples
+== Examples
 
 ------------------------------------------
 cometd://localhost:8080/service/mychannel
@@ -43,7 +43,7 @@ cometds://localhost:8443/service/mychannel
 
 where `cometds:` represents an SSL configured endpoint.
 
-### Options
+== Options
 
 
 
@@ -154,7 +154,7 @@ For file (for webapp resources located in the Web Application directory
 the webapp folder -->
 cometd://localhost:8080?resourceBase=classpath:webapp
 
-### Authentication
+== Authentication
 
 *Available as of Camel 2.8*
 
@@ -162,15 +162,15 @@ You can configure custom `SecurityPolicy` and `Extension`'s to the
 `CometdComponent` which allows you to use authentication as
 http://cometd.org/documentation/howtos/authentication[documented here]
 
-### Setting up SSL for Cometd Component
+== Setting up SSL for Cometd Component
 
-#### Using the JSSE Configuration Utility
+=== Using the JSSE Configuration Utility
 
-As of Camel 2.9, the Cometd component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The Cometd component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
+endpoint and component levels.  The following examples demonstrate how
 to use the utility with the Cometd component. You need to configure SSL
 on the CometdComponent.
 
@@ -218,17 +218,10 @@ Spring DSL based configuration of endpoint
           password="keystorePassword"/>
     </camel:keyManagers>
   </camel:sslContextParameters>...
- 
+ 
   <bean id="cometd" class="org.apache.camel.component.cometd.CometdComponent">
     <property name="sslContextParameters" ref="sslContextParameters"/>
   </bean>
 ...
   <to uri="cometds://127.0.0.1:443/service/test?baseResource=file:./target/test-classes/webapp&timeout=240000&interval=0&maxInterval=30000&multiFrameInterval=1500&jsonCommented=true&logLevel=2"/>...
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-crypto/src/main/docs/crypto-component.adoc b/components/camel-crypto/src/main/docs/crypto-component.adoc
index 43b5bab..673655f 100644
--- a/components/camel-crypto/src/main/docs/crypto-component.adoc
+++ b/components/camel-crypto/src/main/docs/crypto-component.adoc
@@ -1,8 +1,8 @@
-[[crypto-component]]
-== Crypto (JCE) Component
+= Crypto (JCE) Component
 
 *Available as of Camel version 2.3*
 
+
 With Camel cryptographic endpoints and Java's Cryptographic extension it
 is easy to create Digital Signatures for Exchanges.
 Camel provides a pair of flexible endpoints which get used in concert to
@@ -22,7 +22,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Introduction
+== Introduction
 
 Digital signatures make use of Asymmetric Cryptographic techniques to
 sign messages. From a (very) high level, the algorithms use pairs of
@@ -48,7 +48,7 @@ and how to leverage them with the JCE.
 * The ever insightful Wikipedia
 http://en.wikipedia.org/wiki/Digital_signature[Digital_signatures]
 
-### URI format
+== URI format
 
 As mentioned Camel provides a pair of crypto endpoints to create and
 verify signatures
@@ -78,7 +78,7 @@ complimentary `crypto:verify` in another, though for simplicity in the
 examples they appear one after the other. It goes without saying that
 both signing and verifying should be configured identically.
 
-### Options
+== Options
 
 // component options: START
 The Crypto (JCE) component supports 2 options, which are listed below.
@@ -190,17 +190,17 @@ The component supports 33 options, which are listed below.
 
 
 
-### Using
+== Using
 
-#### Raw keys
+=== Raw keys
 
 The most basic way to way to sign and verify an exchange is with a
 KeyPair as follows.
 
-The same can be achieved with the link:spring-xml-extensions.html[Spring
+The same can be achieved with the xref:latest@manual::spring-xml-extensions.adoc[Spring
 XML Extensions] using references to keys
 
-#### KeyStores and Aliases.
+=== KeyStores and Aliases.
 
 The JCE provides a very versatile keystore concept for housing pairs of
 private keys and certificates, keeping them encrypted and password
@@ -220,7 +220,7 @@ also shows how to load and initialize the keystore.
 
 Again in Spring a ref is used to lookup an actual keystore instance.
 
-#### Changing JCE Provider and Algorithm
+=== Changing JCE Provider and Algorithm
 
 Changing the Signature algorithm or the Security provider is a simple
 matter of specifying their names. You will need to also use Keys that
@@ -228,7 +228,7 @@ are compatible with the algorithm you choose.
 
 or
 
-#### Changing the Signature Message Header
+=== Changing the Signature Message Header
 
 It may be desirable to change the message header used to store the
 signature. A different header name can be specified in the route
@@ -236,13 +236,13 @@ definition as follows
 
 or
 
-#### Changing the buffersize
+=== Changing the buffersize
 
 In case you need to update the size of the buffer...
 
 or
 
-#### Supplying Keys dynamically.
+=== Supplying Keys dynamically.
 
 When using a Recipient list or similar EIP the recipient of an exchange
 can vary dynamically. Using the same key across all recipients may be
@@ -278,10 +278,3 @@ signed.getIn().copyFrom(unsigned.getOut());
 signed.getIn().setHeader(KEYSTORE_ALIAS, "bob");
 template.send("direct:alias-verify", signed);
 -------------------------------------------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-disruptor/src/main/docs/disruptor-component.adoc b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
index 6568789..b6f7af9 100644
--- a/components/camel-disruptor/src/main/docs/disruptor-component.adoc
+++ b/components/camel-disruptor/src/main/docs/disruptor-component.adoc
@@ -1,17 +1,17 @@
-[[disruptor-component]]
-== Disruptor Component
+= Disruptor Component
 
 *Available as of Camel version 2.12*
 
-The *disruptor:* component provides asynchronous
+
+The Disruptor component provides asynchronous
 http://www.eecs.harvard.edu/~mdw/proj/seda/[SEDA] behavior much as the
 standard SEDA Component, but utilizes a
 https://github.com/LMAX-Exchange/disruptor[Disruptor] instead of a
 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[BlockingQueue]
-utilized by the standard <<seda-component,SEDA>>. Alternatively, a
+utilized by the standard SEDA. Alternatively, a
 
 *disruptor-vm:* endpoint is supported by this component, providing an
-alternative to the standard <<vm-component,VM>>. As with the SEDA
+alternative to the standard VM. As with the SEDA
 component, buffers of the *disruptor:* endpoints are only visible within
 a *single* CamelContext and no support is
 provided for persistence or recovery. The buffers of the
@@ -62,7 +62,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -87,7 +87,7 @@ across contexts in case of +
   ?option=value&option=value&…
 ------------------------------
 
-### Options
+== Options
 
 All the following options are valid for both the **disruptor:** and
 **disruptor-vm:** components.
@@ -189,7 +189,7 @@ The component supports 18 options, which are listed below.
 
 
 
-### Wait strategies
+== Wait strategies
 
 The wait strategy effects the type of waiting performed by the consumer
 threads that are currently waiting for the next exchange to be
@@ -218,9 +218,9 @@ barrier after an initially spinning. |This strategy is a good compromise between
 without incurring significant latency spikes.
 |=======================================================================
 
-### Use of Request Reply
+== Use of Request Reply
 
-The Disruptor component supports using link:request-reply.html[Request
+The Disruptor component supports using xref:latest@manual::requestReply-eip.adoc[Request
 Reply], where the caller will wait for the Async route to complete. For
 instance:
 
@@ -236,7 +236,7 @@ buffer. As it is a Request Reply message, we
 wait for the response. When the consumer on the _disruptor:input_ buffer
 is complete, it copies the response to the original message response.
 
-### Concurrent consumers
+== Concurrent consumers
 
 By default, the Disruptor endpoint uses a single consumer thread, but
 you can configure it to use concurrent consumer threads. So instead of
@@ -252,7 +252,7 @@ increase/shrink dynamically at runtime depending on load, whereas the
 number of concurrent consumers is always fixed and supported by the
 Disruptor internally so performance will be higher.
 
-### Thread pools
+== Thread pools
 
 Be aware that adding a thread pool to a Disruptor endpoint by doing
 something like:
@@ -269,7 +269,7 @@ of the performance gains achieved by using the Disruptor. Instead, it is
 advices to directly configure number of threads that process messages on
 a Disruptor endpoint using the concurrentConsumers option.
 
-### Sample
+== Sample
 
 In the route below we use the Disruptor to send the request to this
 async queue to be able to send a fire-and-forget message for further
@@ -302,7 +302,7 @@ another thread for further processing. Since this is from a unit test,
 it will be sent to a mock endpoint where we can do assertions in the
 unit test.
 
-### Using multipleConsumers
+== Using multipleConsumers
 
 In this example we have defined two consumers and registered them as
 spring beans.
@@ -330,7 +330,7 @@ but notice how we can use @Consume to consume from the Disruptor.
 -------------------------------------------
 public class FooEventConsumer {
 
-    @EndpointInject(uri = "mock:result")
+    @EndpointInject("mock:result")
     private ProducerTemplate destination;
 
     @Consume(ref = "foo")
@@ -341,7 +341,7 @@ public class FooEventConsumer {
 }
 -------------------------------------------
 
-### Extracting disruptor information
+== Extracting disruptor information
 
 If needed, information such as buffer size, etc. can be obtained without
 using JMX in this fashion:
diff --git a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
index c426e8d..a32188a 100644
--- a/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
+++ b/components/camel-elasticsearch-rest/src/main/docs/elasticsearch-rest-component.adoc
@@ -1,9 +1,9 @@
-[[elasticsearch-rest-component]]
-== Elastichsearch Rest Component
+= Elastichsearch Rest Component
 
 *Available as of Camel version 2.21*
 
 
+
 The ElasticSearch component allows you to interface with an
 https://www.elastic.co/products/elasticsearch[ElasticSearch] 6.x API using the REST Client library.
 
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -28,7 +28,7 @@ elasticsearch-rest://clusterName[?options]
 ----
 
 
-=== Endpoint Options
+== Endpoint Options
 
 // component options: START
 The Elastichsearch Rest component supports 12 options, which are listed below.
@@ -123,7 +123,7 @@ The component supports 13 options, which are listed below.
 
 
 
-=== Message Operations
+== Message Operations
 
 The following ElasticSearch operations are currently supported. Simply
 set an endpoint URI option or exchange header with a key of "operation"
@@ -146,11 +146,11 @@ body
 |DeleteIndex |*String* or *DeleteRequest* index name of the index to delete |Deletes the specified indexName and returns a status code the
 body
 
-|BulkIndex | a *List*, *BulkRequest*, or *Collection* of any type that is already accepted
-(XContentBuilder, Map, byte[], String) |Adds content to an index and return a List of the id of the
+|BulkIndex | a *List*, *BulkRequest*, or *Collection* of any type that is already accepted
+(XContentBuilder, Map, byte[], String) |Adds content to an index and return a List of the id of the
 successfully indexed documents in the body
 
-|Bulk |a *List*, *BulkRequest*, or *Collection* of any type that is already accepted
+|Bulk |a *List*, *BulkRequest*, or *Collection* of any type that is already accepted
        (XContentBuilder, Map, byte[], String) |Adds content to an index and returns the BulkItemResponse[]
 object in the body
 
@@ -168,7 +168,7 @@ indexId in the body.
 |Info |None  |Get the info of the Elasticsearch cluster and returns them as MainResponse class instance
 |===
 
-=== Configure the component and enable basic authentication
+== Configure the component and enable basic authentication
 To use the Elasticsearch component is has to be configured with a minimum configuration.
 
 [source,java]
@@ -192,7 +192,7 @@ elasticsearchComponent.setEnableSSL(true);
 camelContext.addComponent("elasticsearch-rest", elasticsearchComponent);
 ----
 
-=== Index Example
+== Index Example
 
 Below is a simple INDEX example
 
@@ -222,7 +222,7 @@ map.put("content", "test");
 String indexId = template.requestBody("direct:index", map, String.class);
 ----
 
-=== Search Example
+== Search Example
 
 Searching on specific field(s) and value use the Operation ´Search´.
 Pass in the query JSON String or the Map
@@ -288,7 +288,7 @@ try (ElasticsearchScrollRequestIterator response = template.requestBody("direct:
 }
 ----
 
-link:split-eip.html[Split EIP] can also be used.
+xref:latest@manual::split-eip.adoc[Split EIP] can also be used.
 
 [source,java]
 ----
@@ -301,7 +301,7 @@ from("direct:search")
   .end();
 ----
 
-=== MultiSearch Example
+== MultiSearch Example
 
 MultiSearching on specific field(s) and value use the Operation ´MultiSearch´.
 Pass in the MultiSearchRequest instance
diff --git a/components/camel-elsql/src/main/docs/elsql-component.adoc b/components/camel-elsql/src/main/docs/elsql-component.adoc
index 87f2732..84aecd7 100644
--- a/components/camel-elsql/src/main/docs/elsql-component.adoc
+++ b/components/camel-elsql/src/main/docs/elsql-component.adoc
@@ -1,11 +1,11 @@
-[[elsql-component]]
-== ElSQL Component
+= ElSQL Component
 
 *Available as of Camel version 2.16*
 
-The *elsql:* component is an extension to the existing
-<<sql-component,SQL Component>> that uses
-https://github.com/OpenGamma/ElSql[ElSql] to define the SQL queries. 
+
+The ELSQL component is an extension to the existing
+xref:sql-component.adoc[SQL Component] that uses
+https://github.com/OpenGamma/ElSql[ElSql] to define the SQL queries. 
 
 This component uses `spring-jdbc` behind the scenes for the actual SQL
 handling.
@@ -34,20 +34,22 @@ sql:elSqlName:resourceUri[?options]
 ----
 
 You can append query options to the URI in the following
-format, `?option=value&option=value&...`
+format, `?option=value&option=value&...`
 
 The parameters to the SQL queries are named parameters in the elsql
-mapping files, and maps to corresponding keys from the Camel message, in
+mapping files, and maps to corresponding keys from the Camel message, in
 the given precedence:
 
-1. *Camel 2.16.1:* from message body if <<simple-language,Simple>>
+1. from message body if xref:latest@manual::simple-language.adoc[Simple]
 expression.
 
-2. from message body if its a `java.util.Map`3. from message headers
+2. from message body if its a `java.util.Map`
+
+3. from message headers
 
 If a named parameter cannot be resolved, then an exception is thrown.
 
-=== Options
+== Options
 
 // component options: START
 The ElSQL component supports 5 options, which are listed below.
@@ -161,21 +163,21 @@ The component supports 6 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-=== Result of the query
+== Result of the query
 
 For `select` operations, the result is an instance of
 `List<Map<String, Object>>` type, as returned by the
 JdbcTemplate.queryForList() method. For `update` operations, the result
 is the number of updated rows, returned as an `Integer`.
 
-By default, the result is placed in the message body.  If the
-outputHeader parameter is set, the result is placed in the header.  This
+By default, the result is placed in the message body.  If the
+outputHeader parameter is set, the result is placed in the header.  This
 is an alternative to using a full message enrichment pattern to add
 headers, it provides a concise syntax for querying a sequence or some
-other small value into a header.  It is convenient to use outputHeader
+other small value into a header.  It is convenient to use outputHeader
 and outputType together:
 
-=== Header values
+== Header values
 
 When performing `update` operations, the SQL Component stores the update
 count in the following message headers:
@@ -191,7 +193,7 @@ count in the following message headers:
 `Integer` object.
 |===
 
-==== Sample
+=== Sample
 
 In the given route below, we want to get all the projects from the
 projects table. Notice the SQL query has 2 named parameters, :#lic and
@@ -230,11 +232,11 @@ parameters will be taken from the body.
      .to("elsql:projects:com/foo/orders.elsql")
 ----
 
-=== Using expression parameters in producers
+== Using expression parameters in producers
 
 In from Camel 2.16.1 onwards you can use Simple expressions as well,
 which allows to use an OGNL like notation on the message body, where it
-assumes to have `getLicense` and `getMinimum` methods:
+assumes to have `getLicense` and `getMinimum` methods:
 
 [source,sql]
 ----
@@ -245,7 +247,7 @@ assumes to have `getLicense` and `getMinimum` methods:
   ORDER BY id
 ----
 
-==== Using expression parameters in consumers
+=== Using expression parameters in consumers
 
 *Available as of Camel 2.23*
 
@@ -284,4 +286,3 @@ public static class MyIdGenerator {
 Notice that there is no existing `Exchange` with message body and headers, so
 the simple expression you can use in the consumer are most useable for calling
 bean methods as in this example.
-
diff --git a/components/camel-facebook/src/main/docs/facebook-component.adoc b/components/camel-facebook/src/main/docs/facebook-component.adoc
index fd475bc..0365e00 100644
--- a/components/camel-facebook/src/main/docs/facebook-component.adoc
+++ b/components/camel-facebook/src/main/docs/facebook-component.adoc
@@ -1,8 +1,8 @@
-[[facebook-component]]
-== Facebook Component
+= Facebook Component
 
 *Available as of Camel version 2.14*
 
+
 The Facebook component provides access to all of the Facebook APIs
 accessible using http://facebook4j.org/en/index.html[Facebook4J]. It
 allows producing messages to retrieve, add, and delete posts, likes,
@@ -33,14 +33,14 @@ for this component:
     </dependency>
 -----------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------
   facebook://[endpoint]?[options]
 ---------------------------------
 
-### FacebookComponent
+== FacebookComponent
 
 The facebook component can be configured with the Facebook account
 settings below, which are mandatory. The values can be provided to the
@@ -195,7 +195,7 @@ with the following path and query parameters:
 | *oAuthAppId* (security) | The application Id |  | String
 | *oAuthAppSecret* (security) | The application Secret |  | String
 | *oAuthAuthorizationURL* (security) | OAuth authorization URL | https://www.facebook.com/dialog/oauth | String
-| *oAuthPermissions* (security) | Default OAuth permissions. Comma separated permission names. See \https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
+| *oAuthPermissions* (security) | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
 |===
 // endpoint options: END
 // spring-boot-auto-configure options: START
@@ -231,7 +231,7 @@ The component supports 29 options, which are listed below.
 | *camel.component.facebook.configuration.o-auth-app-id* | The application Id |  | String
 | *camel.component.facebook.configuration.o-auth-app-secret* | The application Secret |  | String
 | *camel.component.facebook.configuration.o-auth-authorization-u-r-l* | OAuth authorization URL | https://www.facebook.com/dialog/oauth | String
-| *camel.component.facebook.configuration.o-auth-permissions* | Default OAuth permissions. Comma separated permission names. See \https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
+| *camel.component.facebook.configuration.o-auth-permissions* | Default OAuth permissions. Comma separated permission names. See https://developers.facebook.com/docs/reference/login/#permissions for the detail |  | String
 | *camel.component.facebook.configuration.pretty-debug-enabled* | Prettify JSON debug output if set to true | false | Boolean
 | *camel.component.facebook.configuration.rest-base-u-r-l* | API base URL | https://graph.facebook.com/ | String
 | *camel.component.facebook.configuration.use-s-s-l* | Use SSL | true | Boolean
@@ -243,7 +243,7 @@ The component supports 29 options, which are listed below.
 
 
 
-### Producer Endpoints:
+== Producer Endpoints:
 
 Producer endpoints can use endpoint names and options from the table
 below. Endpoints can also use the short name without the *get* or
@@ -264,8 +264,7 @@ value in the incoming message body.
 
 Any of the endpoint options can be provided in either the endpoint URI,
 or dynamically in a message header. The message header name must be of
-the format
-*CamelFacebook.https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=option&linkCreation=true&fromPageId=34020899[option]*.
+the format `CamelFacebook.option`.
 For example, the *userId* option value in the previous route could
 alternately be provided in the message header *CamelFacebook.userId*.
 Note that the inBody option overrides message header, e.g. the endpoint
@@ -277,11 +276,10 @@ return a boolean, return true for success and false otherwise. In case
 of Facebook API errors the endpoint will throw a RuntimeCamelException
 with a facebook4j.FacebookException cause.
 
-### Consumer Endpoints:
+== Consumer Endpoints:
 
 Any of the producer endpoints that take a
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=reading&linkCreation=true&fromPageId=34020899[reading#reading]
-parameter can be used as a consumer endpoint. The polling consumer uses
+reading parameter can be used as a consumer endpoint. The polling consumer uses
 the *since* and *until* fields to get responses within the polling
 interval. In addition to other reading fields, an initial *since* value
 can be provided in the endpoint for the first poll.
@@ -292,15 +290,12 @@ camel-facebook creates one route exchange per returned object. As an
 example, if *"facebook://home"* results in five posts, the route will be
 executed five times (once for each Post).
 
-### Reading Options
+== Reading Options
 
 The *reading* option of type *facebook4j.Reading* adds support for
 reading parameters, which allow selecting specific fields, limits the
 number of results, etc. For more information see
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=Graph+API&linkCreation=true&fromPageId=34020899[Graph
-API#reading] -
-https://developers.facebook.com/docs/reference/api/#reading[Facebook
-Developers].
+https://developers.facebook.com/docs/reference/api/#reading[Graph API documentation].
 
 It is also used by consumer endpoints to poll Facebook data to avoid
 sending duplicate messages across polls.
@@ -310,14 +305,12 @@ The reading option can be a reference or value of type
 options in either the endpoint URI or exchange header with
 *CamelFacebook.* prefix.
 
-### Message header
+== Message header
 
-Any of the
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=URI+options&linkCreation=true&fromPageId=34020899[URI
-options#urioptions] can be provided in a message header for producer
-endpoints with *CamelFacebook.* prefix.
+Any of the URI options can be provided in a message header for producer
+endpoints with `CamelFacebook.` prefix.
 
-### Message body
+== Message body
 
 All result message bodies utilize objects provided by the Facebook4J
 API. Producer endpoints can specify the option name for incoming message
@@ -327,7 +320,7 @@ For endpoints that return an array, or *facebook4j.ResponseList*, or
 *java.util.List*, a consumer endpoint will map every elements in the
 list to distinct messages.
 
-### Use cases
+== Use cases
 
 To create a post within your Facebook profile, send this producer a
 facebook4j.PostUpdate body.
@@ -338,8 +331,8 @@ facebook4j.PostUpdate body.
         .to("facebook://postFeed/inBody=postUpdate);
 ----------------------------------------------------
 
-To poll, every 5 sec (You can set the link:polling-consumer.html[polling
-consumer] options by adding a prefix of "consumer"), all statuses on
+To poll, every 5 sec (You can set the xref:latest@manual::polling-consumer.adoc[polling
+consumer] options by adding a prefix of "consumer"), all statuses on
 your home feed:
 
 [source,java]
diff --git a/components/camel-grape/src/main/docs/grape-component.adoc b/components/camel-grape/src/main/docs/grape-component.adoc
index b241aba..e29ccbb 100644
--- a/components/camel-grape/src/main/docs/grape-component.adoc
+++ b/components/camel-grape/src/main/docs/grape-component.adoc
@@ -1,8 +1,8 @@
-[[grape-component]]
-== Grape Component
+= Grape Component
 
 *Available as of Camel version 2.16*
 
+
 http://docs.groovy-lang.org/latest/html/documentation/grape.html[Grape]
 component allows you to fetch, load and manage additional jars when
 `CamelContext` is running. In practice with Camel Grape component you
@@ -10,7 +10,7 @@ can add new components, data formats and beans to your `CamelContext`
 without the restart of the router.
 
 
-### Grape options
+== Grape options
 
 // component options: START
 The Grape component supports 2 options, which are listed below.
@@ -57,7 +57,7 @@ with the following path and query parameters:
 
 
 
-### Setting up class loader
+== Setting up class loader
 
 Grape requires using Groovy class loader with the `CamelContext`. You
 can enable Groovy class loading on the existing Camel Context using the
@@ -78,7 +78,7 @@ yourself:
 camelContext.setApplicationContextClassLoader(new GroovyClassLoader(myClassLoader));
 ------------------------------------------------------------------------------------
 
-### URI format
+== URI format
 
 Grape component supports only producer endpoints.
 
@@ -105,7 +105,7 @@ from("direct:loadCamelFTP").
   to("grape:defaultMavenCoordinates");
 ----------------------------------------------------------
 
-### Adding the Grape component to the project
+== Adding the Grape component to the project
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
@@ -120,7 +120,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### Default payload type
+== Default payload type
 
 By default Camel Grape component operates on the String payloads:
 
@@ -129,19 +129,19 @@ By default Camel Grape component operates on the String payloads:
 producerTemplate.sendBody("grape:defaultMavenCoordinates", "org.apache.camel/camel-ftp/2.15.2");
 ------------------------------------------------------------------------------------------------
 
-But of course Camel build-in link:type-converter.html[type conversion
+But of course Camel build-in xref:latest@manual::type-converter.adoc[type conversion
 API] can perform the automatic data type transformations for you. In the
 example below Camel automatically converts binary payload into the
 String:
 
- 
+ 
 
 [source,java]
 -----------------------------------------------------------------------------------------------------------
 producerTemplate.sendBody("grape:defaultMavenCoordinates", "org.apache.camel/camel-ftp/2.15.2".getBytes());
 -----------------------------------------------------------------------------------------------------------
 
-### Headers
+== Headers
 
 The following headers are recognized by the Grape component:
 
@@ -152,7 +152,7 @@ The following headers are recognized by the Grape component:
 |`CamelGrapeCommand` |`GrapeConstants.GRAPE_COMMAND` |Producer |`org.apache.camel.component.grape.GrapeCommand` |The command to be performed by the Grape endpoint. Default to `grab`.
 |=======================================================================
 
-### Loading components at runtime
+== Loading components at runtime
 
 In order to load the new component at the router runtime, just grab the
 jar containing the given component:
@@ -164,9 +164,9 @@ template.sendBody("grape:grape", "org.apache.camel/camel-stream/2.15.2");
 template.sendBody("stream:out", "msg");
 -------------------------------------------------------------------------
 
-### Loading processors bean at runtime
+== Loading processors bean at runtime
 
-In order to load the new processor bean  with your custom business login
+In order to load the new processor bean  with your custom business login
 at the router runtime, just grab the jar containing the required bean:
 
 [source,java]
@@ -177,48 +177,48 @@ int productId = 1;
 int price = template.requestBody("bean:com.example.PricingBean?method=currentProductPrice", productId, int.class)
 -----------------------------------------------------------------------------------------------------------------
 
- 
+ 
 
-### Loading deployed jars after Camel context restart
+== Loading deployed jars after Camel context restart
 
 After you download new jar, you usually would like to have it loaded by
 the Camel again after the restart of the `CamelContext`. It is certainly
 possible, as Grape component keeps track of the jar files you have
 installed. In order to load again the installed jars on the context
-startup, use the `GrapeEndpoint.loadPatches()` method in your route: 
+startup, use the `GrapeEndpoint.loadPatches()` method in your route: 
 
- 
+ 
 
 [source,java]
 -------------------------------------------------------------------------
 import static org.apache.camel.component.grape.GrapeEndpoint.loadPatches;
 
-... 
+... 
 camelContext.addRoutes(
-  new RouteBuilder() { 
-    @Override 
-    public void configure() throws Exception { 
+  new RouteBuilder() { 
+    @Override 
+    public void configure() throws Exception { 
       loadPatches(camelContext);
- 
+ 
       from("direct:loadCamelFTP").
-        to("grape:org.apache.camel/camel-ftp/2.15.2"); 
+        to("grape:org.apache.camel/camel-ftp/2.15.2"); 
     }
   });
 -------------------------------------------------------------------------
 
- 
+ 
 
-### Managing the installed jars
+== Managing the installed jars
 
 If you would like to check what jars have been installed into the given
 `CamelContext`, send message to the grape endpoint with
-the `CamelGrapeCommand` header set to `GrapeCommand.listPatches`:
+the `CamelGrapeCommand` header set to `GrapeCommand.listPatches`:
 
 [source,java]
 ----------------------------------------------------------------------------------------
-      from("netty-http4:http://0.0.0.0:80/patches").
+      from("netty-http:http://0.0.0.0:80/patches").
         setHeader(GrapeConstats.GRAPE_COMMAND, constant(CamelGrapeCommand.listPatches)).
-        to("grape:list"); 
+        to("grape:list"); 
 ----------------------------------------------------------------------------------------
 
 Connecting the to the route defined above using the HTTP client returns
@@ -232,19 +232,12 @@ grape:org.apache.camel/camel-jms/2.15.2
 ---------------------------------------
 
 If you would like to remove the installed jars, so these won't be loaded
-again after the context restart, use the `GrapeCommand.``clearPatches`
+again after the context restart, use the `GrapeCommand.``clearPatches`
 command:
 
 [source,java]
 -----------------------------------------------------------------------------------------
-      from("netty-http4:http://0.0.0.0:80/patches").
+      from("netty-http:http://0.0.0.0:80/patches").
         setHeader(GrapeConstats.GRAPE_COMMAND, constant(CamelGrapeCommand.clearPatches)).
-        setBody().constant("Installed patches have been deleted."); 
+        setBody().constant("Installed patches have been deleted."); 
 -----------------------------------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-groovy/src/main/docs/groovy-language.adoc b/components/camel-groovy/src/main/docs/groovy-language.adoc
index c053035..1057b92 100644
--- a/components/camel-groovy/src/main/docs/groovy-language.adoc
+++ b/components/camel-groovy/src/main/docs/groovy-language.adoc
@@ -1,12 +1,12 @@
-[[groovy-language]]
-== Groovy Language
+= Groovy Language
 
 *Available as of Camel version 1.3*
 
+
 Camel supports http://groovy.codehaus.org/[Groovy] among other
 Scripting Languages to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration].
 
 To use a Groovy expression use the following Java code
@@ -17,11 +17,10 @@ To use a Groovy expression use the following Java code
 ---------------------------------------
 
 For example you could use the *groovy* function to create an
-Predicate in a link:message-filter.html[Message
-Filter] or as an Expression for a
+Predicate in a xref:latest@manual::filter-eip.adoc[Message Filter] or as an Expression for a
 Recipient List
 
-### Groovy Options
+== Groovy Options
 
 
 
@@ -55,18 +54,18 @@ The component supports 2 options, which are listed below.
 
 
 
-### Customizing Groovy Shell
+== Customizing Groovy Shell
 
 Sometimes you may need to use custom `GroovyShell` instance in your
 Groovy expressions. To provide custom `GroovyShell`, add implementation
-of the `org.apache.camel.language.groovy.GroovyShellFactory` SPI
+of the `org.apache.camel.language.groovy.GroovyShellFactory` SPI
 interface to your Camel registry. For example after adding the following
 bean to your Spring context...
 
 [source,java]
 ----------------------------------------------------------------------
 public class CustomGroovyShellFactory implements GroovyShellFactory {
- 
+ 
   public GroovyShell createGroovyShell(Exchange exchange) {
     ImportCustomizer importCustomizer = new ImportCustomizer();
     importCustomizer.addStaticStars("com.example.Utils");
@@ -81,7 +80,7 @@ public class CustomGroovyShellFactory implements GroovyShellFactory {
 ...Camel will use your custom GroovyShell instance (containing your
 custom static imports), instead of the default one.
 
-### Example
+== Example
 
 [source,java]
 ------------------------------------------------------------------------------------------------
@@ -102,7 +101,7 @@ And the Spring DSL:
         </route>
 -----------------------------------------------------------------------------
 
-### ScriptContext
+== ScriptContext
 
 The JSR-223 scripting languages ScriptContext is pre configured with the
 following attributes all set at `ENGINE_SCOPE`:
@@ -122,15 +121,15 @@ following attributes all set at `ENGINE_SCOPE`:
 |response |`org.apache.camel.Message` |*Deprecated*: The OUT message. The OUT message if null by default. Use
 IN message instead.
 
-|properties |`org.apache.camel.builder.script.PropertiesFunction` |*Camel 2.9:* Function with a `resolve` method to make it easier to use
-Camels <<properties-component,Properties>> component from scripts. See
+|properties |`org.apache.camel.builder.script.PropertiesFunction` |Function with a `resolve` method to make it easier to use
+Camels Properties component from scripts. See
 further below for example.
 |=======================================================================
 
 See Scripting Languages for the list of
 languages with explicit DSL support.
 
-### Additional arguments to ScriptingEngine
+== Additional arguments to ScriptingEngine
 
 *Available as of Camel 2.8*
 
@@ -138,11 +137,11 @@ You can provide additional arguments to the `ScriptingEngine` using a
 header on the Camel message with the key `CamelScriptArguments`. +
  See this example:
 
-### Using properties function
+== Using properties function
 
 *Available as of Camel 2.9*
 
-If you need to use the <<properties-component,Properties>> component from a
+If you need to use the Properties component from a
 script to lookup property placeholders, then its a bit cumbersome to do
 so. 
 For example to set a header name myHeader with a value from a property
@@ -153,15 +152,14 @@ placeholder, which key is provided in a header named "foo".
 .setHeader("myHeader").groovy(""context.resolvePropertyPlaceholders( + '{{' + request.headers.get(&#39;foo&#39;) + '}}' + ")")
 ------------------------------------------------------------------------------------------------------------------------------
 
-From Camel 2.9 onwards you can now use the properties function and the
-same example is simpler:
+You can use the properties function and the same example is simpler:
 
 [source,java]
 ---------------------------------------------------------------------------------------
 .setHeader("myHeader").groovy("properties.resolve(request.headers.get(&#39;foo&#39;))")
 ---------------------------------------------------------------------------------------
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -175,7 +173,7 @@ eg to refer to a file on the classpath you can do:
 .setHeader("myHeader").groovy("resource:classpath:mygroovy.groovy")
 -------------------------------------------------------------------
 
-### How to get the result from multiple statements script
+== How to get the result from multiple statements script
 
 *Available as of Camel 2.14*
 
@@ -193,7 +191,7 @@ bar = "baz";
 result = body * 2 + 1
 -------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use scripting languages in your camel routes you need to add a
 dependency on *camel-groovy*.
diff --git a/components/camel-http/src/main/docs/http-component.adoc b/components/camel-http/src/main/docs/http-component.adoc
index 373b463..50540c7 100644
--- a/components/camel-http/src/main/docs/http-component.adoc
+++ b/components/camel-http/src/main/docs/http-component.adoc
@@ -1,115 +1,46 @@
-[[http-component]]
-== HTTP Component (deprecated)
+= HTTP Component (deprecated)
 
+*Available as of Camel version 2.3*
 *Available as of Camel version 1.0*
 
-The *http:* component provides HTTP based endpoints
-for consuming external HTTP resources (as a client to call external
+
+The HTTP component provides HTTP based endpoints
+for calling external HTTP resources (as a client to call external
 servers using HTTP).
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
 
 [source,xml]
-----
+------------------------------------------------------------
 <dependency>
     <groupId>org.apache.camel</groupId>
     <artifactId>camel-http</artifactId>
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
-----
+------------------------------------------------------------
 
-=== URI format
+== URI format
 
 [source,java]
-----
-http:hostname[:port][/resourceUri][?param1=value1][&param2=value2]
-----
+---------------------------------------------
+http:hostname[:port][/resourceUri][?options]
+---------------------------------------------
 
 Will by default use port 80 for HTTP and 443 for HTTPS.
 
+You can append query options to the URI in the following format,
+`?option=value&option=value&...`
+
 *camel-http vs camel-jetty*
 
 You can only produce to endpoints generated by the HTTP component.
-Therefore it should never be used as input into your camel Routes. To
-bind/expose an HTTP endpoint via a HTTP server as input to a camel
-route, you can use the <<jetty-component,Jetty Component>> or the
-<<servlet-component,Servlet Component>>
-
-
-=== Examples
-
-Call the url with the body using POST and return response as out
-message. If body is null call URL using GET and return response as out
-message
-
-Java DSL
-
-Spring DSL
-
-[source,java]
-----
-from("direct:start")
-  .to("http://myhost/mypath");
-----
-
-[source,xml]
-----
-<from uri="direct:start"/>
-<to uri="http://oldhost"/>
-----
-
-You can override the HTTP endpoint URI by adding a header. Camel will
-call the http://newhost. This is very handy for e.g. REST urls.
-
-Java DSL
-
-[source,java]
-----
-from("direct:start")
-  .setHeader(Exchange.HTTP_URI, simple("http://myserver/orders/${header.orderId}"))
-  .to("http://dummyhost");
-----
-
-URI parameters can either be set directly on the endpoint URI or as a
-header
-
-Java DSL
-
-[source,java]
-----
-from("direct:start")
-  .to("http://oldhost?order=123&detail=short");
-from("direct:start")
-  .setHeader(Exchange.HTTP_QUERY, constant("order=123&detail=short"))
-  .to("http://oldhost");
-----
-
-Set the HTTP request method to POST
-
-Java DSL
-
-Spring DSL
-
-[source,java]
-----
-from("direct:start")
-  .setHeader(Exchange.HTTP_METHOD, constant("POST"))
-  .to("http://www.google.com");
-----
+Therefore it should never be used as input into your Camel Routes. To
+bind/expose an HTTP endpoint via a HTTP server as input to a Camel
+route, use the xref:jetty-component.adoc[Jetty Component] instead.
 
-[source,xml]
-----
-<from uri="direct:start"/>
-<setHeader headerName="CamelHttpMethod">
-  <constant>POST</constant>
-</setHeader>
-<to uri="http://www.google.com"/>
-<to uri="mock:results"/>
-----
-
-=== Http Options
+== Http Component Options
 
 
 
@@ -141,6 +72,7 @@ The HTTP component supports 8 options, which are listed below.
 
 
 
+
 // endpoint options: START
 The HTTP endpoint is configured using URI syntax:
 
@@ -235,9 +167,10 @@ The component supports 9 options, which are listed below.
 
 
 
-=== Message Headers
 
-[width="100%",cols="10%,10%,80%",options="header",]
+== Message Headers
+
+[width="100%",cols="10%,20%,70%",options="header",]
 |=======================================================================
 |Name |Type |Description
 
@@ -247,19 +180,16 @@ Camel endpoint uri, where you can configure endpoint options such as
 security etc. This header does not support that, its only the uri of the
 http server.
 
-|`Exchange.HTTP_METHOD` |`String` |HTTP Method / Verb to use (GET/POST/PUT/DELETE/HEAD/OPTIONS/TRACE)
-
 |`Exchange.HTTP_PATH` |`String` |Request URI's path, the header will be used to build the request URI
-with the HTTP_URI. *Camel 2.3.0:* If the path is start with "/", http
-producer will try to find the relative path based on the
-Exchange.HTTP_BASE_URI header or the
-exchange.getFromEndpoint().getEndpointUri();
+with the HTTP_URI.
 
 |`Exchange.HTTP_QUERY` |`String` |URI parameters. Will override existing URI parameters set directly on
 the endpoint.
 
 |`Exchange.HTTP_RESPONSE_CODE` |`int` |The HTTP response code from the external server. Is 200 for OK.
 
+|`Exchange.HTTP_RESPONSE_TEXT` | `String` |The HTTP response text from the external server.
+
 |`Exchange.HTTP_CHARACTER_ENCODING` |`String` |Character encoding.
 
 |`Exchange.CONTENT_TYPE` |`String` |The HTTP content type. Is set on both the IN and OUT message to provide
@@ -267,27 +197,41 @@ a content type, such as `text/html`.
 
 |`Exchange.CONTENT_ENCODING` |`String` |The HTTP content encoding. Is set on both the IN and OUT message to
 provide a content encoding, such as `gzip`.
-
-|`Exchange.HTTP_SERVLET_REQUEST` |`HttpServletRequest` |The `HttpServletRequest` object.
-
-|`Exchange.HTTP_SERVLET_RESPONSE` |`HttpServletResponse` |The `HttpServletResponse` object.
-
-|`Exchange.HTTP_PROTOCOL_VERSION` |`String` |*Camel 2.5:* You can set the http protocol version with this header, eg.
-"HTTP/1.0". If you didn't specify the header, HttpProducer will use the
-default value "HTTP/1.1"
 |=======================================================================
 
-The header name above are constants. For the spring DSL you have to use
-the value of the constant instead of the name.
-
-=== Message Body
+== Message Body
 
 Camel will store the HTTP response from the external server on the OUT
 body. All headers from the IN message will be copied to the OUT message,
 so headers are preserved during routing. Additionally Camel will add the
 HTTP response headers as well to the OUT message headers.
 
-=== Response code
+
+
+
+== Using System Properties
+
+When setting useSystemProperties to true, the HTTP Client will look for
+the following System Properties and it will use it:
+
+* ssl.TrustManagerFactory.algorithm
+* http://javax.net/[javax.net].ssl.trustStoreType
+* http://javax.net/[javax.net].ssl.trustStore
+* http://javax.net/[javax.net].ssl.trustStoreProvider
+* http://javax.net/[javax.net].ssl.trustStorePassword
+* java.home
+* ssl.KeyManagerFactory.algorithm
+* http://javax.net/[javax.net].ssl.keyStoreType
+* http://javax.net/[javax.net].ssl.keyStore
+* http://javax.net/[javax.net].ssl.keyStoreProvider
+* http://javax.net/[javax.net].ssl.keyStorePassword
+* http.proxyHost
+* http.proxyPort
+* http.nonProxyHosts
+* http.keepAlive
+* http.maxConnections
+
+== Response code
 
 Camel will handle according to the HTTP response code:
 
@@ -300,16 +244,14 @@ with the information.
 and will throw a `HttpOperationFailedException` with the information.
 
 *throwExceptionOnFailure*
-
 The option, `throwExceptionOnFailure`, can be set to `false` to prevent
 the `HttpOperationFailedException` from being thrown for failed response
 codes. This allows you to get any response from the remote server. +
 There is a sample below demonstrating this.
 
+== Exceptions
 
-=== HttpOperationFailedException
-
-This exception contains the following information:
+`HttpOperationFailedException` exception contains the following information:
 
 * The HTTP status code
 * The HTTP status line (text of the status code)
@@ -317,7 +259,7 @@ This exception contains the following information:
 * Response body as a `java.lang.String`, if server provided a body as
 response
 
-=== Which HTTP method will be used
+== Which HTTP method will be used
 
 The following algorithm is used to determine what HTTP method should be used: +
  1. Use method provided as endpoint configuration (`httpMethod`). +
@@ -327,81 +269,213 @@ The following algorithm is used to determine what HTTP method should be used: +
  5. `POST` if there is data to send (body is not `null`). +
  6. `GET` otherwise.
 
-=== How to get access to HttpServletRequest and HttpServletResponse
+== How to get access to HttpServletRequest and HttpServletResponse
 
 You can get access to these two using the Camel type converter system
-using
+using +
+ *NOTE* You can get the request and response not just from the processor
+after the camel-jetty or camel-cxf endpoint.
 
 [source,java]
-----
+----------------------------------------------------------------------------------
 HttpServletRequest request = exchange.getIn().getBody(HttpServletRequest.class);
 HttpServletRequest response = exchange.getIn().getBody(HttpServletResponse.class);
-----
+----------------------------------------------------------------------------------
 
-=== Using client timeout - SO_TIMEOUT
+== Configuring URI to call
 
-See the unit test in
-https://github.com/apache/camel/blob/master/components/camel-jetty9/src/test/java/org/apache/camel/component/jetty/HttpProducerSOTimeoutTest.java[this link]
+You can set the HTTP producer's URI directly form the endpoint URI. In
+the route below, Camel will call out to the external server, `oldhost`,
+using HTTP.
 
-=== More Examples
+[source,java]
+-------------------------------
+from("direct:start")
+        .to("http://oldhost");
+-------------------------------
 
-==== Configuring a Proxy
+And the equivalent Spring sample:
 
-Java DSL
+[source,xml]
+---------------------------------------------------------------------
+<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <to uri="http://oldhost"/>
+  </route>
+</camelContext>
+---------------------------------------------------------------------
+
+You can override the HTTP endpoint URI by adding a header with the key,
+`Exchange.HTTP_URI`, on the message.
 
 [source,java]
-----
+-----------------------------------------------------------
 from("direct:start")
-  .to("http://oldhost?proxyHost=www.myproxy.com&proxyPort=80");
-----
+  .setHeader(Exchange.HTTP_URI, constant("http://newhost"))
+  .to("http://oldhost");
+-----------------------------------------------------------
 
-There is also support for proxy authentication via the `proxyUsername`
-and `proxyPassword` options.
+In the sample above Camel will call the http://newhost despite the
+endpoint is configured with http://oldhost. +
+If the http endpoint is working in bridge mode, it will ignore the
+message header of `Exchange.HTTP_URI`.
 
-==== Using proxy settings outside of URI
+== Configuring URI Parameters
 
-Java DSL
+The *http* producer supports URI parameters to be sent to the HTTP
+server. The URI parameters can either be set directly on the endpoint
+URI or as a header with the key `Exchange.HTTP_QUERY` on the message.
 
-Spring DSL
+[source,java]
+------------------------------------------------
+from("direct:start")
+  .to("http://oldhost?order=123&detail=short");
+------------------------------------------------
+
+Or options provided in a header:
 
 [source,java]
-----
+---------------------------------------------------------------------
+from("direct:start")
+  .setHeader(Exchange.HTTP_QUERY, constant("order=123&detail=short"))
+  .to("http://oldhost");
+---------------------------------------------------------------------
+
+== How to set the http method (GET/PATCH/POST/PUT/DELETE/HEAD/OPTIONS/TRACE) to the HTTP producer
+
+The HTTP component provides a way to set the HTTP request method by
+setting the message header. Here is an example:
+
+[source,java]
+-----------------------------------------------------------------------------------------------
+from("direct:start")
+  .setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http.HttpMethods.POST))
+  .to("http://www.google.com")
+  .to("mock:results");
+-----------------------------------------------------------------------------------------------
+
+The method can be written a bit shorter using the string constants:
+
+[source,java]
+-----------------------------------------------
+.setHeader("CamelHttpMethod", constant("POST"))
+-----------------------------------------------
+
+And the equivalent Spring sample:
+
+[source,xml]
+---------------------------------------------------------------------
+<camelContext xmlns="http://activemq.apache.org/camel/schema/spring">
+  <route>
+    <from uri="direct:start"/>
+    <setHeader name="CamelHttpMethod">
+        <constant>POST</constant>
+    </setHeader>
+    <to uri="http://www.google.com"/>
+    <to uri="mock:results"/>
+  </route>
+</camelContext>
+---------------------------------------------------------------------
+
+== Using client timeout - SO_TIMEOUT
+
+See the
+https://github.com/apache/camel/blob/master/components/camel-http/src/test/java/org/apache/camel/component/http/HttpSOTimeoutTest.java[HttpSOTimeoutTest]
+unit test.
+
+== Configuring a Proxy
+
+The HTTP component provides a way to configure a proxy.
+
+[source,java]
+------------------------------------------------------------------------
+from("direct:start")
+  .to("http://oldhost?proxyAuthHost=www.myproxy.com&proxyAuthPort=80");
+------------------------------------------------------------------------
+
+There is also support for proxy authentication via the
+`proxyAuthUsername` and `proxyAuthPassword` options.
+
+=== Using proxy settings outside of URI
+
+To avoid System properties conflicts, you can set proxy configuration
+only from the CamelContext or URI. +
+ Java DSL :
+
+[source,java]
+---------------------------------------------------------------
  context.getProperties().put("http.proxyHost", "172.168.18.9");
  context.getProperties().put("http.proxyPort" "8080");
-----
+---------------------------------------------------------------
+
+Spring XML
 
 [source,xml]
-----
+----------------------------------------------------------------
    <camelContext>
        <properties>
            <property key="http.proxyHost" value="172.168.18.9"/>
            <property key="http.proxyPort" value="8080"/>
       </properties>
    </camelContext>
-----
+----------------------------------------------------------------
+
+Camel will first set the settings from Java System or CamelContext
+Properties and then the endpoint proxy options if provided. +
+ So you can override the system properties with the endpoint options.
 
-Options on Endpoint will override options on the context.
+There is also a `http.proxyScheme` property you
+can set to explicit configure the scheme to use.
 
-=== Configuring charset
+== Configuring charset
 
 If you are using `POST` to send data you can configure the `charset`
+using the `Exchange` property:
 
 [source,java]
-----
-setProperty(Exchange.CHARSET_NAME, "iso-8859-1");
-----
+----------------------------------------------------------
+exchange.setProperty(Exchange.CHARSET_NAME, "ISO-8859-1");
+----------------------------------------------------------
 
 === Sample with scheduled poll
 
-The sample polls the Google homepage every 10 seconds and write the page
-to the file `message.html`:
+This sample polls the Google homepage every 10 seconds and write the
+page to the file `message.html`:
 
 [source,java]
-----
+------------------------------------------------------------
 from("timer://foo?fixedRate=true&delay=0&period=10000")
-    .to("http://www.google.com")
-    .setHeader(FileComponent.HEADER_FILE_NAME, "message.html").to("file:target/google");
-----
+  .to("http://www.google.com")
+  .setHeader(FileComponent.HEADER_FILE_NAME, "message.html")
+  .to("file:target/google");
+------------------------------------------------------------
+
+=== URI Parameters from the endpoint URI
+
+In this sample we have the complete URI endpoint that is just what you
+would have typed in a web browser. Multiple URI parameters can of course
+be set using the `&` character as separator, just as you would in the
+web browser. Camel does no tricks here.
+
+[source,java]
+-----------------------------------------------------------------
+// we query for Camel at the Google page
+template.sendBody("http://www.google.com/search?q=Camel", null);
+-----------------------------------------------------------------
+
+=== URI Parameters from the Message
+
+[source,java]
+------------------------------------------------------------------
+Map headers = new HashMap();
+headers.put(Exchange.HTTP_QUERY, "q=Camel&lr=lang_en");
+// we query for Camel and English language at Google
+template.sendBody("http://www.google.com/search", null, headers);
+------------------------------------------------------------------
+
+In the header value above notice that it should *not* be prefixed with
+`?` and you can separate parameters as usual with the `&` char.
 
 === Getting the Response Code
 
@@ -410,94 +484,45 @@ the value from the Out message header with
 `Exchange.HTTP_RESPONSE_CODE`.
 
 [source,java]
-----
-   Exchange exchange = template.send("http://www.google.com/search", new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                exchange.getIn().setHeader(Exchange.HTTP_QUERY, constant("hl=en&q=activemq"));
-            }
-   });
-   Message out = exchange.getOut();
-   int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
-----
-
-=== Using `throwExceptionOnFailure=false` to get any response back
-
-In the route below we want to route a message that we
-enrich with data returned from a remote HTTP
-call. As we want any response from the remote server, we set the
-`throwExceptionOnFailure` option to `false` so we get any response in
-the `AggregationStrategy`. As the code is based on a unit test that
-simulates a HTTP status code 404, there is some assertion code etc.
-
-=== Disabling Cookies
+------------------------------------------------------------------------------------
+Exchange exchange = template.send("http://www.google.com/search", new Processor() {
+  public void process(Exchange exchange) throws Exception {
+    exchange.getIn().setHeader(Exchange.HTTP_QUERY, constant("hl=en&q=activemq"));
+  }
+});
+Message out = exchange.getOut();
+int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
+------------------------------------------------------------------------------------
+
+== Disabling Cookies
 
 To disable cookies you can set the HTTP Client to ignore cookies by
 adding this URI option: +
- `httpClient.cookiePolicy=ignoreCookies`
+ `httpClient.cookieSpec=ignoreCookies`
 
-=== Advanced Usage
+== Advanced Usage
 
 If you need more control over the HTTP producer you should use the
 `HttpComponent` where you can set various classes to give you custom
 behavior.
 
-==== Setting MaxConnectionsPerHost
-
-The <<http-component,HTTP>> Component has a
-`org.apache.commons.httpclient.HttpConnectionManager` where you can
-configure various global configuration for the given component. +
- By global, we mean that any endpoint the component creates has the same
-shared `HttpConnectionManager`. So, if we want to set a different value
-for the max connection per host, we need to define it on the HTTP
-component and *not* on the endpoint URI that we usually use. So here
-comes:
-
-First, we define the `http` component in Spring XML. Yes, we use the
-same scheme name, `http`, because otherwise Camel will auto-discover and
-create the component with default settings. What we need is to overrule
-this so we can set our options. In the sample below we set the max
-connection to 5 instead of the default of 2.
-
-And then we can just use it as we normally do in our routes:
-
-==== Using preemptive authentication
-
-An end user reported that he had problem with authenticating with HTTPS.
-The problem was eventually resolved when he discovered the HTTPS server
-did not return a HTTP code 401 Authorization Required. The solution was
-to set the following URI option:
-`httpClient.authenticationPreemptive=true`
-
-==== Accepting self signed certificates from remote server
-
-See this
-http://www.nabble.com/Using-HTTPS-in-camel-http-when-remote-side-has-self-signed-cert-td25916878.html[link]
-from a mailing list discussion with some code to outline how to do this
-with the Apache Commons HTTP API.
-
-==== Setting up SSL for HTTP Client
+=== Setting up SSL for HTTP Client
 
 [[HTTP-UsingtheJSSEConfigurationUtility]]
 Using the JSSE Configuration Utility
 
-As of Camel 2.8, the HTTP4 component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The HTTP component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
-to use the utility with the HTTP4 component.
-
-The version of the Apache HTTP client used in this component resolves
-SSL/TLS information from a global "protocol" registry.  This component
-provides an implementation,
-`org.apache.camel.component.http.SSLContextParametersSecureProtocolSocketFactory`,
-of the HTTP client's protocol socket factory in order to support the use
-of the Camel JSSE Configuration utility.  The following example
-demonstrates how to configure the protocol registry and use the
-registered protocol information in a route.
+endpoint and component levels.  The following examples demonstrate how
+to use the utility with the HTTP component.
+
+[[HTTP-Programmaticconfigurationofthecomponent]]
+Programmatic configuration of the component
 
 [source,java]
-----
+---------------------------------------------------------------------------------------
 KeyStoreParameters ksp = new KeyStoreParameters();
 ksp.setResource("/users/home/server/keystore.jks");
 ksp.setPassword("keystorePassword");
@@ -509,24 +534,40 @@ kmp.setKeyPassword("keyPassword");
 SSLContextParameters scp = new SSLContextParameters();
 scp.setKeyManagers(kmp);
 
-ProtocolSocketFactory factory =
-    new SSLContextParametersSecureProtocolSocketFactory(scp);
+HttpComponent httpComponent = getContext().getComponent("https4", HttpComponent.class);
+httpComponent.setSslContextParameters(scp);
+---------------------------------------------------------------------------------------
 
-Protocol.registerProtocol("https",
-        new Protocol(
-        "https",
-        factory,
-        443));
+[[HTTP-SpringDSLbasedconfigurationofendpoint]]
+Spring DSL based configuration of endpoint
 
-from("direct:start")
-        .to("https://mail.google.com/mail/").to("mock:results");
-----
+[source,xml]
+--------------------------------------------------------------------------------------
+...
+  <camel:sslContextParameters
+      id="sslContextParameters">
+    <camel:keyManagers
+        keyPassword="keyPassword">
+      <camel:keyStore
+          resource="/users/home/server/keystore.jks"
+          password="keystorePassword"/>
+    </camel:keyManagers>
+  </camel:sslContextParameters>...
+...
+  <to uri="https4://127.0.0.1/mail/?sslContextParameters=#sslContextParameters"/>...
+--------------------------------------------------------------------------------------
 
 [[HTTP-ConfiguringApacheHTTPClientDirectly]]
 Configuring Apache HTTP Client Directly
 
-Basically camel-http component is built on the top of Apache HTTP
-client, and you can implement a custom
+Basically camel-http component is built on the top of
+http://hc.apache.org/httpcomponents-client-ga/[Apache HttpClient].
+Please refer to
+http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.html#d4e537[SSL/TLS
+customization] for details or have a look into the
+`org.apache.camel.component.http.HttpsServerTestSupport` unit test base
+class. +
+ You can also implement a custom
 `org.apache.camel.component.http.HttpClientConfigurer` to do some
 configuration on the http client if you need full control of it.
 
@@ -534,13 +575,13 @@ However if you _just_ want to specify the keystore and truststore you
 can do this with Apache HTTP `HttpClientConfigurer`, for example:
 
 [source,java]
-----
-Protocol authhttps = new Protocol("https", new AuthSSLProtocolSocketFactory(
-  new URL("file:my.keystore"), "mypassword",
-  new URL("file:my.truststore"), "mypassword"), 443);
+------------------------------------------------------------------------------------------------------
+KeyStore keystore = ...;
+KeyStore truststore = ...;
 
-Protocol.registerProtocol("https", authhttps);
-----
+SchemeRegistry registry = new SchemeRegistry();
+registry.register(new Scheme("https", 443, new SSLSocketFactory(keystore, "mypassword", truststore)));
+------------------------------------------------------------------------------------------------------
 
 And then you need to create a class that implements
 `HttpClientConfigurer`, and registers https protocol providing a
@@ -548,31 +589,91 @@ keystore or truststore per example above. Then, from your camel route
 builder class you can hook it up like so:
 
 [source,java]
-----
+--------------------------------------------------------------------------------------
 HttpComponent httpComponent = getContext().getComponent("http", HttpComponent.class);
 httpComponent.setHttpClientConfigurer(new MyHttpClientConfigurer());
-----
+--------------------------------------------------------------------------------------
 
 If you are doing this using the Spring DSL, you can specify your
 `HttpClientConfigurer` using the URI. For example:
 
-[source,java]
-----
+[source,xml]
+-----------------------------------------------------------------------------------------
 <bean id="myHttpClientConfigurer"
  class="my.https.HttpClientConfigurer">
 </bean>
 
-<to uri="https://myhostname.com:443/myURL?httpClientConfigurerRef=myHttpClientConfigurer"/>
-----
+<to uri="https4://myhostname.com:443/myURL?httpClientConfigurer=myHttpClientConfigurer"/>
+-----------------------------------------------------------------------------------------
 
 As long as you implement the HttpClientConfigurer and configure your
 keystore and truststore as described above, it will work fine.
 
-=== See Also
+[[HTTP-UsingHTTPStoauthenticategotchas]]
+Using HTTPS to authenticate gotchas
+
+An end user reported that he had problem with authenticating with HTTPS.
+The problem was eventually resolved by providing a custom configured
+`org.apache.http.protocol.HttpContext`:
+
+* 1. Create a (Spring) factory for HttpContexts:
+
+[source,java]
+------------------------------------------------------------------
+public class HttpContextFactory {
+
+  private String httpHost = "localhost";
+  private String httpPort = 9001;
+
+  private BasicHttpContext httpContext = new BasicHttpContext();
+  private BasicAuthCache authCache = new BasicAuthCache();
+  private BasicScheme basicAuth = new BasicScheme();
 
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
+  public HttpContext getObject() {
+    authCache.put(new HttpHost(httpHost, httpPort), basicAuth);
 
-* <<jetty-component,Jetty>>
+    httpContext.setAttribute(ClientContext.AUTH_CACHE, authCache);
+
+    return httpContext;
+  }
+
+  // getter and setter
+}
+------------------------------------------------------------------
+
+* 2. Declare an HttpContext in the Spring application context file:
+
+[source,xml]
+---------------------------------------------------------------------------------------
+<bean id="myHttpContext" factory-bean="httpContextFactory" factory-method="getObject"/>
+---------------------------------------------------------------------------------------
+
+* 3. Reference the context in the http URL:
+
+[source,xml]
+-----------------------------------------------------------------------
+<to uri="https4://myhostname.com:443/myURL?httpContext=myHttpContext"/>
+-----------------------------------------------------------------------
+
+[[HTTP-UsingdifferentSSLContextParameters]]
+Using different SSLContextParameters
+
+The xref:http-component.adoc[HTTP] component only support one instance of
+`org.apache.camel.support.jsse.SSLContextParameters` per component. If you
+need to use 2 or more different instances, then you need to setup
+multiple xref:http-component.adoc[HTTP] components as shown below. Where we have
+2 components, each using their own instance of `sslContextParameters`
+property.
+
+[source,xml]
+----------------------------------------------------------------------------
+<bean id="http-foo" class="org.apache.camel.component.http.HttpComponent">
+   <property name="sslContextParameters" ref="sslContextParams1"/>
+   <property name="x509HostnameVerifier" ref="hostnameVerifier"/>
+</bean>
+
+<bean id="http-bar" class="org.apache.camel.component.http.HttpComponent">
+   <property name="sslContextParameters" ref="sslContextParams2"/>
+   <property name="x509HostnameVerifier" ref="hostnameVerifier"/>
+</bean>
+----------------------------------------------------------------------------
diff --git a/components/camel-irc/src/main/docs/irc-component.adoc b/components/camel-irc/src/main/docs/irc-component.adoc
index 611209a..487a1aa 100644
--- a/components/camel-irc/src/main/docs/irc-component.adoc
+++ b/components/camel-irc/src/main/docs/irc-component.adoc
@@ -1,9 +1,9 @@
-[[irc-component]]
-== IRC Component
+= IRC Component
 
 *Available as of Camel version 1.1*
 
-The *irc* component implements an
+
+The IRC component implements an
 http://en.wikipedia.org/wiki/Internet_Relay_Chat[IRC] (Internet Relay
 Chat) transport.
 
@@ -20,7 +20,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------------------------
@@ -31,7 +31,7 @@ irc:nick@host[:port]?channels=#channel1,#channel2,#channel3[?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 // component options: START
@@ -129,15 +129,15 @@ The component supports 3 options, which are listed below.
 
 
 
-### SSL Support
+== SSL Support
 
-#### Using the JSSE Configuration Utility
+=== Using the JSSE Configuration Utility
 
-As of Camel 2.9, the IRC component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The IRC component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
+endpoint and component levels.  The following examples demonstrate how
 to use the utility with the IRC component.
 
 [[IRC-Programmaticconfigurationoftheendpoint]]
@@ -182,7 +182,7 @@ Spring DSL based configuration of endpoint
   <to uri="ircs://camel-prd-user@server:6669/#camel-test?nickname=camel-prd&password=password&sslContextParameters=#sslContextParameters"/>...
 ----------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Using the legacy basic configuration options
+=== Using the legacy basic configuration options
 
 You can also connect to an SSL enabled IRC server, as follows:
 
@@ -201,7 +201,7 @@ If you need to provide your own custom trust manager, use the
 ircs:host[:port]/#room?username=user&password=pass&trustManager=#referenceToMyTrustManagerBean
 ----------------------------------------------------------------------------------------------
 
-### Using keys
+== Using keys
 
 *Available as of Camel 2.2*
 
@@ -215,7 +215,7 @@ For example we join 3 channels where as only channel 1 and 3 uses a key.
 irc:nick@irc.server.org?channels=#chan1,#chan2,#chan3&keys=chan1Key,,chan3key
 -----------------------------------------------------------------------------
 
-### Getting a list of users of the channel
+== Getting a list of users of the channel
 
 Using the `namesOnJoin` option one can invoke the IRC-`NAMES` command after the component has joined a channel. 
 The server will reply with `irc.num = 353`. So in order to process the result the property `onReply` has to be `true`.
@@ -231,10 +231,3 @@ from("ircs:nick@myserver:1234/#mychannelname?namesOnJoin=true&onReply=true")
 			.filter(header("irc.num").isEqualTo("353"))
 			.to("mock:result").stop();
 -----------------------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-jasypt/src/main/docs/jasypt.adoc b/components/camel-jasypt/src/main/docs/jasypt.adoc
index df07c12..4c63f2a 100644
--- a/components/camel-jasypt/src/main/docs/jasypt.adoc
+++ b/components/camel-jasypt/src/main/docs/jasypt.adoc
@@ -1,10 +1,10 @@
-## Jasypt component
+= Jasypt component
 
 *Available as of Camel 2.5*
 
 http://www.jasypt.org/[Jasypt] is a simplified encryption library which
 makes encryption and decryption easy. Camel integrates with Jasypt to
-allow sensitive information in <<properties-component,Properties>> files to
+allow sensitive information in Properties files to
 be encrypted. By dropping *`camel-jasypt`* on the classpath those
 encrypted values will automatically be decrypted on-the-fly by Camel.
 This ensures that human eyes can't easily spot sensitive information
@@ -37,7 +37,7 @@ for this component:
 ------------------------------------------------------------
 
 
-### Tooling
+== Tooling
 
 The Jasypt component provides a little command line
 tooling to encrypt or decrypt values.
@@ -97,13 +97,13 @@ Decrypted text: tiger
 ---------------------
 
 The idea is then to use those encrypted values in your
-<<properties-component,Properties>> files. Notice how the password value is
+Properties files. Notice how the password value is
 encrypted and the value has the tokens surrounding `ENC(value here)`
 
-TIP: When running jasypt tooling, if you come across `java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/StandardPBEStringEncryptor` this means you have to include jasypt{version}.jar in your classpath. Example of adding jar to classpath may be copying jasypt{version}.jar to $JAVA_HOME\jre\lib\ext if you are going to run as `java -jar ...`. The latter may be adding jasypt{version}.jar to classpath using `-cp`, in that case you should provide main class to execute as eg: `java -cp  [...]
+TIP: When running jasypt tooling, if you come across `java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/StandardPBEStringEncryptor` this means you have to include jasypt\{version\}.jar in your classpath. Example of adding jar to classpath may be copying jasypt\{version\}.jar to $JAVA_HOME\jre\lib\ext if you are going to run as `java -jar ...`. The latter may be adding jasypt\{version\}.jar to classpath using `-cp`, in that case you should provide main class to execute as eg: `jav [...]
 
 
-### URI Options
+== URI Options
 
 The options below are exclusive for the Jasypt
 component.
@@ -119,7 +119,7 @@ mandatory. See below for more details.
 |=======================================================================
 
 
-### Protecting the master password
+== Protecting the master password
 
 The master password used by Jasypt must be provided,
 so that it's capable of decrypting the values. However having this
@@ -150,20 +150,20 @@ $ unset CAMEL_ENCRYPTION_PASSWORD
 The `password` option is then a matter of defining as follows:
 `password=sysenv:CAMEL_ENCRYPTION_PASSWORD`.
 
-### Example with Java DSL
+== Example with Java DSL
 
 In Java DSL you need to configure Jasypt as a
 `JasyptPropertiesParser` instance and set it on the
-<<properties-component,Properties>> component as show below:
+Properties component as show below:
 
 The properties file `myproperties.properties` then contain the encrypted
 value, such as shown below. Notice how the password value is encrypted
 and the value has the tokens surrounding `ENC(value here)`
 
-### Example with Spring XML
+== Example with Spring XML
 
 In Spring XML you need to configure the `JasyptPropertiesParser` which
-is shown below. Then the Camel <<properties-component,Properties>>
+is shown below. Then the Camel Properties
 component is told to use `jasypt` as the properties parser, which means
 Jasypt has its chance to decrypt values looked up in
 the properties.
@@ -184,7 +184,7 @@ the properties.
 </bean>
 -----------------------------------------------------------------------------------------------------------
 
-The <<properties-component,Properties>> component can also be inlined
+The Properties component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer to
 Jasypt.
@@ -210,13 +210,13 @@ Jasypt.
 </camelContext>
 --------------------------------------------------------------------------------------------------------------
 
-### Example with Blueprint XML
+== Example with Blueprint XML
 
 In Blueprint XML you need to configure
-the `JasyptPropertiesParser` which is shown below. Then the
-Camel <<properties-component,Properties>> component is told to
-use `jasypt` as the properties parser, which
-means Jasypt has its chance to decrypt values looked
+the `JasyptPropertiesParser` which is shown below. Then the
+Camel Properties component is told to
+use `jasypt` as the properties parser, which
+means Jasypt has its chance to decrypt values looked
 up in the properties.
 
 [source,xml]
@@ -254,10 +254,10 @@ up in the properties.
 </blueprint>
 ----------------------------------------------------------------------------------------------------------------
 
-The <<properties-component,Properties>> component can also be inlined
-inside the `<camelContext>` tag which is shown below. Notice how we use
-the `propertiesParserRef` attribute to refer
-to Jasypt.
+The Properties component can also be inlined
+inside the `<camelContext>` tag which is shown below. Notice how we use
+the `propertiesParserRef` attribute to refer
+to Jasypt.
 
 [source,xml]
 ----------------------------------------------------------------------------------------------------------------
@@ -286,10 +286,3 @@ to Jasypt.
 </blueprint>
 ----------------------------------------------------------------------------------------------------------------
 
-### See Also
-
-* Security
-* <<properties-component,Properties>>
-* http://activemq.apache.org/encrypted-passwords.html[Encrypted
-passwords in ActiveMQ] - ActiveMQ has a similar feature as this
-`camel-jasypt` component
diff --git a/components/camel-jdbc/src/main/docs/jdbc-component.adoc b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
index 1fd4859..d264a03 100644
--- a/components/camel-jdbc/src/main/docs/jdbc-component.adoc
+++ b/components/camel-jdbc/src/main/docs/jdbc-component.adoc
@@ -1,12 +1,12 @@
-[[jdbc-component]]
-== JDBC Component
+= JDBC Component
 
 *Available as of Camel version 1.2*
 
-The *jdbc* component enables you to access databases through JDBC, where
+
+The JDBC component enables you to access databases through JDBC, where
 SQL queries (SELECT) and operations (INSERT, UPDATE, etc) are sent in
 the message body. This component uses the standard JDBC API, unlike the
-<<sql-component,SQL Component>> component, which uses
+xref:sql-component.adoc[SQL Component] component, which uses
 spring-jdbc.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -25,7 +25,7 @@ for this component:
 This component can only be used to define producer endpoints, which
 means that you cannot use the JDBC component in a `from()` statement.
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -37,7 +37,7 @@ This component only supports producer endpoints.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 // component options: START
 The JDBC component supports 2 options, which are listed below.
@@ -115,7 +115,7 @@ The component supports 3 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-=== Result
+== Result
 
 By default the result is returned in the OUT body as an
 `ArrayList<HashMap<String, Object>>`. The `List` object contains the
@@ -126,7 +126,7 @@ the result.
 *Note:* This component fetches `ResultSetMetaData` to be able to return
 the column name as the key in the `Map`.
 
-==== Message Headers
+=== Message Headers
 
 [width="100%",cols="10%,90%",options="header",]
 |===
@@ -138,24 +138,24 @@ header.
 |`CamelJdbcUpdateCount` |If the query is an `UPDATE`, query the update count is returned in this
 OUT header.
 
-|`CamelGeneratedKeysRows` |*Camel 2.10:* Rows that contains the generated kets.
+|`CamelGeneratedKeysRows` |Rows that contains the generated keys.
 
-|`CamelGeneratedKeysRowCount` |*Camel 2.10:* The number of rows in the header that contains generated
+|`CamelGeneratedKeysRowCount` |The number of rows in the header that contains generated
 keys.
 
-|`CamelJdbcColumnNames` |*Camel 2.11.1:* The column names from the ResultSet as a `java.util.Set`
+|`CamelJdbcColumnNames` |The column names from the ResultSet as a `java.util.Set`
 type.
 
-|`CamelJdbcParametes` |*Camel 2.12:* A `java.util.Map` which has the headers to be used if
+|`CamelJdbcParametes` |A `java.util.Map` which has the headers to be used if
 `useHeadersAsParameters` has been enabled.
 |===
 
-=== Generated keys
+== Generated keys
 
 *Available as of Camel 2.10*
 
 If you insert data using SQL INSERT, then the RDBMS may support auto
-generated keys. You can instruct the <<jdbc-component,JDBC>> producer to
+generated keys. You can instruct the xref:jdbc-component.adoc[JDBC] producer to
 return the generated keys in headers. +
  To do that set the header `CamelRetrieveGeneratedKeys=true`. Then the
 generated keys will be provided as headers with the keys listed in the
@@ -167,7 +167,7 @@ test].
 
 Using generated keys does not work with together with named parameters.
 
-=== Using named parameters
+== Using named parameters
 
 *Available as of Camel 2.12*
 
@@ -175,7 +175,7 @@ In the given route below, we want to get all the projects from the
 projects table. Notice the SQL query has 2 named parameters, :?lic and
 :?min. +
  Camel will then lookup these parameters from the message headers.
-Notice in the example above we set two headers with constant value +
+Notice in the example above we set two headers with constant value
  for the named parameters:
 
 [source,java]
@@ -190,7 +190,7 @@ Notice in the example above we set two headers with constant value +
 You can also store the header values in a `java.util.Map` and store the
 map on the headers with the key `CamelJdbcParameters`.
 
-=== Samples
+== Samples
 
 In the following example, we fetch the rows from the customer table.
 
@@ -222,11 +222,11 @@ from("direct:hello")
   .to("mock:result");
 ----
 
-=== Sample - Polling the database every minute
+== Sample - Polling the database every minute
 
 If we want to poll a database using the JDBC component, we need to
-combine it with a polling scheduler such as the <<timer-component,Timer>>
-or <<quartz-component,Quartz>> etc. In the following example, we retrieve
+combine it with a polling scheduler such as the Timer
+or xref:quartz-component.adoc[Quartz] etc. In the following example, we retrieve
 data from the database every 60 seconds:
 
 [source,java]
@@ -237,7 +237,7 @@ from("timer://foo?period=60000")
   .to("activemq:queue:customers");
 ----
 
-=== Sample - Move Data Between Data Sources
+== Sample - Move Data Between Data Sources
 
 A common use case is to query for data, process it and move it to
 another data source (ETL operations). In the following example, we
@@ -254,4 +254,3 @@ from("timer://MoveNewCustomersEveryHour?period=3600000")
         .setBody(simple("insert into processed_customer values('${body[ID]}','${body[NAME]}')"))
         .to("jdbc:testdb");
 ----
-
diff --git a/components/camel-jgroups/src/main/docs/jgroups-component.adoc b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
index b935ed9..784020d 100644
--- a/components/camel-jgroups/src/main/docs/jgroups-component.adoc
+++ b/components/camel-jgroups/src/main/docs/jgroups-component.adoc
@@ -1,8 +1,8 @@
-[[jgroups-component]]
-== JGroups Component
+= JGroups Component
 
 *Available as of Camel version 2.13*
 
+
 http://www.jgroups.org[JGroups] is a toolkit for reliable multicast
 communication. The *jgroups:* component provides exchange of messages
 between Camel infrastructure and http://jgroups.org[JGroups] clusters.
@@ -13,28 +13,14 @@ for this component.
 [source,xml]
 ------------------------------------------------------------
 <dependency>
-    <groupId>org.apache-extras.camel-extra</groupId>
-    <artifactId>camel-jgroups</artifactId>
-    <!-- use the same version as your Camel core version -->
-    <version>x.y.z</version>
-</dependency>
-------------------------------------------------------------
-
-Starting from the Camel *2.13.0*, JGroups component has been moved from
-Camel Extra under the umbrella of the Apache Camel. If you are using
-Camel *2.13.0* or higher, please use the following POM entry instead.
-
-[source,xml]
-------------------------------------------------------------
-<dependency>
     <groupId>org.apache.camel</groupId>
     <artifactId>camel-jgroups</artifactId>
     <!-- use the same version as your Camel core version -->
-    <version>x.y.z</version>
+    <version>x.y.z</version>
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 -----------------------------
@@ -44,7 +30,7 @@ jgroups:clusterName[?options]
 Where *clusterName* represents the name of the JGroups cluster the
 component should connect to.
 
-### Options
+== Options
 
 
 
@@ -128,28 +114,28 @@ The component supports 9 options, which are listed below.
 
 
 
-### Headers
+== Headers
 
-[width="100%",cols="10%,10%,10%,70%",options="header",]
+[width="100%",cols="10%,10%,70%",options="header",]
 |=======================================================================
-|Header |Constant |Since version |Description
+|Header |Constant |Description
 
-|`JGROUPS_ORIGINAL_MESSAGE` |`JGroupsEndpoint.HEADER_JGROUPS_ORIGINAL_MESSAGE` |*2.13.0* |The original `org.jgroups.Message` instance from which the body of the
+|`JGROUPS_ORIGINAL_MESSAGE` |`JGroupsEndpoint.HEADER_JGROUPS_ORIGINAL_MESSAGE` |The original `org.jgroups.Message` instance from which the body of the
 consumed message has been extracted.
 
-|`JGROUPS_SRC` |`JGroupsEndpoint.`HEADER_JGROUPS_SRC |*2.10.0* | *Consumer* : The `org.jgroups.Address` instance extracted by
+|`JGROUPS_SRC` |`JGroupsEndpoint.`HEADER_JGROUPS_SRC |*Consumer* : The `org.jgroups.Address` instance extracted by
 `org.jgroups.Message`.getSrc() method of the consumed message. 
 *Producer*: The custom source `org.jgroups.Address` of the message to be sent.
 
-|`JGROUPS_DEST` |`JGroupsEndpoint.`HEADER_JGROUPS_DEST |*2.10.0* |*Consumer*: The `org.jgroups.Address` instance extracted by
+|`JGROUPS_DEST` |`JGroupsEndpoint.`HEADER_JGROUPS_DEST |*Consumer*: The `org.jgroups.Address` instance extracted by
 `org.jgroups.Message`.getDest() method of the consumed message.
 *Producer*: The custom destination `org.jgroups.Address` of the message to be sent.
 
-|`JGROUPS_CHANNEL_ADDRESS` |`JGroupsEndpoint.`HEADER_JGROUPS_CHANNEL_ADDRESS |*2.13.0* |Address (`org.jgroups.Address`) of the channel associated with the
+|`JGROUPS_CHANNEL_ADDRESS` |`JGroupsEndpoint.`HEADER_JGROUPS_CHANNEL_ADDRESS |Address (`org.jgroups.Address`) of the channel associated with the
 endpoint.
 |=======================================================================
- 
-### Usage
+ 
+== Usage
 
 Using `jgroups` component on the consumer side of the route will capture
 messages received by the `JChannel` associated with the endpoint and
@@ -174,10 +160,9 @@ endpoint.
 from("direct:start").to("jgroups:clusterName");
 --------------------------------------------------
 
-### Predefined filters
+== Predefined filters
 
-Starting from version *2.13.0* of Camel, JGroups component comes with
-predefined filters factory class named `JGroupsFilters.`
+JGroups component comes with predefined filters factory class named `JGroupsFilters.`
 
 If you would like to consume only view changes notifications sent to
 coordinator of the cluster (and ignore these sent to the "slave" nodes),
@@ -197,10 +182,9 @@ from("jgroups:clusterName?enableViewMessages=true").
   to("seda:masterNodeEventsQueue");
 ----------------------------------------------------------------------------------------
 
-### Predefined expressions
+== Predefined expressions
 
-Starting from version *2.13.0* of Camel, JGroups component comes with
-predefined expressions factory class named `JGroupsExpressions.`
+JGroups component comes with predefined expressions factory class named `JGroupsExpressions.`
 
 If you would like to create delayer that would affect
 the route only if the Camel context has not been started yet, use the
@@ -209,7 +193,7 @@ method. The expression created by this factory method will return given
 delay value only if the Camel context is in the state different than
 `started`. This expression is particularly useful if you would like to
 use JGroups component for keeping singleton (master) route within the
-cluster. <<controlbus-component,Control Bus>> `start` command
+cluster. Control Bus `start` command
 won't initialize the singleton route if the Camel Context hasn't been
 yet started. So you need to delay a startup of the master route, to be
 sure that it has been initialized after the Camel Context startup.
@@ -230,14 +214,14 @@ import static org.apache.camel.component.jgroups.JGroupsFilters.dropNonCoordinat
 from("jgroups:clusterName?enableViewMessages=true").
   filter(dropNonCoordinatorViews()).
   threads().delay(delayIfContextNotStarted(SECONDS.toMillis(5))). // run in separated and delayed thread. Delay only if the context hasn't been started already. 
-  to("controlbus:route?routeId=masterRoute&action=start&async=true");
+  to("controlbus:route?routeId=masterRoute&action=start&async=true");
 
-from("timer://master?repeatCount=1").routeId("masterRoute").autoStartup(false).to(masterMockUri); 
+from("timer://master?repeatCount=1").routeId("masterRoute").autoStartup(false).to(masterMockUri); 
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Examples
+== Examples
 
-#### Sending (receiving) messages to (from) the JGroups cluster
+=== Sending (receiving) messages to (from) the JGroups cluster
 
 In order to send message to the JGroups cluster use producer endpoint,
 just as demonstrated on the snippet below.
@@ -263,10 +247,10 @@ from("jgroups:myCluster").to("mock:messagesFromTheCluster");
 mockEndpoint.assertIsSatisfied();
 ------------------------------------------------------------
 
-#### Receive cluster view change notifications
+=== Receive cluster view change notifications
 
 The snippet below demonstrates how to create the consumer endpoint
-listening to the notifications regarding cluster membership changes. By
+listening to the notifications regarding cluster membership changes. By
 default only regular messages are consumed by the endpoint.
 
 [source,java]
@@ -279,12 +263,12 @@ from("jgroups:clusterName?enableViewMessages=true").to(mockEndpoint);
 mockEndpoint.assertIsSatisfied();
 ---------------------------------------------------------------------
 
-#### Keeping singleton route within the cluster
+=== Keeping singleton route within the cluster
 
 The snippet below demonstrates how to keep the singleton consumer route
 in the cluster of Camel Contexts. As soon as the master node dies, one
 of the slaves will be elected as a new master and started. In this
-particular example we want to keep singleton <<jetty-component,jetty>>
+particular example we want to keep singleton xref:jetty-component.adoc[jetty]
 instance listening for the requests on
 address` http://localhost:8080/orders`.
 
@@ -295,5 +279,5 @@ service.setId("uniqueNodeId");
 ...
 context.addService(service);
 
-from("master:mycluster:jetty:http://localhost:8080/orders").to("jms:orders"); 
+from("master:mycluster:jetty:http://localhost:8080/orders").to("jms:orders"); 
 -----------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/components/camel-jms/src/main/docs/jms-component.adoc b/components/camel-jms/src/main/docs/jms-component.adoc
index e401d33..42063a9 100644
--- a/components/camel-jms/src/main/docs/jms-component.adoc
+++ b/components/camel-jms/src/main/docs/jms-component.adoc
@@ -1,7 +1,8 @@
-[[jms-component]]
-== JMS Component
+= JMS Component
 ifdef::env-github[]
 *Available as of Camel version 1.0.0*
+*Available as of Camel version 1.0*
+
 
 :caution-caption: :boom:
 :important-caption: :exclamation:
@@ -15,7 +16,7 @@ ifndef::env-github[]
 endif::[]
 
 
-### JMS Component
+== JMS Component
 
 [TIP]
 ====
@@ -33,7 +34,7 @@ component.
 *Transacted and caching*
 
 See section _Transactions and Cache Levels_ below if you are using
-transactions with <<jms-component,JMS>> as it can impact performance.
+transactions with xref:jms-component.adoc[JMS] as it can impact performance.
 ====
 
 [NOTE]
@@ -46,7 +47,7 @@ number of options to configure for performance, and clustered
 environments.
 ====
 
-This component allows messages to be sent to (or consumed from) a
+This component allows messages to be sent to (or consumed from) a
 http://java.sun.com/products/jms/[JMS] Queue or Topic. It uses Spring's
 JMS support for declarative transactions, including Spring's
 `JmsTemplate` for sending and a `MessageListenerContainer` for
@@ -65,7 +66,7 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 --------------------------------------------
 jms:[queue:|topic:]destinationName[?options]
@@ -96,9 +97,9 @@ jms:topic:Stocks.Prices
 You append query options to the URI by using the following format,
 `?option=value&option=value&...`
 
-### Notes
+== Notes
 
-#### Using ActiveMQ
+=== Using ActiveMQ
 
 The JMS component reuses Spring 2's `JmsTemplate` for sending messages.
 This is not ideal for use in a non-J2EE container and typically requires
@@ -113,7 +114,7 @@ following:
 optimized to use ActiveMQ efficiently
 * Use the `PoolingConnectionFactory` in ActiveMQ.
 
-#### Transactions and Cache Levels
+=== Transactions and Cache Levels
 
 If you are consuming messages and using transactions
 (`transacted=true`) then the default settings for cache level can impact
@@ -125,11 +126,7 @@ the XA transaction to not work properly.
 If you are *not* using XA, then you should consider caching as it speeds
 up performance, such as setting `cacheLevelName=CACHE_CONSUMER`.
 
-Through Camel 2.7.x, the default setting for `cacheLevelName` is
-`CACHE_CONSUMER`. You will need to explicitly set
-`cacheLevelName=CACHE_NONE`.
-
-In Camel 2.8 onwards, the default setting for `cacheLevelName` is
+The default setting for `cacheLevelName` is
 `CACHE_AUTO`. This default auto detects the mode and sets the cache
 level accordingly to:
 
@@ -139,7 +136,7 @@ level accordingly to:
 So you can say the default setting is conservative. Consider using
 `cacheLevelName=CACHE_CONSUMER` if you are using non-XA transactions.
 
-#### Durable Subscriptions
+=== Durable Subscriptions
 
 If you wish to use durable topic subscriptions, you need to specify both
 `clientId` and `durableSubscriptionName`. The value of the `clientId`
@@ -149,7 +146,7 @@ http://activemq.apache.org/virtual-destinations.html[Virtual Topics]
 instead to avoid this limitation. More background on durable messaging
 http://activemq.apache.org/how-do-durable-queues-and-topics-work.html[here].
 
-#### Message Header Mapping
+=== Message Header Mapping
 
 When using message headers, the JMS specification states that header
 names must be valid Java identifiers. So try to name your headers to be
@@ -172,7 +169,7 @@ Camel consume the message
 * Hyphen is replaced by `_HYPHEN_` and the replacement is reversed when
 Camel consumes the message
 
-### Options
+== Options
 
 You can configure many different properties on the JMS endpoint, which
 map to properties on the `JMSConfiguration` object. 
@@ -186,7 +183,7 @@ uses for sending and receiving messages. So you can get more information
 about these properties by consulting the relevant Spring documentation.
 ====
 
-#### Component options
+=== Component options
 
 
 
@@ -293,7 +290,7 @@ The JMS component supports 80 options, which are listed below.
 
 
 
-#### Endpoint options
+=== Endpoint options
 
 
 
@@ -611,12 +608,12 @@ The component supports 172 options, which are listed below.
 
 
 
-### Samples
+== Samples
 
 JMS is used in many examples for other components as well. But we
 provide a few samples below to get started.
 
-#### Receiving from JMS
+=== Receiving from JMS
 
 In the following sample we configure a route that receives JMS messages
 and routes the message to a POJO:
@@ -638,7 +635,7 @@ from("jms:topic:OrdersTopic").
   to("jms:queue:BigSpendersQueue");
 ----------------------------------------------
 
-#### Sending to JMS
+=== Sending to JMS
 
 In the sample below we poll a file folder and send the file content to a
 JMS topic. As we want the content of the file as a `TextMessage` instead
@@ -651,12 +648,12 @@ from("file://orders").
   to("jms:topic:OrdersTopic");
 ------------------------------
 
-#### Using Annotations
+=== Using Annotations
 
-Camel also has annotations so you can use link:pojo-consuming.html[POJO
+Camel also has annotations so you can use xref:latest@manual::pojo-consuming.adoc[POJO
 Consuming] and POJO Producing.
 
-#### Spring DSL sample
+=== Spring DSL sample
 
 The preceding examples use the Java DSL. Camel also supports Spring XML
 DSL. Here is the big spender sample using Spring DSL:
@@ -666,29 +663,29 @@ DSL. Here is the big spender sample using Spring DSL:
 <route>
   <from uri="jms:topic:OrdersTopic"/>
   <filter>
-    <method bean="myBean" method="isGoldCustomer"/>
+    <method ref="myBean" method="isGoldCustomer"/>
     <to uri="jms:queue:BigSpendersQueue"/>
   </filter>
 </route>
 ---------------------------------------------------
 
-#### Other samples
+=== Other samples
 
 JMS appears in many of the examples for other components and EIP
 patterns, as well in this Camel documentation. So feel free to browse
 the documentation. 
 
-#### Using JMS as a Dead Letter Queue storing Exchange
+=== Using JMS as a Dead Letter Queue storing Exchange
 
-Normally, when using <<jms-component,JMS>> as the transport, it only
+Normally, when using xref:jms-component.adoc[JMS] as the transport, it only
 transfers the body and headers as the payload. If you want to use
-<<jms-component,JMS>> with a link:dead-letter-channel.html[Dead Letter
+xref:jms-component.adoc[JMS] with a xref:latest@manual::dead-letter-channel.adoc[Dead Letter
 Channel], using a JMS queue as the Dead Letter Queue, then normally the
 caused Exception is not stored in the JMS message. You can, however, use
 the `transferExchange` option on the JMS dead letter queue to instruct
 Camel to store the entire Exchange in the queue as a
 `javax.jms.ObjectMessage` that holds a
-`org.apache.camel.impl.DefaultExchangeHolder`. This allows you to
+`org.apache.camel.support.DefaultExchangeHolder`. This allows you to
 consume from the Dead Letter Queue and retrieve the caused exception
 from the Exchange property with the key `Exchange.EXCEPTION_CAUGHT`. The
 demo below illustrates this:
@@ -712,13 +709,13 @@ Exception cause = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.clas
 String problem = cause.getMessage();
 -----------------------------------------------------------------------------------
 
-#### Using JMS as a Dead Letter Channel storing error only
+=== Using JMS as a Dead Letter Channel storing error only
 
 You can use JMS to store the cause error message or to store a custom
 body, which you can initialize yourself. The following example uses the
 Message Translator EIP to do a
 transformation on the failed exchange before it is moved to the
-<<jms-component,JMS>> dead letter queue:
+xref:jms-component.adoc[JMS] dead letter queue:
 
 [source,java]
 --------------------------------------------------------------------------------------------------
@@ -740,7 +737,7 @@ a custom processor.
 
 
 
-### Message Mapping between JMS and Camel
+== Message Mapping between JMS and Camel
 
 Camel automatically maps messages between `javax.jms.Message` and
 `org.apache.camel.Message`.
@@ -751,24 +748,24 @@ following JMS message types:
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
 |Body Type |JMS Message |Comment
-|`String` |`javax.jms.TextMessage` | 
+|`String` |`javax.jms.TextMessage` | 
 
 |`org.w3c.dom.Node` |`javax.jms.TextMessage` |The DOM will be converted
 to `String`.
 
-|`Map` |`javax.jms.MapMessage` | 
+|`Map` |`javax.jms.MapMessage` | 
 
-|`java.io.Serializable` |`javax.jms.ObjectMessage` | 
+|`java.io.Serializable` |`javax.jms.ObjectMessage` | 
 
-|`byte[]` |`javax.jms.BytesMessage` | 
+|`byte[]` |`javax.jms.BytesMessage` | 
 
-|`java.io.File` |`javax.jms.BytesMessage` | 
+|`java.io.File` |`javax.jms.BytesMessage` | 
 
-|`java.io.Reader` |`javax.jms.BytesMessage` | 
+|`java.io.Reader` |`javax.jms.BytesMessage` | 
 
-|`java.io.InputStream` |`javax.jms.BytesMessage` | 
+|`java.io.InputStream` |`javax.jms.BytesMessage` | 
 
-|`java.nio.ByteBuffer` |`javax.jms.BytesMessage` | 
+|`java.nio.ByteBuffer` |`javax.jms.BytesMessage` | 
 |=======================================================================
 
 When receiving a JMS message, Camel converts the JMS message to the
@@ -783,7 +780,7 @@ following body type:
 |`javax.jms.ObjectMessage` |`Object`
 |=============================================
 
-#### Disabling auto-mapping of JMS messages
+=== Disabling auto-mapping of JMS messages
 
 You can use the `mapJmsMessage` option to disable the auto-mapping
 above. If disabled, Camel will not try to map the received JMS message,
@@ -792,7 +789,7 @@ the overhead of mapping and let Camel just pass through the JMS message.
 For instance, it even allows you to route `javax.jms.ObjectMessage` JMS
 messages with classes you do *not* have on the classpath.
 
-#### Using a custom MessageConverter
+=== Using a custom MessageConverter
 
 You can use the `messageConverter` option to do the mapping yourself in
 a Spring `org.springframework.jms.support.converter.MessageConverter`
@@ -809,7 +806,7 @@ from("file://inbox/order").to("jms:queue:order?messageConverter=#myMessageConver
 You can also use a custom message converter when consuming from a JMS
 destination.
 
-#### Controlling the mapping strategy selected
+=== Controlling the mapping strategy selected
 
 You can use the `jmsMessageType` option on the endpoint URL to force a
 specific message type for all messages.
@@ -834,7 +831,7 @@ from("file://inbox/order").setHeader("CamelJmsMessageType", JmsMessageType.Text)
 The possible values are defined in the `enum` class,
 `org.apache.camel.jms.JmsMessageType`.
 
-### Message format when sending
+== Message format when sending
 
 The exchange that is sent over the JMS wire must conform to the
 http://java.sun.com/j2ee/1.4/docs/api/javax/jms/Message.html[JMS Message
@@ -871,7 +868,7 @@ at *DEBUG* level if it drops a given header value. For example:
   - Ignoring non primitive header: order of class: org.apache.camel.component.jms.issues.DummyOrder with value: DummyOrder{orderId=333, itemId=4444, quantity=2}
 ----------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Message format when receiving
+== Message format when receiving
 
 Camel adds the following properties to the `Exchange` when it receives a
 message:
@@ -917,7 +914,7 @@ As all the above information is standard JMS you can check the
 http://java.sun.com/javaee/5/docs/api/javax/jms/Message.html[JMS
 documentation] for further details.
 
-### About using Camel to send and receive messages and JMSReplyTo
+== About using Camel to send and receive messages and JMSReplyTo
 
 The JMS component is complex and you have to pay close attention to how
 it works in some cases. So this is a short summary of some of the
@@ -935,7 +932,7 @@ endpoint: `disableReplyTo`, `preserveMessageQos`, `explicitQosEnabled`.
 All this can be a tad complex to understand and configure to support
 your use case.
 
-#### JmsProducer
+=== JmsProducer
 
 The `JmsProducer` behaves as follows, depending on configuration:
 
@@ -962,7 +959,7 @@ instruct Camel to keep the `JMSReplyTo`. In all situations the
 sending the message.
 |=======================================================================
 
-#### JmsConsumer
+=== JmsConsumer
 
 The `JmsConsumer` behaves as follows, depending on configuration:
 
@@ -992,7 +989,7 @@ from("activemq:queue:in")
    .to("bean:handleOrder");
 ------------------------------------------------------
 
-### Reuse endpoint and send to different destinations computed at runtime
+== Reuse endpoint and send to different destinations computed at runtime
 
 If you need to send messages to a lot of different JMS destinations, it
 makes sense to reuse a JMS endpoint and specify the real destination in
@@ -1042,11 +1039,11 @@ If both the `CamelJmsDestination` and the `CamelJmsDestinationName`
 headers are set, `CamelJmsDestination` takes priority. Keep in mind that
 the JMS producer removes both `CamelJmsDestination` and
 `CamelJmsDestinationName` headers from the exchange and do not propagate
-them to the created JMS message in order to avoid the accidental loops
+them to the created JMS message in order to avoid the accidental loops
 in the routes (in scenarios when the message will be forwarded to the
 another JMS endpoint).
 
-### Configuring different JMS providers
+== Configuring different JMS providers
 
 You can configure your JMS provider in Spring XML as
 follows:
@@ -1067,7 +1064,7 @@ spring context for the scheme name you use for
 Endpoint URIs and having the
 Component resolve the endpoint URIs.
 
-#### Using JNDI to find the ConnectionFactory
+=== Using JNDI to find the ConnectionFactory
 
 If you are using a J2EE container, you might need to look up JNDI to
 find the JMS `ConnectionFactory` rather than use the usual `<bean>`
@@ -1088,7 +1085,7 @@ http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html
 jee schema] in the Spring reference documentation for more details about
 JNDI lookup.
 
-### Concurrent Consuming
+== Concurrent Consuming
 
 A common requirement with JMS is to consume messages concurrently in
 multiple threads in order to make an application more responsive. You
@@ -1107,7 +1104,7 @@ You can configure this option in one of the following ways:
 * On the endpoint URI or,
 * By invoking `setConcurrentConsumers()` directly on the `JmsEndpoint`.
 
-#### Concurrent Consuming with async consumer
+=== Concurrent Consuming with async consumer
 
 Notice that each concurrent consumer will only pickup the next available
 message from the JMS broker, when the current message has been fully
@@ -1124,7 +1121,7 @@ from("jms:SomeQueue?concurrentConsumers=20&asyncConsumer=true").
   bean(MyClass.class);
 ----------------------------------------------------------------
 
-### Request-reply over JMS
+== Request-reply over JMS
 
 Camel supports Request Reply over JMS. In
 essence the MEP of the Exchange should be `InOut` when you send a
@@ -1172,14 +1169,14 @@ reply queue with an unique name per node, then you can run this in a
 clustered environment. As then the reply message will be sent back to
 that queue for the given node, that awaits the reply message.
 
-|`concurrentConsumers` |Fast |Yes |*Camel 2.10.3:* Allows to process
+|`concurrentConsumers` |Fast |Yes |Allows to process
 reply messages concurrently using concurrent message listeners in use.
 You can specify a range using the `concurrentConsumers` and
 `maxConcurrentConsumers` options. *Notice:* That using `Shared` reply
 queues may not work as well with concurrent listeners, so use this
 option with care.
 
-|`maxConcurrentConsumers` |Fast |Yes |*Camel 2.10.3:* Allows to process
+|`maxConcurrentConsumers` |Fast |Yes |Allows to process
 reply messages concurrently using concurrent message listeners in use.
 You can specify a range using the `concurrentConsumers` and
 `maxConcurrentConsumers` options. *Notice:* That using `Shared` reply
@@ -1197,27 +1194,7 @@ so you should *not* do anything. +
  This consumer is a Spring `DefaultMessageListenerContainer` which
 listen for replies. However it's fixed to 1 concurrent consumer. +
  That means replies will be processed in sequence as there are only 1
-thread to process the replies. If you want to process replies faster,
-then we need to use concurrency. But *not* using the
-`concurrentConsumer` option. We should use the `threads` from the Camel
-DSL instead, as shown in the route below:
-
-Instead of using threads, then use concurrentConsumers option if using
-Camel 2.10.3 or better. See further below.
-
-[source,java]
----------------------------------
-from(xxx)
-.inOut().to("activemq:queue:foo")
-.threads(5)
-.to(yyy)
-.to(zzz);
----------------------------------
-
-In this route we instruct Camel to route replies
-asynchronously using a thread pool with 5 threads.
-
-From *Camel 2.10.3* onwards you can now configure the listener to use
+thread to process the replies. You can configure the listener to use
 concurrent threads using the `concurrentConsumers` and
 `maxConcurrentConsumers` options. This allows you to easier configure
 this in Camel as shown below:
@@ -1230,7 +1207,10 @@ from(xxx)
 .to(zzz);
 -------------------------------------------------------
 
-#### Request-reply over JMS and using a shared fixed reply queue
+In this route we instruct Camel to route replies
+asynchronously using a thread pool with 5 threads.
+
+=== Request-reply over JMS and using a shared fixed reply queue
 
 If you use a fixed reply queue when doing
 Request Reply over JMS as shown in the example
@@ -1264,22 +1244,21 @@ Notice this will cause the Camel to send pull requests to the message
 broker more frequent, and thus require more network traffic. +
  It is generally recommended to use temporary queues if possible.
 
-#### Request-reply over JMS and using an exclusive fixed reply queue
+=== Request-reply over JMS and using an exclusive fixed reply queue
 
 *Available as of Camel 2.9*
 
 In the previous example, Camel would anticipate the fixed reply queue
 named "bar" was shared, and thus it uses a `JMSSelector` to only consume
 reply messages which it expects. However there is a drawback doing this
-as JMS selectos is slower. Also the consumer on the reply queue is
+as the JMS selector is slower. Also the consumer on the reply queue is
 slower to update with new JMS selector ids. In fact it only updates when
 the `receiveTimeout` option times out, which by default is 1 second. So
 in theory the reply messages could take up till about 1 sec to be
 detected. On the other hand if the fixed reply queue is exclusive to the
 Camel reply consumer, then we can avoid using the JMS selectors, and
-thus be more performant. In fact as fast as using temporary queues. So
-in *Camel 2.9* onwards we introduced the `ReplyToType` option which you
-can configure to `Exclusive` +
+thus be more performant. In fact as fast as using temporary queues. There is
+the `ReplyToType` option which you can configure to `Exclusive` +
  to tell Camel that the reply queue is exclusive as shown in the example
 below:
 
@@ -1311,10 +1290,10 @@ node in the cluster may pickup messages which was intended as a reply on
 another node. For clustered environments its recommended to use shared
 reply queues instead.
 
-### Synchronizing clocks between senders and receivers
+== Synchronizing clocks between senders and receivers
 
 When doing messaging between systems, its desirable that the systems
-have synchronized clocks. For example when sending a <<jms-component,JMS>>
+have synchronized clocks. For example when sending a xref:jms-component.adoc[JMS]
 message, then you can set a time to live value on the message. Then the
 receiver can inspect this value, and determine if the message is already
 expired, and thus drop the message instead of consume and process it.
@@ -1323,28 +1302,28 @@ clocks. If you are using http://activemq.apache.org/[ActiveMQ] then you
 can use the http://activemq.apache.org/timestampplugin.html[timestamp
 plugin] to synchronize clocks.
 
-### About time to live
+== About time to live
 
 Read first above about synchronized clocks.
 
-When you do request/reply (InOut) over <<jms-component,JMS>> with Camel
+When you do request/reply (InOut) over xref:jms-component.adoc[JMS] with Camel
 then Camel uses a timeout on the sender side, which is default 20
 seconds from the `requestTimeout` option. You can control this by
 setting a higher/lower value. However the time to live value is still
-set on the <<jms-component,JMS>> message being send. So that requires the
+set on the xref:jms-component.adoc[JMS] message being send. So that requires the
 clocks to be synchronized between the systems. If they are not, then you
 may want to disable the time to live value being set. This is now
 possible using the `disableTimeToLive` option from *Camel 2.8* onwards.
 So if you set this option to `disableTimeToLive=true`, then Camel does
-*not* set any time to live value when sending <<jms-component,JMS>>
+*not* set any time to live value when sending xref:jms-component.adoc[JMS]
 messages. *But* the request timeout is still active. So for example if
-you do request/reply over <<jms-component,JMS>> and have disabled time to
+you do request/reply over xref:jms-component.adoc[JMS] and have disabled time to
 live, then Camel will still use a timeout by 20 seconds (the
 `requestTimeout` option). That option can of course also be configured.
 So the two options `requestTimeout` and `disableTimeToLive` gives you
 fine grained control when doing request/reply.
 
-From *Camel 2.13/2.12.3* onwards you can provide a header in the message
+You can provide a header in the message
 to override and use as the request timeout value instead of the endpoint
 configured value. For example:
 
@@ -1381,7 +1360,7 @@ from("direct:someWhere")
   .to("bean:processReply");
 ----------------------------------------------------------------------------------------
 
-When you do fire and forget (InOut) over <<jms-component,JMS>> with Camel
+When you do fire and forget (InOut) over xref:jms-component.adoc[JMS] with Camel
 then Camel by default does *not* set any time to live value on the
 message. You can configure a value by using the `timeToLive` option. For
 example to indicate a 5 sec., you set `timeToLive=5000`. The option
@@ -1389,7 +1368,7 @@ example to indicate a 5 sec., you set `timeToLive=5000`. The option
 also for InOnly messaging. The `requestTimeout` option is not being used
 for InOnly messaging.
 
-### Enabling Transacted Consumption
+== Enabling Transacted Consumption
 
 A common requirement is to consume from a queue in a transaction and
 then process the message using the Camel route. To do this, just ensure
@@ -1407,7 +1386,7 @@ Transactions and [Request Reply] over JMS
 When using Request Reply over JMS you cannot
 use a single transaction; JMS will not send any messages until a commit
 is performed, so the server side won't receive anything at all until the
-transaction commits. Therefore to use link:request-reply.html[Request
+transaction commits. Therefore to use xref:latest@manual::requestReply-eip.adoc[Request
 Reply] you must commit a transaction after sending the request and then
 use a separate transaction for receiving the response.
 
@@ -1418,13 +1397,6 @@ messaging:
 The `transacted` property applies *only* to the InOnly message
 Exchange Pattern (MEP).
 
-The `transactedInOut` property applies to the
-InOut(Request Reply) message
-Exchange Pattern (MEP).
-
-If you want to use transactions for link:request-reply.html[Request
-Reply](InOut MEP), you *must* set `transactedInOut=true`.
-
 *Available as of Camel 2.10*
 
 You can leverage the
@@ -1444,7 +1416,7 @@ http://tmielke.blogspot.com/2012/03/camel-jms-with-transactions-lessons.html[her
 and
 http://forum.springsource.org/showthread.php?123631-JMS-DMLC-not-caching%20connection-when-using-TX-despite-cacheLevel-CACHE_CONSUMER&p=403530&posted=1#post403530[here].
 
-### Using JMSReplyTo for late replies
+== Using JMSReplyTo for late replies
 
 When using Camel as a JMS listener, it sets an Exchange property with
 the value of the ReplyTo `javax.jms.Destination` object, having the key
@@ -1483,7 +1455,7 @@ template.send("activemq:queue:dummy, new Processor() {
 }
 ----------------------------------------------------------------------------------------------------------------------------------------
 
-### Using a request timeout
+== Using a request timeout
 
 In the sample below we send a Request Reply
 style message Exchange (we use the `requestBody`
@@ -1491,9 +1463,9 @@ method = `InOut`) to the slow queue for further processing in Camel and
 we wait for a return reply:
 
 
-### Sending an InOnly message and keeping the JMSReplyTo header
+== Sending an InOnly message and keeping the JMSReplyTo header
 
-When sending to a <<jms-component,JMS>> destination using *camel-jms* the
+When sending to a xref:jms-component.adoc[JMS] destination using *camel-jms* the
 producer will use the MEP to detect if its _InOnly_ or _InOut_ messaging.
 However there can be times where you want to send an _InOnly_ message but
 keeping the `JMSReplyTo` header. To do so you have to instruct Camel to
@@ -1515,7 +1487,7 @@ template.send("activemq:queue:foo?preserveMessageQos=true", new Processor() {
 Notice we use `preserveMessageQos=true` to instruct Camel to keep the
 `JMSReplyTo` header.
 
-### Setting JMS provider options on the destination
+== Setting JMS provider options on the destination
 
 Some JMS providers, like IBM's WebSphere MQ need options to be set on
 the JMS destination. For example, you may need to specify the
@@ -1553,7 +1525,3 @@ wmq.setDestinationResolver(new DestinationResolver() {
     }
 });
 ----------------------------------------------------------------------------------------------------------------------------------
-
-### See Also
-
-* http://activemq.apache.org/jmstemplate-gotchas.html[JMSTemplate gotchas]
diff --git a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
index aa8bb2e..ab3e1a0 100644
--- a/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
+++ b/components/camel-lzf/src/main/docs/lzf-dataformat.adoc
@@ -1,18 +1,18 @@
-[[lzf-dataformat]]
-== LZF Deflate Compression DataFormat
+= LZF Deflate Compression DataFormat
 
 *Available as of Camel version 2.17*
 
+
 The
-LZF https://cwiki.apache.org/confluence/display/CAMEL/Data+Format[Data
-Format] is a message compression and de-compression format. It uses the
-LZF deflate algorithm. Messages marshalled using LZF compression can be
+LZF xref:latest@manual::data-format.adoc[Data Format] is a message compression
+and de-compression format. It uses the
+LZF deflate algorithm. Messages marshalled using LZF compression can be
 unmarshalled using LZF decompression just prior to being consumed at the
 endpoint. The compression capability is quite useful when you deal with
 large XML and Text based payloads or when you read messages previously
 comressed using LZF algotithm.
 
-### Options
+== Options
 
 // dataformat options: START
 The LZF Deflate Compression dataformat supports 2 options, which are listed below.
@@ -44,7 +44,7 @@ The component supports 3 options, which are listed below.
 // spring-boot-auto-configure options: END
 ND
 
-### Marshal
+== Marshal
 
 In this example we marshal a regular text/XML payload to a compressed
 payload employing LZF compression format and send it an ActiveMQ queue
@@ -55,26 +55,24 @@ called MY_QUEUE.
 from("direct:start").marshal().lzf().to("activemq:queue:MY_QUEUE");
 -------------------------------------------------------------------
 
-### Unmarshal
+== Unmarshal
 
-In this example we unmarshal a LZF payload from an ActiveMQ queue called
-MY_QUEUE to its original format, and forward it for processing to
-the `UnGZippedMessageProcessor`.
+In this example we unmarshal a LZF payload from an ActiveMQ queue called
+MY_QUEUE to its original format, and forward it for processing to
+the `UnGZippedMessageProcessor`.
 
 [source,java]
 ----------------------------------------------------------------------------------------------
 from("activemq:queue:MY_QUEUE").unmarshal().lzf().process(new UnCompressedMessageProcessor());
 ----------------------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To useLZF compression in your camel routes you need to add a dependency
-on *camel-lzf* which implements this data format.
+on *camel-lzf* which implements this data format.
 
-If you use Maven you can just add the following to your `pom.xml`,
-substituting the version number for the latest & greatest release
-(see https://cwiki.apache.org/confluence/display/CAMEL/Download[the
-download page for the latest versions]).
+If you use Maven you can just add the following to your `pom.xml`,
+substituting the version number for the latest & greatest release.
 
 [source,xml]
 ----------------------------------------------------------
diff --git a/components/camel-mail/src/main/docs/mail-component.adoc b/components/camel-mail/src/main/docs/mail-component.adoc
index 8106089..41c4b88 100644
--- a/components/camel-mail/src/main/docs/mail-component.adoc
+++ b/components/camel-mail/src/main/docs/mail-component.adoc
@@ -1,9 +1,9 @@
-[[mail-component]]
-== Mail Component
+= Mail Component
 
 *Available as of Camel version 1.0*
 
-The mail component provides access to Email via Spring's Mail support
+
+The Mail component provides access to Email via Spring's Mail support
 and the underlying JavaMail system.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -19,7 +19,9 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-WARNING: *Geronimo mail .jar*
+[WARNING]
+====
+*Geronimo mail .jar*
 
 We have discovered that the geronimo mail `.jar` (v1.6) has a bug when
 polling mails with attachments. It cannot correctly identify the
@@ -30,24 +32,33 @@ it, the `Content-Type` is resolved as `text/plain` and not as
 enables you to provide your own implementation and fix this bug by
 returning the correct Mime type based on the file name. So if the file
 name ends with `jpeg/jpg`, you can return `image/jpeg`.
+====
 
 You can set your custom resolver on the `MailComponent` instance or on
 the `MailEndpoint` instance.
 
 
-TIP: *POP3 or IMAP*
+[TIP]
+====
+*POP3 or IMAP*
+
 POP3 has some limitations and end users are encouraged to use IMAP if
 possible.
+====
+
+[NOTE]
+====
+*Using mock-mail for testing*
 
-INFO: *Using mock-mail for testing*
 You can use a mock framework for unit testing, which allows you to test
 without the need for a real mail server. However you should remember to
 not include the mock-mail when you go into production or other
 environments where you need to send mails to a real mail server. Just
 the presence of the mock-javamail.jar on the classpath means that it
 will kick in and avoid sending the mails.
+====
 
-### URI format
+== URI format
 
 Mail endpoints can have one of the following URI formats (for the
 protocols, SMTP, POP3, or IMAP, respectively):
@@ -74,7 +85,7 @@ You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
 
-### [[Mail-Component-Options]]
+== Component options
 
 
 // component options: START
@@ -94,7 +105,7 @@ The Mail component supports 4 options, which are listed below.
 
 
 
-### [[Mail-Endpoint-Options]]
+== Endpoint options
 
 
 // endpoint options: START
@@ -253,7 +264,7 @@ The component supports 48 options, which are listed below.
 
 
 
-#### Sample endpoints
+=== Sample endpoints
 
 Typically, you specify a URI with login credentials as follows (taking
 SMTP as an example):
@@ -278,7 +289,7 @@ For example:
 smtp://mycompany.mailserver:30?password=tiger&username=scott
 ------------------------------------------------------------
 
-### Components
+== Components
 
 - IMAP
 - IMAPs
@@ -287,7 +298,7 @@ smtp://mycompany.mailserver:30?password=tiger&username=scott
 - SMTP
 - SMTPs
 
-#### Default ports
+=== Default ports
 
 Default port numbers are supported. If the port number is omitted, Camel
 determines the port number to use based on the protocol.
@@ -303,21 +314,21 @@ determines the port number to use based on the protocol.
 |`IMAPS` |`993`
 |=======================================================================
 
-### SSL support
+== SSL support
 
 The underlying mail framework is responsible for providing SSL support.
- You may either configure SSL/TLS support by completely specifying the
+ You may either configure SSL/TLS support by completely specifying the
 necessary Java Mail API configuration options, or you may provide a
 configured SSLContextParameters through the component or endpoint
 configuration.
 
-#### Using the JSSE Configuration Utility
+=== Using the JSSE Configuration Utility
 
-As of *Camel 2.10*, the mail component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The mail component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
+endpoint and component levels.  The following examples demonstrate how
 to use the utility with the mail component.
 
 [[Mail-Programmaticconfigurationoftheendpoint]]
@@ -354,7 +365,7 @@ Spring DSL based configuration of endpoint
 <to uri="smtps://smtp.google.com?username=user@gmail.com&password=password&sslContextParameters=#sslContextParameters"/>...
 ---------------------------------------------------------------------------------------------------------------------------
 
-#### Configuring JavaMail Directly
+=== Configuring JavaMail Directly
 
 Camel uses SUN JavaMail, which only trusts certificates issued by well
 known Certificate Authorities (the default JVM trust configuration). If
@@ -362,7 +373,7 @@ you issue your own certificates, you have to import the CA certificates
 into the JVM's Java trust/key store files, override the default JVM
 trust/key store files (see `SSLNOTES.txt` in JavaMail for details).
 
-### Mail Message Content
+== Mail Message Content
 
 Camel uses the message exchange's IN body as the
 http://java.sun.com/javaee/5/docs/api/javax/mail/internet/MimeMessage.html[MimeMessage]
@@ -380,12 +391,12 @@ below demonstrates this:
 The same applies for other MimeMessage headers such as recipients, so
 you can use a header property as `To`:
 
-*Since Camel 2.11* When using the MailProducer the send the mail to
+When using the MailProducer the send the mail to
 server, you should be able to get the message id of the
 http://java.sun.com/javaee/5/docs/api/javax/mail/internet/MimeMessage.html[MimeMessage]
 with the key `CamelMailMessageId` from the Camel message header.
 
-### Headers take precedence over pre-configured recipients
+== Headers take precedence over pre-configured recipients
 
 The recipients specified in the message headers always take precedence
 over recipients pre-configured in the endpoint URI. The idea is that if
@@ -411,7 +422,7 @@ pre-configured settings.
         template.sendBodyAndHeaders("smtp://admin@localhost?to=info@mycompany.com", "Hello World", headers);
 ------------------------------------------------------------------------------------------------------------
 
-### Multiple recipients for easier configuration
+== Multiple recipients for easier configuration
 
 It is possible to set multiple recipients using a comma-separated or a
 semicolon-separated list. This applies both to header settings and to
@@ -425,7 +436,7 @@ settings in an endpoint URI. For example:
 
 The preceding example uses a semicolon, `;`, as the separator character.
 
-### Setting sender name and email
+== Setting sender name and email
 
 You can specify recipients in the format, `name <email>`, to include
 both the name and the email address of the recipient.
@@ -441,7 +452,7 @@ map.put("From", "James Strachan <js...@apache.org>");
 map.put("Subject", "Camel is cool");
 ---------------------------------------------------------
 
-### JavaMail API (ex SUN JavaMail)
+== JavaMail API (ex SUN JavaMail)
 
 https://java.net/projects/javamail/pages/Home[JavaMail API] is used
 under the hood for consuming and producing mails. +
@@ -457,7 +468,7 @@ IMAP API]
 https://javamail.java.net/nonav/docs/api/javax/mail/Flags.html[MAIL
 Flags]
 
-### Samples
+== Samples
 
 We start with a simple route that sends the messages received from a JMS
 queue as emails. The email account is the `admin` account on
@@ -481,23 +492,27 @@ from("imap://admin@mymailserver.com
 
 In this sample we want to send a mail to multiple recipients:
 
-### Sending mail with attachment sample
+== Sending mail with attachment sample
 
 
-WARNING: *Attachments are not support by all Camel components*
+[WARNING]
+====
+*Attachments are not support by all Camel components*
+
 The _Attachments API_ is based on the Java Activation Framework and is
 generally only used by the Mail API. Since many of the other Camel
 components do not support attachments, the attachments could potentially
 be lost as they propagate along the route. The rule of thumb, therefore,
 is to add attachments just before sending a message to the mail
 endpoint.
+====
 
 
 The mail component supports attachments. In the sample below, we send a
 mail message containing a plain text message with a logo file
 attachment.
 
-### SSL sample
+== SSL sample
 
 In this sample, we want to poll our Google mail inbox for mails. To
 download mail onto a local mail client, Google mail requires you to
@@ -526,7 +541,7 @@ progress in the logs:
 2008-05-08 06:32:12,187 INFO  newmail - Exchange[MailMessage: messageNumber=[332], from=[James Bond <00...@mi5.co.uk>], to=YOUR_USERNAME@gmail.com], subject=[...
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Consuming mails with attachment sample
+== Consuming mails with attachment sample
 
 In this sample we poll a mailbox and store all attachments from the
 mails as files. First, we define a route to poll the mailbox. As this
@@ -571,7 +586,7 @@ As you can see the API to handle attachments is a bit clunky but it's
 there so you can get the `javax.activation.DataHandler` so you can
 handle the attachments using standard API.
 
-### How to split a mail message with attachments
+== How to split a mail message with attachments
 
 In this example we consume mail messages which may have a number of
 attachments. What we want to do is to use the
@@ -603,7 +618,7 @@ the Splitter as shown below
 </split>
 ---------------------------------------------------------------------------------
 
- 
+ 
 
 From Camel 2.16 onwards you can also split the attachments as byte[] to
 be stored as the message body. This is done by creating the expression
@@ -616,7 +631,7 @@ SplitAttachmentsExpression split = SplitAttachmentsExpression(true);
 
 And then use the expression with the splitter eip.
 
-### Using custom SearchTerm
+== Using custom SearchTerm
 
 *Available as of Camel 2.11*
 
@@ -703,10 +718,3 @@ builder.unseen().body(Op.not, "Spam").subject(Op.not, "Spam")
 
 SearchTerm term = builder.build();
 --------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-mvel/src/main/docs/mvel-language.adoc b/components/camel-mvel/src/main/docs/mvel-language.adoc
index 5b0eb69..a5fed4c 100644
--- a/components/camel-mvel/src/main/docs/mvel-language.adoc
+++ b/components/camel-mvel/src/main/docs/mvel-language.adoc
@@ -1,8 +1,8 @@
-[[mvel-language]]
-== MVEL Language
+= MVEL Language
 
 *Available as of Camel version 2.0*
 
+
 Camel allows Mvel to be used as an Expression or
 Predicate the DSL or
 Xml Configuration.
@@ -23,7 +23,7 @@ you can construct the syntax as follows:
 "getRequest().getBody().getFamilyName()"
 ----------------------------------------
 
-### Mvel Options
+== Mvel Options
 
 // language options: START
 The MVEL language supports 1 options, which are listed below.
@@ -55,7 +55,7 @@ The component supports 4 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 
-### Variables
+== Variables
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -82,9 +82,9 @@ The component supports 4 options, which are listed below.
 |property(name, type) |Type |the property by the given name as the given type
 |=======================================================================
 
-### Samples
+== Samples
 
-For example you could use Mvel inside a link:message-filter.html[Message
+For example you could use Mvel inside a xref:latest@manual::filter-eip.adoc[Message
 Filter] in XML
 
 [source,java]
@@ -105,7 +105,7 @@ And the sample using Java DSL:
    from("seda:foo").filter().mvel("request.headers.foo == 'bar'").to("seda:bar");
 ---------------------------------------------------------------------------------
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -119,7 +119,7 @@ eg to refer to a file on the classpath you can do:
 .setHeader("myHeader").mvel("resource:classpath:script.mvel")
 -------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use Mvel in your camel routes you need to add the a dependency on
 *camel-mvel* which implements the Mvel language.
diff --git a/components/camel-mybatis/src/main/docs/mybatis-component.adoc b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
index 435ab7e..d7107cf 100644
--- a/components/camel-mybatis/src/main/docs/mybatis-component.adoc
+++ b/components/camel-mybatis/src/main/docs/mybatis-component.adoc
@@ -1,9 +1,9 @@
-[[mybatis-component]]
-== MyBatis Component
+= MyBatis Component
 
 *Available as of Camel version 2.7*
 
-The *mybatis:* component allows you to query, poll, insert, update and
+
+The MyBatis component allows you to query, poll, insert, update and
 delete data in a relational database using http://mybatis.org/[MyBatis].
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -19,7 +19,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -39,7 +39,7 @@ the root of the classpath with the expected name of
  If the file is located in another location, you will need to configure
 the `configurationUri` option on the `MyBatisComponent` component.
 
-=== Options
+== Options
 
 // component options: START
 The MyBatis component supports 3 options, which are listed below.
@@ -133,7 +133,7 @@ The component supports 4 options, which are listed below.
 
 
 
-=== Message Headers
+== Message Headers
 
 Camel will populate the result message, either IN or OUT with a header
 with the statement used:
@@ -149,7 +149,7 @@ instance an `INSERT` could return the auto-generated key, or number of
 rows etc.
 |=======================================================================
 
-=== Message Body
+== Message Body
 
 The response from MyBatis will only be set as the body if it's a
 `SELECT` statement. That means, for example, for `INSERT` statements
@@ -157,7 +157,7 @@ Camel will not replace the body. This allows you to continue routing and
 keep the original body. The response from MyBatis is always stored in
 the header with the key `CamelMyBatisResult`.
 
-=== Samples
+== Samples
 
 For example if you wish to consume beans from a JMS queue and insert
 them into a database you could do the following:
@@ -189,7 +189,7 @@ Where *insertAccount* is the MyBatis ID in the SQL mapping file:
   </insert>
 ----
 
-=== Using StatementType for better control of MyBatis
+== Using StatementType for better control of MyBatis
 
 When routing to an MyBatis endpoint you will want more fine grained
 control so you can control whether the SQL statement to be executed is a
@@ -207,7 +207,7 @@ We can do the same for some of the other operations, such as
 And the same for `UPDATE`, where we can send an `Account` object as the
 IN body to MyBatis:
 
-==== Using InsertList StatementType
+=== Using InsertList StatementType
 
 *Available as of Camel 2.10*
 
@@ -219,7 +219,7 @@ Then you can insert multiple rows, by sending a Camel message to the
 `mybatis` endpoint which uses the `InsertList` statement type, as shown
 below:
 
-==== Using UpdateList StatementType
+=== Using UpdateList StatementType
 
 *Available as of Camel 2.11*
 
@@ -251,7 +251,7 @@ from("direct:start")
     .to("mock:result");
 ----
 
-==== Using DeleteList StatementType
+=== Using DeleteList StatementType
 
 *Available as of Camel 2.11*
 
@@ -282,17 +282,17 @@ from("direct:start")
     .to("mock:result");
 ----
 
-==== Notice on InsertList, UpdateList and DeleteList StatementTypes
+=== Notice on InsertList, UpdateList and DeleteList StatementTypes
 
 Parameter of any type (List, Map, etc.) can be passed to mybatis and an
 end user is responsible for handling it as required +
  with the help of http://www.mybatis.org/mybatis-3/dynamic-sql.html[mybatis
 dynamic queries] capabilities.
 
-==== Scheduled polling example
+=== Scheduled polling example
 
 This component supports scheduled polling and can therefore be used as
-a Polling Consumer. For example to poll the
+a Polling Consumer. For example to poll the
 database every minute:
 
 [source,java]
@@ -302,12 +302,12 @@ from("mybatis:selectAllAccounts?delay=60000")
 ----
 
 See "ScheduledPollConsumer Options"
-on Polling Consumer for more options.
+on Polling Consumer for more options.
 
 Alternatively you can use another mechanism for triggering the scheduled
-polls, such as the <<timer-component,Timer>> or <<timer-component,Quartz>>
-components. In the sample below we poll the database, every 30 seconds
-using the <<timer-component,Timer>> component and send the data to the JMS
+polls, such as the Timer or Quartz
+components. In the sample below we poll the database, every 30 seconds
+using the Timer component and send the data to the JMS
 queue:
 
 [source,java]
@@ -327,7 +327,7 @@ And the MyBatis SQL mapping file used:
   </select>
 ----
 
-==== Using onConsume
+=== Using onConsume
 
 This component supports executing statements *after* data have been
 consumed and processed by Camel. This allows you to do post updates in
@@ -341,7 +341,7 @@ database to processed, so we avoid consuming it twice or more.
 
 And the statements in the sqlmap file:
 
-==== Participating in transactions
+=== Participating in transactions
 
 Setting up a transaction manager under camel-mybatis can be a little bit
 fiddly, as it involves externalising the database configuration outside
@@ -423,4 +423,3 @@ usual:
     </route>
 </camelContext>
 ----
-
diff --git a/components/camel-nagios/src/main/docs/nagios-component.adoc b/components/camel-nagios/src/main/docs/nagios-component.adoc
index 1bbf00d..5135934 100644
--- a/components/camel-nagios/src/main/docs/nagios-component.adoc
+++ b/components/camel-nagios/src/main/docs/nagios-component.adoc
@@ -1,9 +1,9 @@
-[[nagios-component]]
-== Nagios Component
+= Nagios Component
 
 *Available as of Camel version 2.3*
 
-The <<nagios-component,Nagios>> component allows you to send passive checks
+
+The xref:nagios-component.adoc[Nagios] component allows you to send passive checks
 to http://nagios.org[Nagios].
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -19,20 +19,20 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
+== URI format
 
 [source,java]
 ------------------------------
 nagios://host[:port][?Options]
 ------------------------------
 
-Camel provides two abilities with the <<nagios-component,Nagios>>
+Camel provides two abilities with the xref:nagios-component.adoc[Nagios]
 component. You can send passive check messages by sending a message to
 its endpoint. +
  Camel also provides a EventNotifer which allows
 you to send notifications to Nagios.
 
-### Options
+== Options
 
 
 
@@ -119,7 +119,7 @@ The component supports 10 options, which are listed below.
 
 
 
-### Sending message examples
+== Sending message examples
 
 You can send a message to Nagios where the message payload contains the
 message. By default it will be `OK` level and use the
@@ -146,9 +146,9 @@ To send a `CRITICAL` message you can send the headers such as:
         template.sendBodyAndHeaders("direct:start", "Hello Nagios", headers);
 -----------------------------------------------------------------------------
 
-### Using `NagiosEventNotifer`
+== Using `NagiosEventNotifer`
 
-The <<nagios-component,Nagios>> component also provides an
+The xref:nagios-component.adoc[Nagios] component also provides an
 EventNotifer which you can use to send events to
 Nagios. For example we can enable this from Java as follows:
 
@@ -166,12 +166,5 @@ Nagios. For example we can enable this from Java as follows:
 
 In Spring XML its just a matter of defining a Spring bean with the type
 `EventNotifier` and Camel will pick it up as documented here:
-link:advanced-configuration-of-camelcontext-using-spring.html[Advanced
+xref:latest@manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
 configuration of CamelContext using Spring].
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-netty/src/main/docs/netty-component.adoc b/components/camel-netty/src/main/docs/netty-component.adoc
index b0a56a9..3c1b23d 100644
--- a/components/camel-netty/src/main/docs/netty-component.adoc
+++ b/components/camel-netty/src/main/docs/netty-component.adoc
@@ -1,16 +1,14 @@
-[[netty-component]]
-== Netty Component (deprecated)
+= Netty Component (deprecated)
 
+*Available as of Camel version 2.14*
 *Available as of Camel version 2.3*
 
-WARNING: This component is deprecated. You should use <<netty4-component,Netty4>>.
 
-The *netty* component in Camel is a socket communication component,
-based on the http://netty.io/[Netty] project.
-
-Netty is a NIO client server framework which enables quick and easy
-development of network applications such as protocol servers and
-clients. +
+The Netty component in Camel is a socket communication component,
+based on the http://netty.io/[Netty] project version 4. +
+ Netty is a NIO client server framework which enables quick and easy
+development of networkServerInitializerFactory applications such as
+protocol servers and clients. +
  Netty greatly simplifies and streamlines network programming such as
 TCP and UDP socket server.
 
@@ -18,31 +16,31 @@ This camel component supports both producer and consumer endpoints.
 
 The Netty component has several options and allows fine-grained control
 of a number of TCP/UDP communication parameters (buffer sizes,
-keepAlives, tcpNoDelay etc) and facilitates both In-Only and In-Out
+keepAlives, tcpNoDelay, etc) and facilitates both In-Only and In-Out
 communication on a Camel route.
 
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
 
 [source,xml]
-------------------------------------------------------------
+----
 <dependency>
     <groupId>org.apache.camel</groupId>
     <artifactId>camel-netty</artifactId>
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
-------------------------------------------------------------
+----
 
-### URI format
+== URI format
 
 The URI scheme for a netty component is as follows
 
-[source,java]
----------------------------------------
+[source,text]
+----
 netty:tcp://0.0.0.0:99999[?options]
 netty:udp://remotehost:99999/[?options]
----------------------------------------
+----
 
 This component supports producer and consumer endpoints for both TCP and
 UDP.
@@ -50,11 +48,7 @@ UDP.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
-
-
-
-
+== Options
 
 // component options: START
 The Netty component supports 4 options, which are listed below.
@@ -72,12 +66,6 @@ The Netty component supports 4 options, which are listed below.
 // component options: END
 
 
-
-
-
-
-
-
 // endpoint options: START
 The Netty endpoint is configured using URI syntax:
 
@@ -260,16 +248,13 @@ The component supports 70 options, which are listed below.
 
 
 
+== Registry based Options
 
-
-### Registry based Options
-
-Codec Handlers and SSL Keystores can be enlisted in the
-Registry, such as in the Spring XML file. 
+Codec Handlers and SSL Keystores can be enlisted in the Registry, such as in the Spring XML file.
 The values that could be passed in, are the following:
 
 [width="100%",cols="10%,90%",options="header",]
-|=======================================================================
+|===
 |Name |Description
 
 |`passphrase` |password setting to use in order to encrypt/decrypt payloads sent using
@@ -285,12 +270,12 @@ not set
 
 |`trustStoreFile` |*deprecated:* Server side certificate keystore to be used for encryption
 
-|`keyStoreResource` |*Camel 2.11.1:* Client side certificate keystore to be used for
+|`keyStoreResource` |Client side certificate keystore to be used for
 encryption. Is loaded by default from classpath, but you can prefix with
 `"classpath:"`, `"file:"`, or `"http:"` to load the resource from
 different systems.
 
-|`trustStoreResource` |*Camel 2.11.1:* Server side certificate keystore to be used for
+|`trustStoreResource` |Server side certificate keystore to be used for
 encryption. Is loaded by default from classpath, but you can prefix with
 `"classpath:"`, `"file:"`, or `"http:"` to load the resource from
 different systems.
@@ -299,51 +284,48 @@ different systems.
 
 |`encoder` |A custom `ChannelHandler` class that can be used to perform special
 marshalling of outbound payloads. Must override
-`org.jboss.netty.channel.ChannelDownStreamHandler`.
+io.netty.channel.ChannelInboundHandlerAdapter.
 
-|`encorders` |A list of encoders to be used. You can use a String which have values
+|`encoders` |A list of encoders to be used. You can use a String which have values
 separated by comma, and have the values be looked up in the
 Registry. Just remember to prefix the value with #
 so Camel knows it should lookup.
 
 |`decoder` |A custom `ChannelHandler` class that can be used to perform special
 marshalling of inbound payloads. Must override
-`org.jboss.netty.channel.ChannelUpStreamHandler`.
+io.netty.channel.ChannelOutboundHandlerAdapter.
 
 |`decoders` |A list of decoders to be used. You can use a String which have values
 separated by comma, and have the values be looked up in the
 Registry. Just remember to prefix the value with #
 so Camel knows it should lookup.
-|=======================================================================
+|===
 
-*Important:* Read below about using non shareable encoders/decoders.
+NOTE: Read below about using non shareable encoders/decoders.
 
-#### Using non shareable encoders or decoders
+=== Using non shareable encoders or decoders
 
-If your encoders or decoders is not shareable (eg they have the
+If your encoders or decoders are not shareable (e.g. they don't have the
 @Shareable class annotation), then your encoder/decoder must implement
 the `org.apache.camel.component.netty.ChannelHandlerFactory` interface,
 and return a new instance in the `newChannelHandler` method. This is to
 ensure the encoder/decoder can safely be used. If this is not the case,
-then the Netty component will log a WARN when +
- an endpoint is created.
+then the Netty component will log a WARN when an endpoint is created.
 
 The Netty component offers a
 `org.apache.camel.component.netty.ChannelHandlerFactories` factory
 class, that has a number of commonly used methods.
 
-### Sending Messages to/from a Netty endpoint
+== Sending Messages to/from a Netty endpoint
 
-#### Netty Producer
+=== Netty Producer
 
 In Producer mode, the component provides the ability to send payloads to
-a socket endpoint +
- using either TCP or UDP protocols (with optional SSL support).
+a socket endpoint using either TCP or UDP protocols (with optional SSL support).
 
-The producer mode supports both one-way and request-response based
-operations.
+The producer mode supports both one-way and request-response based operations.
 
-#### Netty Consumer
+=== Netty Consumer
 
 In Consumer mode, the component provides the ability to:
 
@@ -356,33 +338,12 @@ object based payloads and
 The consumer mode supports both one-way and request-response based
 operations.
 
-### Headers
-
-The following headers are filled for the exchanges created by the Netty
-consumer:
-
-[width="100%",cols="10%,10%,80%",options="header",]
-|=======================================================================
-|Header key |Class |Description
+== Examples
 
-|`NettyConstants.NETTY_CHANNEL_HANDLER_CONTEXT` /
-`CamelNettyChannelHandlerContext` |`org.jboss.netty.channel.ChannelHandlerContext` | `ChannelHandlerContext `instance associated with the connection received
-by netty.
-
-|`NettyConstants.NETTY_MESSAGE_EVENT` / `CamelNettyMessageEvent` |`org.jboss.netty.channel.MessageEvent` |`MessageEvent `instance associated with the connection received by
-netty.
-
-|`NettyConstants.NETTY_REMOTE_ADDRESS` / `CamelNettyRemoteAddress` |`java.net.SocketAddress` |Remote address of the incoming socket connection.
-
-|`NettyConstants.NETTY_LOCAL_ADDRESS` / `CamelNettyLocalAddress` |`java.net.SocketAddress` |Local address of the incoming socket connection.
-|=======================================================================
-
-### Usage Samples
-
-#### A UDP Netty endpoint using Request-Reply and serialized object payload
+=== A UDP Netty endpoint using Request-Reply and serialized object payload
 
 [source,java]
-------------------------------------------------------------------
+----
 RouteBuilder builder = new RouteBuilder() {
   public void configure() {
     from("netty:udp://0.0.0.0:5155?sync=true")
@@ -395,37 +356,37 @@ RouteBuilder builder = new RouteBuilder() {
        }
     }
 };
-------------------------------------------------------------------
+----
 
-#### A TCP based Netty consumer endpoint using One-way communication
+=== A TCP based Netty consumer endpoint using One-way communication
 
 [source,java]
--------------------------------------------
+----
 RouteBuilder builder = new RouteBuilder() {
   public void configure() {
        from("netty:tcp://0.0.0.0:5150")
            .to("mock:result");
   }
 };
--------------------------------------------
+----
 
-#### An SSL/TCP based Netty consumer endpoint using Request-Reply communication
+=== An SSL/TCP based Netty consumer endpoint using Request-Reply communication
 
 [[Netty-UsingtheJSSEConfigurationUtility]]
 Using the JSSE Configuration Utility
 
-As of Camel 2.9, the Netty component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The Netty component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
+endpoint and component levels.  The following examples demonstrate how
 to use the utility with the Netty component.
 
 [[Netty-Programmaticconfigurationofthecomponent]]
 Programmatic configuration of the component
 
 [source,java]
------------------------------------------------------------------------------------------
+----
 KeyStoreParameters ksp = new KeyStoreParameters();
 ksp.setResource("/users/home/server/keystore.jks");
 ksp.setPassword("keystorePassword");
@@ -439,13 +400,13 @@ scp.setKeyManagers(kmp);
 
 NettyComponent nettyComponent = getContext().getComponent("netty", NettyComponent.class);
 nettyComponent.setSslContextParameters(scp);
------------------------------------------------------------------------------------------
+----
 
 [[Netty-SpringDSLbasedconfigurationofendpoint]]
 Spring DSL based configuration of endpoint
 
 [source,xml]
-------------------------------------------------------------------------------------------------------
+----
 ...
   <camel:sslContextParameters
       id="sslContextParameters">
@@ -459,19 +420,18 @@ Spring DSL based configuration of endpoint
 ...
   <to uri="netty:tcp://0.0.0.0:5150?sync=true&ssl=true&sslContextParameters=#sslContextParameters"/>
 ...
-------------------------------------------------------------------------------------------------------
+----
 
-[[Netty-UsingBasicSSLTLSconfigurationontheJettyComponent]]
+[[Netty-UsingBasicSSL/TLSconfigurationontheJettyComponent]]
 Using Basic SSL/TLS configuration on the Jetty Component
 
 [source,java]
------------------------------------------------------------------------------
-JndiRegistry registry = new JndiRegistry(createJndiContext());
+----
+Registry registry = context.getRegistry();
 registry.bind("password", "changeit");
 registry.bind("ksf", new File("src/test/resources/keystore.jks"));
 registry.bind("tsf", new File("src/test/resources/keystore.jks"));
 
-context.createRegistry(registry);
 context.addRoutes(new RouteBuilder() {
   public void configure() {
       String netty_ssl_endpoint =
@@ -489,25 +449,23 @@ context.addRoutes(new RouteBuilder() {
        }
   }
 });
------------------------------------------------------------------------------
+----
 
 [[Netty-GettingaccesstoSSLSessionandtheclientcertificate]]
 Getting access to SSLSession and the client certificate
 
-*Available as of Camel 2.12*
-
 You can get access to the `javax.net.ssl.SSLSession` if you eg need to
 get details about the client certificate. When `ssl=true` then the
-<<netty-component,Netty>> component will store the `SSLSession` as a header
-on the Camel Message as shown below:
+xref:netty-component.adoc[Netty] component will store the `SSLSession` as a
+header on the Camel Message as shown below:
 
 [source,java]
-----------------------------------------------------------------------------------------------------
+----
 SSLSession session = exchange.getIn().getHeader(NettyConstants.NETTY_SSL_SESSION, SSLSession.class);
 // get the first certificate which is client certificate
 javax.security.cert.X509Certificate cert = session.getPeerCertificateChain()[0];
 Principal principal = cert.getSubjectDN();
-----------------------------------------------------------------------------------------------------
+----
 
 Remember to set `needClientAuth=true` to authenticate the client,
 otherwise `SSLSession` cannot access information about the client
@@ -521,31 +479,112 @@ enriches the Camel Message with headers having
 details about the client certificate. For example the subject name is
 readily available in the header `CamelNettySSLClientCertSubjectName`.
 
-#### Using Multiple Codecs
+=== Using Multiple Codecs
 
 In certain cases it may be necessary to add chains of encoders and
 decoders to the netty pipeline. To add multpile codecs to a camel netty
 endpoint the 'encoders' and 'decoders' uri parameters should be used.
 Like the 'encoder' and 'decoder' parameters they are used to supply
-references (to lists of ChannelUpstreamHandlers and
+references (lists of ChannelUpstreamHandlers and
 ChannelDownstreamHandlers) that should be added to the pipeline. Note
 that if encoders is specified then the encoder param will be ignored,
 similarly for decoders and the decoder param.
 
-INFO: Read further above about using non shareable encoders/decoders.
+NOTE: Read further above about using non shareable encoders/decoders.
 
 The lists of codecs need to be added to the Camel's registry so they can
 be resolved when the endpoint is created.
 
+[source,java]
+----
+ChannelHandlerFactory lengthDecoder = ChannelHandlerFactories.newLengthFieldBasedFrameDecoder(1048576, 0, 4, 0, 4);
+
+StringDecoder stringDecoder = new StringDecoder();
+registry.bind("length-decoder", lengthDecoder);
+registry.bind("string-decoder", stringDecoder);
+
+LengthFieldPrepender lengthEncoder = new LengthFieldPrepender(4);
+StringEncoder stringEncoder = new StringEncoder();
+registry.bind("length-encoder", lengthEncoder);
+registry.bind("string-encoder", stringEncoder);
+
+List<ChannelHandler> decoders = new ArrayList<ChannelHandler>();
+decoders.add(lengthDecoder);
+decoders.add(stringDecoder);
+
+List<ChannelHandler> encoders = new ArrayList<ChannelHandler>();
+encoders.add(lengthEncoder);
+encoders.add(stringEncoder);
+
+registry.bind("encoders", encoders);
+registry.bind("decoders", decoders);
+----
+
 Spring's native collections support can be used to specify the codec
 lists in an application context
 
+[source,xml]
+----
+<util:list id="decoders" list-class="java.util.LinkedList">
+        <bean class="org.apache.camel.component.netty.ChannelHandlerFactories" factory-method="newLengthFieldBasedFrameDecoder">
+            <constructor-arg value="1048576"/>
+            <constructor-arg value="0"/>
+            <constructor-arg value="4"/>
+            <constructor-arg value="0"/>
+            <constructor-arg value="4"/>
+        </bean>
+        <bean class="io.netty.handler.codec.string.StringDecoder"/>
+    </util:list>
+
+    <util:list id="encoders" list-class="java.util.LinkedList">
+        <bean class="io.netty.handler.codec.LengthFieldPrepender">
+            <constructor-arg value="4"/>
+        </bean>
+        <bean class="io.netty.handler.codec.string.StringEncoder"/>
+    </util:list>
+
+    <bean id="length-encoder" class="io.netty.handler.codec.LengthFieldPrepender">
+        <constructor-arg value="4"/>
+    </bean>
+    <bean id="string-encoder" class="io.netty.handler.codec.string.StringEncoder"/>
+
+    <bean id="length-decoder" class="org.apache.camel.component.netty.ChannelHandlerFactories" factory-method="newLengthFieldBasedFrameDecoder">
+        <constructor-arg value="1048576"/>
+        <constructor-arg value="0"/>
+        <constructor-arg value="4"/>
+        <constructor-arg value="0"/>
+        <constructor-arg value="4"/>
+    </bean>
+    <bean id="string-decoder" class="io.netty.handler.codec.string.StringDecoder"/>
+----
+
 The bean names can then be used in netty endpoint definitions either as
 a comma separated list or contained in a List e.g.
 
-or via spring.
+[source,java]
+----
+ from("direct:multiple-codec").to("netty:tcp://0.0.0.0:{{port}}?encoders=#encoders&sync=false");
+
+ from("netty:tcp://0.0.0.0:{{port}}?decoders=#length-decoder,#string-decoder&sync=false").to("mock:multiple-codec");
+----
 
-### Closing Channel When Complete
+or via XML.
+
+[source,xml]
+----
+<camelContext id="multiple-netty-codecs-context" xmlns="http://camel.apache.org/schema/spring">
+    <route>
+        <from uri="direct:multiple-codec"/>
+        <to uri="netty:tcp://0.0.0.0:5150?encoders=#encoders&amp;sync=false"/>
+    </route>
+    <route>
+        <from uri="netty:tcp://0.0.0.0:5150?decoders=#length-decoder,#string-decoder&amp;sync=false"/>
+        <to uri="mock:multiple-codec"/>
+    </route>
+</camelContext>
+----
+
+== Closing Channel When Complete
 
 When acting as a server you sometimes want to close the channel when,
 for example, a client conversion is finished. +
@@ -560,79 +599,78 @@ value. +
 written the bye message back to the client:
 
 [source,java]
---------------------------------------------------------------------------------------------------------
-        from("netty:tcp://0.0.0.0:8080").process(new Processor() {
-            public void process(Exchange exchange) throws Exception {
-                String body = exchange.getIn().getBody(String.class);
-                exchange.getOut().setBody("Bye " + body);
-                // some condition which determines if we should close
-                if (close) {
-                    exchange.getOut().setHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, true);
-                }
-            }
-        });
---------------------------------------------------------------------------------------------------------
-
-### Adding custom channel pipeline factories to gain complete control over a created pipeline
-
-*Available as of Camel 2.5*
+----
+from("netty:tcp://0.0.0.0:8080").process(new Processor() {
+    public void process(Exchange exchange) throws Exception {
+        String body = exchange.getIn().getBody(String.class);
+        exchange.getOut().setBody("Bye " + body);
+        // some condition which determines if we should close
+        if (close) {
+            exchange.getOut().setHeader(NettyConstants.NETTY_CLOSE_CHANNEL_WHEN_COMPLETE, true);
+        }
+    }
+});
+----
+
+[[Netty-Addingcustomchannelpipelinefactoriestogaincompletecontroloveracreatedpipeline]]
+Adding custom channel pipeline factories to gain complete control over a created pipeline
+
+== Custom pipeline
 
 Custom channel pipelines provide complete control to the user over the
 handler/interceptor chain by inserting custom handler(s), encoder(s) &
-decoders without having to specify them in the Netty Endpoint URL in a
+decoder(s) without having to specify them in the Netty Endpoint URL in a
 very simple way.
 
 In order to add a custom pipeline, a custom channel pipeline factory
 must be created and registered with the context via the context registry
-(JNDIRegistry,or the camel-spring ApplicationContextRegistry etc).
+(Registry, or the camel-spring ApplicationContextRegistry etc).
 
 A custom pipeline factory must be constructed as follows
 
 * A Producer linked channel pipeline factory must extend the abstract
 class `ClientPipelineFactory`.
 * A Consumer linked channel pipeline factory must extend the abstract
-class `ServerPipelineFactory`.
-* The classes should override the getPipeline() method in order to
+class `ServerInitializerFactory`.
+* The classes should override the initChannel() method in order to
 insert custom handler(s), encoder(s) and decoder(s). Not overriding the
-getPipeline() method creates a pipeline with no handlers, encoders or
+`initChannel()` method creates a pipeline with no handlers, encoders or
 decoders wired to the pipeline.
 
-The example below shows how ServerChannel Pipeline factory may be
+The example below shows how ServerInitializerFactory factory may be
 created
 
-*Using custom pipeline factory*
+=== Using custom pipeline factory
 
 [source,java]
---------------------------------------------------------------------------------------------------------------------------------
-public class SampleServerChannelPipelineFactory extends ServerPipelineFactory {
+----
+public class SampleServerInitializerFactory extends ServerInitializerFactory {
     private int maxLineSize = 1024;
 
-    public ChannelPipeline getPipeline() throws Exception {
-        ChannelPipeline channelPipeline = Channels.pipeline();
+    protected void initChannel(Channel ch) throws Exception {
+        ChannelPipeline channelPipeline = ch.pipeline();
 
         channelPipeline.addLast("encoder-SD", new StringEncoder(CharsetUtil.UTF_8));
         channelPipeline.addLast("decoder-DELIM", new DelimiterBasedFrameDecoder(maxLineSize, true, Delimiters.lineDelimiter()));
         channelPipeline.addLast("decoder-SD", new StringDecoder(CharsetUtil.UTF_8));
         // here we add the default Camel ServerChannelHandler for the consumer, to allow Camel to route the message etc.
         channelPipeline.addLast("handler", new ServerChannelHandler(consumer));
-
-        return channelPipeline;
     }
 }
---------------------------------------------------------------------------------------------------------------------------------
+----
 
 The custom channel pipeline factory can then be added to the registry
 and instantiated/utilized on a camel route in the following way
 
 [source,java]
--------------------------------------------------------------------
+----
 Registry registry = camelContext.getRegistry();
-serverPipelineFactory = new TestServerChannelPipelineFactory();
-registry.bind("spf", serverPipelineFactory);
+ServerInitializerFactory factory = new TestServerInitializerFactory();
+registry.bind("spf", factory);
 context.addRoutes(new RouteBuilder() {
   public void configure() {
       String netty_ssl_endpoint =
-         "netty:tcp://0.0.0.0:5150?serverPipelineFactory=#spf"
+         "netty:tcp://0.0.0.0:5150?serverInitializerFactory=#spf"
       String return_string =
          "When You Go Home, Tell Them Of Us And Say,"
          + "For Your Tomorrow, We Gave Our Today.";
@@ -645,11 +683,9 @@ context.addRoutes(new RouteBuilder() {
        }
   }
 });
--------------------------------------------------------------------
-
-### Reusing Netty boss and worker thread pools
+----
 
-*Available as of Camel 2.12*
+== Reusing Netty boss and worker thread pools
 
 Netty has two kind of thread pools: boss and worker. By default each
 Netty consumer and producer has their private thread pools. If you want
@@ -661,17 +697,17 @@ For example using Spring XML we can create a shared worker thread pool
 using the `NettyWorkerPoolBuilder` with 2 worker threads as shown below:
 
 [source,xml]
------------------------------------------------------------------------------------------
-  <!-- use the worker pool builder to help create the shared thread pool -->
-  <bean id="poolBuilder" class="org.apache.camel.component.netty.NettyWorkerPoolBuilder">
-    <property name="workerCount" value="2"/>
-  </bean>
-
-  <!-- the shared worker thread pool -->
-  <bean id="sharedPool" class="org.jboss.netty.channel.socket.nio.WorkerPool"
-        factory-bean="poolBuilder" factory-method="build" destroy-method="shutdown">
-  </bean>
------------------------------------------------------------------------------------------
+----
+<!-- use the worker pool builder to help create the shared thread pool -->
+<bean id="poolBuilder" class="org.apache.camel.component.netty.NettyWorkerPoolBuilder">
+  <property name="workerCount" value="2"/>
+</bean>
+
+<!-- the shared worker thread pool -->
+<bean id="sharedPool" class="org.jboss.netty.channel.socket.nio.WorkerPool"
+      factory-bean="poolBuilder" factory-method="build" destroy-method="shutdown">
+</bean>
+----
 
 TIP: For boss thread pool there is a
 `org.apache.camel.component.netty.NettyServerBossPoolBuilder` builder
@@ -680,37 +716,50 @@ for Netty consumers, and a
 Netty producers.
 
 Then in the Camel routes we can refer to this worker pools by
-configuring the `workerPool` option in the
-https://cwiki.apache.org/confluence/pages/createpage.action?spaceKey=CAMEL&title=URI&linkCreation=true&fromPageId=14814487[URI]
-as shown below:
+configuring the `workerPool` option in the URI as shown below:
 
 [source,xml]
------------------------------------------------------------------------------------------------------------------------------------------
-    <route>
-      <from uri="netty:tcp://0.0.0.0:5021?textline=true&amp;sync=true&amp;workerPool=#sharedPool&amp;orderedThreadPoolExecutor=false"/>
-      <to uri="log:result"/>
-      ...
-    </route>
------------------------------------------------------------------------------------------------------------------------------------------
+----
+<route>
+  <from uri="netty:tcp://0.0.0.0:5021?textline=true&amp;sync=true&amp;workerPool=#sharedPool&amp;usingExecutorService=false"/>
+  <to uri="log:result"/>
+  ...
+</route>
+----
 
 And if we have another route we can refer to the shared worker pool:
 
 [source,xml]
------------------------------------------------------------------------------------------------------------------------------------------
-    <route>
-      <from uri="netty:tcp://0.0.0.0:5022?textline=true&amp;sync=true&amp;workerPool=#sharedPool&amp;orderedThreadPoolExecutor=false"/>
-      <to uri="log:result"/>
-      ...
-    </route>
------------------------------------------------------------------------------------------------------------------------------------------
+----
+<route>
+  <from uri="netty:tcp://0.0.0.0:5022?textline=true&amp;sync=true&amp;workerPool=#sharedPool&amp;usingExecutorService=false"/>
+  <to uri="log:result"/>
+  ...
+</route>
+----
+
+and so forth.
+
+== Multiplexing concurrent messages over a single connection with request/reply
+
+When using Netty for request/reply messaging via the netty producer then by default each
+message is sent via a non-shared connection (pooled). This ensures that replies are
+automatic being able to map to the correct request thread for further routing in Camel.
+In other words correlation between request/reply messages happens out-of-the-box because
+the replies comes back on the same connection that was used for sending the request;
+and this connection is not shared with others. When the response comes back, the connection
+is returned back to the connection pool, where it can be reused by others.
 
-... and so forth.
+However if you want to multiplex concurrent request/responses on a single shared connection,
+then you need to turn off the connection pooling by setting `producerPoolEnabled=false`.
+Now this means there is a potential issue with interleaved responses if replies comes back out-of-order.
+Therefore you need to have a correlation id in both the request and reply messages so you can properly
+correlate the replies to the Camel callback that is responsible for continue processing the message in Camel.
+To do this you need to implement `NettyCamelStateCorrelationManager` as correlation manager and configure
+it via the `correlationManager=#myManager` option.
 
-### See Also
+NOTE: We recommend extending the `TimeoutCorrelationManagerSupport` when you build custom correlation managers.
+This provides support for timeout and other complexities you otherwise would need to implement as well.
 
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-* <<netty-http-component,Netty HTTP>>
-* <<mina2-component,MINA>>
+You can find an example with the Apache Camel source code in the examples directory
+under the `camel-example-netty-custom-correlation` directory.
diff --git a/components/camel-ognl/src/main/docs/ognl-language.adoc b/components/camel-ognl/src/main/docs/ognl-language.adoc
index 991a3b5..ae5ef3e 100644
--- a/components/camel-ognl/src/main/docs/ognl-language.adoc
+++ b/components/camel-ognl/src/main/docs/ognl-language.adoc
@@ -1,8 +1,8 @@
-[[ognl-language]]
-== OGNL Language
+= OGNL Language
 
 *Available as of Camel version 1.1*
 
+
 Camel allows http://commons.apache.org/proper/commons-ognl/[OGNL] to be
 used as an Expression or
 Predicate the DSL or
@@ -24,7 +24,7 @@ you can construct the syntax as follows:
 "getRequest().getBody().getFamilyName()"
 ----------------------------------------
 
-### OGNL Options
+== OGNL Options
 
 
 // language options: START
@@ -57,7 +57,7 @@ The component supports 2 options, which are listed below.
 
 
 
-### Variables
+== Variables
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |=======================================================================
@@ -84,9 +84,9 @@ The component supports 2 options, which are listed below.
 |property(name, type) |Type |the property by the given name as the given type
 |=======================================================================
 
-### Samples
+== Samples
 
-For example you could use OGNL inside a link:message-filter.html[Message
+For example you could use OGNL inside a xref:latest@manual::filter-eip.adoc[Message
 Filter] in XML
 
 [source,java]
@@ -107,7 +107,7 @@ And the sample using Java DSL:
    from("seda:foo").filter().ognl("request.headers.foo == 'bar'").to("seda:bar");
 ---------------------------------------------------------------------------------
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -121,7 +121,7 @@ eg to refer to a file on the classpath you can do:
 .setHeader("myHeader").ognl("resource:classpath:myognl.txt")
 ------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use OGNL in your camel routes you need to add the a dependency on
 *camel-ognl* which implements the OGNL language.
diff --git a/components/camel-paho/src/main/docs/paho-component.adoc b/components/camel-paho/src/main/docs/paho-component.adoc
index 49d4322..d035e55 100644
--- a/components/camel-paho/src/main/docs/paho-component.adoc
+++ b/components/camel-paho/src/main/docs/paho-component.adoc
@@ -1,8 +1,8 @@
-[[paho-component]]
-== Paho Component
+= Paho Component
 
 *Available as of Camel version 2.16*
 
+
 Paho component provides connector for the MQTT messaging protocol using
 the https://eclipse.org/paho/[Eclipse Paho] library. Paho is one of the
 most popular MQTT libraries, so if you would like to integrate it with
@@ -38,7 +38,7 @@ you need to add Eclipse Paho repository to your POM xml file:
 ----
 
 
-=== URI format
+== URI format
 
 [source]
 ----
@@ -48,7 +48,7 @@ paho:topic[?options]
 Where *topic* is the name of the topic.
 
 
-=== Options
+== Options
 
 // component options: START
 The Paho component supports 4 options, which are listed below.
@@ -129,7 +129,7 @@ The component supports 5 options, which are listed below.
 
 
 
-=== Headers
+== Headers
 
 The following headers are recognized by the Paho component:
 
@@ -138,11 +138,12 @@ The following headers are recognized by the Paho component:
 |Header |Java constant |Endpoint type |Value type |Description
 
 |CamelMqttTopic |PahoConstants.MQTT_TOPIC |Consumer |String |The name of the topic
+|CamelMqttQoS |PahoConstants.MQTT_QOS |Consumer |Integer |QualityOfService of the incoming message
 |CamelPahoOverrideTopic |PahoConstants.CAMEL_PAHO_OVERRIDE_TOPIC |Producer |String |Name of topic to override and send to instead of topic specified on endpoint
 |===
 
 
-=== Default payload type
+== Default payload type
 
 By default Camel Paho component operates on the binary payloads
 extracted out of (or put into) the MQTT message:
@@ -157,10 +158,10 @@ byte[] payload = "message".getBytes();
 producerTemplate.sendBody("paho:topic", payload);
 ----
 
-But of course Camel build-in link:type-converter.html[type conversion
+But of course Camel build-in xref:latest@manual::type-converter.adoc[type conversion
 API] can perform the automatic data type transformations for you. In the
 example below Camel automatically converts binary payload into `String`
-(and conversely):
+(and conversely):
 
 [source,java]
 ----
@@ -173,7 +174,7 @@ producerTemplate.sendBody("paho:topic", payload);
 ----
 
 
-=== Samples
+== Samples
 
 For example the following snippet reads messages from the MQTT broker
 installed on the same host as the Camel router:
@@ -192,7 +193,7 @@ from("direct:test")
     .to("paho:some/target/queue");
 ----
 
-For example this is how to read messages from the remote MQTT broker: 
+For example this is how to read messages from the remote MQTT broker: 
 
 [source]
 ----
diff --git a/components/camel-quartz/src/main/docs/quartz-component.adoc b/components/camel-quartz/src/main/docs/quartz-component.adoc
index 2c491a9..09d8e1f 100644
--- a/components/camel-quartz/src/main/docs/quartz-component.adoc
+++ b/components/camel-quartz/src/main/docs/quartz-component.adoc
@@ -1,16 +1,14 @@
-[[quartz-component]]
-== Quartz Component (deprecated)
+= Quartz Component (deprecated)
 
+*Available as of Camel version 2.12*
 *Available as of Camel version 1.0*
 
-The *quartz:* component provides a scheduled delivery of messages using
-the http://www.quartz-scheduler.org/[Quartz Scheduler 1.x].  +
+
+The Quartz component provides a scheduled delivery of messages using
+the http://www.quartz-scheduler.org/[Quartz Scheduler 2.x].  +
  Each endpoint represents a different timer (in Quartz terms, a Trigger
 and JobDetail).
 
-TIP: If you are using Quartz 2.x then from Camel 2.12 onwards there is a
-<<quartz2-component,Quartz2>> component you should use
-
 Maven users will need to add the following dependency to their `pom.xml`
 for this component:
 
@@ -24,15 +22,15 @@ for this component:
 </dependency>
 ------------------------------------------------------------
 
-### URI format
 
-[source,java]
---------------------------------------------
+== URI format
+
+----
 quartz://timerName?options
 quartz://groupName/timerName?options
 quartz://groupName/timerName?cron=expression
 quartz://timerName?cron=expression
---------------------------------------------
+----
 
 The component uses either a `CronTrigger` or a `SimpleTrigger`. If no
 cron expression is provided, the component uses a simple trigger. If no
@@ -42,7 +40,7 @@ name.
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Options
+== Options
 
 
 
@@ -109,88 +107,134 @@ with the following path and query parameters:
 | *triggerParameters* (advanced) | To configure additional options on the trigger. |  | Map
 |===
 // endpoint options: END
+// spring-boot-auto-configure options: START
+== Spring Boot Auto-Configuration
+
+When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:
+
+[source,xml]
+----
+<dependency>
+  <groupId>org.apache.camel</groupId>
+  <artifactId>camel-quartz-starter</artifactId>
+  <version>x.x.x</version>
+  <!-- use the same version as your Camel core version -->
+</dependency>
+----
 
 
-When using a
-http://quartz-scheduler.org/api/2.0.0/org/quartz/StatefulJob.html[StatefulJob],
-the
+The component supports 12 options, which are listed below.
+
+
+
+[width="100%",cols="2,5,^1,2",options="header"]
+|===
+| Name | Description | Default | Type
+| *camel.component.quartz.auto-start-scheduler* | Whether or not the scheduler should be auto started. This options is default true | true | Boolean
+| *camel.component.quartz.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
+| *camel.component.quartz.enable-jmx* | Whether to enable Quartz JMX which allows to manage the Quartz scheduler from JMX. This options is default true | true | Boolean
+| *camel.component.quartz.enabled* | Whether to enable auto configuration of the quartz component. This is enabled by default. |  | Boolean
+| *camel.component.quartz.interrupt-jobs-on-shutdown* | Whether to interrupt jobs on shutdown which forces the scheduler to shutdown quicker and attempt to interrupt any running jobs. If this is enabled then any running jobs can fail due to being interrupted. | false | Boolean
+| *camel.component.quartz.prefix-instance-name* | Whether to prefix the Quartz Scheduler instance name with the CamelContext name. This is enabled by default, to let each CamelContext use its own Quartz scheduler instance by default. You can set this option to false to reuse Quartz scheduler instances between multiple CamelContext's. | true | Boolean
+| *camel.component.quartz.prefix-job-name-with-endpoint-id* | Whether to prefix the quartz job with the endpoint id. This option is default false. | false | Boolean
+| *camel.component.quartz.properties* | Properties to configure the Quartz scheduler. The option is a java.util.Properties type. |  | String
+| *camel.component.quartz.properties-file* | File name of the properties to load from the classpath |  | String
+| *camel.component.quartz.scheduler* | To use the custom configured Quartz scheduler, instead of creating a new Scheduler. The option is a org.quartz.Scheduler type. |  | String
+| *camel.component.quartz.scheduler-factory* | To use the custom SchedulerFactory which is used to create the Scheduler. The option is a org.quartz.SchedulerFactory type. |  | String
+| *camel.component.quartz.start-delayed-seconds* | Seconds to wait before starting the quartz scheduler. |  | Integer
+|===
+// spring-boot-auto-configure options: END
+
+
+
+For example, the following routing rule will fire two timer events to
+the `mock:results` endpoint:
+
+[source,java]
+----
+from("quartz://myGroup/myTimerName?trigger.repeatInterval=2&trigger.repeatCount=1").routeId("myRoute")
+    .to("mock:result");
+----
+
+When using `stateful=true`, the
 http://quartz-scheduler.org/api/2.0.0/org/quartz/JobDataMap.html[JobDataMap]
 is re-persisted after every execution of the job, thus preserving state
 for the next execution.
 
+[NOTE]
+====
+*Running in OSGi and having multiple bundles with quartz routes*
 
-INFO: *Running in OSGi and having multiple bundles with quartz
-routes*
 If you run in OSGi such as Apache ServiceMix, or Apache Karaf, and have
 multiple bundles with Camel routes that start from
-<<quartz-component,Quartz>> endpoints, then make sure if you assign +
- an `id` to the <camelContext> that this id is unique, as this is
+xref:quartz-component.adoc[Quartz] endpoints, then make sure if you assign an `id`
+to the `<camelContext>` that this id is unique, as this is
 required by the `QuartzScheduler` in the OSGi container. If you do not
-set any `id` on <camelContext> then +
- a unique id is auto assigned, and there is no problem.
+set any `id` on `<camelContext>` then a unique id is auto assigned, and there is no problem.
+====
 
-### Configuring quartz.properties file
+== Configuring quartz.properties file
 
 By default Quartz will look for a `quartz.properties` file in the
 `org/quartz` directory of the classpath. If you are using WAR
 deployments this means just drop the quartz.properties in
 `WEB-INF/classes/org/quartz`.
 
-However the Camel <<quartz-component,Quartz>> component also allows you to
-configure properties:
+However the Camel xref:quartz-component.adoc[Quartz] component also allows you
+to configure properties:
 
 [width="100%",cols="10%,10%,10%,70%",options="header",]
-|=======================================================================
+|===
 |Parameter |Default |Type |Description
 
-|`properties` |`null` |`Properties` |*Camel 2.4*: You can configure a `java.util.Properties` instance.
+|`properties` |`null` |`Properties` |You can configure a `java.util.Properties` instance.
 
-|`propertiesFile` |`null` |`String` |*Camel 2.4*: File name of the properties to load from the classpath
-|=======================================================================
+|`propertiesFile` |`null` |`String` |File name of the properties to load from the classpath
+|===
 
 To do this you can configure this in Spring XML as follows
 
 [source,xml]
--------------------------------------------------------------------------------
+----
 <bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
     <property name="propertiesFile" value="com/mycompany/myquartz.properties"/>
 </bean>
--------------------------------------------------------------------------------
+----
 
-### Enabling Quartz scheduler in JMX
+== Enabling Quartz scheduler in JMX
 
 You need to configure the quartz scheduler properties to enable JMX. +
  That is typically setting the option
 `"org.quartz.scheduler.jmx.export"` to a `true` value in the
 configuration file.
 
-From Camel 2.13 onwards Camel will automatic set this option to true,
-unless explicit disabled.
+This option is set to true by default, unless explicitly disabled.
+
+== Starting the Quartz scheduler
 
-### Starting the Quartz scheduler
+The xref:quartz-component.adoc[Quartz] component offers an option to let the
+Quartz scheduler be started delayed, or not auto started at all.
 
 This is an example:
 
 [source,xml]
-----------------------------------------------------------------------------
+----
 <bean id="quartz" class="org.apache.camel.component.quartz.QuartzComponent">
     <property name="startDelayedSeconds" value="5"/>
 </bean>
-----------------------------------------------------------------------------
-
-### Clustering
+----
 
-*Available as of Camel 2.4*
+== Clustering
 
 If you use Quartz in clustered mode, e.g. the `JobStore` is clustered.
-Then from Camel 2.4 onwards the <<quartz-component,Quartz>> component will
-*not* pause/remove triggers when a node is being stopped/shutdown. This
-allows the trigger to keep running on the other nodes in the cluster.
+Then the xref:quartz-component.adoc[Quartz] component will *not* pause/remove
+triggers when a node is being stopped/shutdown. This allows the trigger
+to keep running on the other nodes in the cluster.
 
 *Note*: When running in clustered node no checking is done to ensure
 unique job name/group for endpoints.
 
-### Message Headers
+== Message Headers
 
 Camel adds the getters from the Quartz Execution Context as header
 values. The following headers are added: +
@@ -202,66 +246,206 @@ values. The following headers are added: +
 The `fireTime` header contains the `java.util.Date` of when the exchange
 was fired.
 
-### Using Cron Triggers
+== Using Cron Triggers
 
 Quartz supports
-http://www.quartz-scheduler.org/documentation/quartz-2.1.x/tutorials/crontrigger[Cron-like
+http://www.quartz-scheduler.org/documentation/quartz-2.3.0/tutorials/crontrigger.html[Cron-like
 expressions] for specifying timers in a handy format. You can use these
 expressions in the `cron` URI parameter; though to preserve valid URI
-encoding we allow + to be used instead of spaces. Quartz provides a
-http://www.quartz-scheduler.org/docs/tutorials/crontrigger.html[little
-tutorial] on how to use cron expressions.
+encoding we allow + to be used instead of spaces.
 
 For example, the following will fire a message every five minutes
 starting at 12pm (noon) to 6pm on weekdays:
 
 [source,java]
------------------------------------------------------------------------------------------------
-from("quartz://myGroup/myTimerName?cron=0+0/5+12-18+?+*+MON-FRI").to("activemq:Totally.Rocks");
------------------------------------------------------------------------------------------------
+----
+from("quartz://myGroup/myTimerName?cron=0+0/5+12-18+?+*+MON-FRI")
+    .to("activemq:Totally.Rocks");
+----
 
 which is equivalent to using the cron expression
 
-[source,java]
------------------------
+----
 0 0/5 12-18 ? * MON-FRI
------------------------
+----
 
 The following table shows the URI character encodings we use to preserve
 valid URI syntax:
 
 [width="100%",cols="50%,50%",options="header",]
-|=======================================================================
+|===
 |URI Character |Cron character
 
 |`+` | _Space_
-|=======================================================================
+|===
 
-### Specifying time zone
+== Specifying time zone
 
-*Available as of Camel 2.8.1* +
- The Quartz Scheduler allows you to configure time zone per trigger. For
+The Quartz Scheduler allows you to configure time zone per trigger. For
 example to use a timezone of your country, then you can do as follows:
 
-[source,java]
--------------------------------------------------------------------------------------------
+----
 quartz://groupName/timerName?cron=0+0/5+12-18+?+*+MON-FRI&trigger.timeZone=Europe/Stockholm
--------------------------------------------------------------------------------------------
+----
 
 The timeZone value is the values accepted by `java.util.TimeZone`.
 
-In Camel 2.8.0 or older versions you would have to provide your custom
-`String` to `java.util.TimeZone` link:type-converter.html[Type
-Converter] to be able configure this from the endpoint uri. +
- From Camel 2.8.1 onwards we have included such a
-Type Converter in the camel-core.
+== Configuring misfire instructions
+
+The quartz scheduler can be configured with a misfire instruction
+to handle misfire situations for the trigger.
+The concrete trigger type that you are using will have defined a set of additional `MISFIRE_INSTRUCTION_XXX`
+constants that may be set as this property's value.
+
+For example to configure the simple trigger to use misfire instruction 4:
+
+----
+quartz://myGroup/myTimerName?trigger.repeatInterval=2000&trigger.misfireInstruction=4
+----
+
+And likewise you can configure the cron trigger with one of its misfire instructions as well:
+----
+quartz://myGroup/myTimerName?cron=0/2+*+*+*+*+?trigger.misfireInstruction=2
+----
+
+The simple and cron triggers has the following misfire instructions representative:
+
+=== SimpleTrigger.MISFIRE_INSTRUCTION_FIRE_NOW = 1 (default)
+
+Instructs the Scheduler that upon a mis-fire
+situation, the SimpleTrigger wants to be fired now by Scheduler.
+
+This instruction should typically only be used for
+'one-shot' (non-repeating) Triggers. If it is used on a trigger with a
+repeat count > 0 then it is equivalent to the instruction MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT.
+
+=== SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_EXISTING_REPEAT_COUNT = 2
+
+Instructs the Scheduler that upon a mis-fire
+situation, the SimpleTrigger wants to be
+re-scheduled to 'now' (even if the associated Calendar excludes 'now')
+with the repeat count left as-is.  This does obey the
+Trigger end-time however, so if 'now' is after the
+end-time the Trigger will not fire again.
+
+Use of this instruction causes the trigger to 'forget'
+the start-time and repeat-count that it was originally setup with (this
+is only an issue if you for some reason wanted to be able to tell what
+the original values were at some later time).
+
+=== SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NOW_WITH_REMAINING_REPEAT_COUNT = 3
+
+Instructs the Scheduler that upon a mis-fire
+situation, the SimpleTrigger wants to be
+re-scheduled to 'now' (even if the associated Calendar
+excludes 'now') with the repeat count set to what it would be, if it had
+not missed any firings.  This does obey the Trigger end-time
+however, so if 'now' is after the end-time the Trigger will
+not fire again.
+
+Use of this instruction causes the trigger to 'forget'
+the start-time and repeat-count that it was originally setup with.
+Instead, the repeat count on the trigger will be changed to whatever
+the remaining repeat count is (this is only an issue if you for some
+reason wanted to be able to tell what the original values were at some
+later time).
+
+This instruction could cause the Trigger
+to go to the 'COMPLETE' state after firing 'now', if all the
+repeat-fire-times where missed.
+
+=== SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_REMAINING_COUNT = 4
+
+Instructs the Scheduler that upon a mis-fire
+situation, the SimpleTrigger wants to be
+re-scheduled to the next scheduled time after 'now' - taking into
+account any associated Calendar and with the
+repeat count set to what it would be, if it had not missed any firings.
+
+WARNING: This instruction could cause the Trigger
+to go directly to the 'COMPLETE' state if all fire-times where missed.
+
+=== SimpleTrigger.MISFIRE_INSTRUCTION_RESCHEDULE_NEXT_WITH_EXISTING_COUNT = 5
+
+Instructs the Scheduler that upon a mis-fire
+situation, the SimpleTrigger wants to be
+re-scheduled to the next scheduled time after 'now' - taking into
+account any associated Calendar, and with the repeat count left unchanged.
+
+WARNING: This instruction could cause the Trigger
+to go directly to the 'COMPLETE' state if the end-time of the trigger
+has arrived.
+
+=== CronTrigger.MISFIRE_INSTRUCTION_FIRE_ONCE_NOW = 1 (default)
+
+Instructs the Scheduler that upon a mis-fire
+situation, the CronTrigger wants to be fired now by Scheduler.
+
+=== CronTrigger.MISFIRE_INSTRUCTION_DO_NOTHING = 2
+
+Instructs the Scheduler that upon a mis-fire
+situation, the CronTrigger wants to have it's
+next-fire-time updated to the next time in the schedule after the
+current time (taking into account any associated Calendar
+but it does not want to be fired now.
+
+
+== Using QuartzScheduledPollConsumerScheduler
 
-### See Also
+The xref:quartz-component.adoc[Quartz] component provides a
+Polling Consumer scheduler which allows to
+use cron based scheduling for xref:latest@manual::polling-consumer.adoc[Polling
+Consumer] such as the File and FTP
+consumers.
 
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
+For example to use a cron based expression to poll for files every 2nd
+second, then a Camel route can be define simply as:
 
-* <<quartz2-component,Quartz2>>
-* <<timer-component,Timer>>
+[source,java]
+----
+    from("file:inbox?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?")
+       .to("bean:process");
+----
+
+Notice we define the `scheduler=quartz` to instruct Camel to use the
+xref:quartz-component.adoc[Quartz] based scheduler. Then we use `scheduler.xxx`
+options to configure the scheduler. The xref:quartz-component.adoc[Quartz]
+scheduler requires the cron option to be set.
+
+The following options is supported:
+
+[width="100%",cols="10%,10%,10%,70%",options="header",]
+|===
+|Parameter |Default |Type |Description
+
+|`quartzScheduler` |`null` |`org.quartz.Scheduler` |To use a custom Quartz scheduler. If none configure then the shared
+scheduler from the xref:quartz-component.adoc[Quartz] component is used.
+
+|`cron` |`null` |`String` |*Mandatory*: To define the cron expression for triggering the polls.
+
+|`triggerId` |`null` |`String` |To specify the trigger id. If none provided then an UUID is generated
+and used.
+
+|`triggerGroup` |`QuartzScheduledPollConsumerScheduler` |`String` |To specify the trigger group.
+
+|`timeZone` |`Default` |`TimeZone` |The time zone to use for the CRON trigger.
+|===
+
+*Important:* Remember configuring these options from the endpoint
+URIs must be prefixed with `scheduler.`.
+For example to configure the trigger id and group:
+
+[source,java]
+----
+    from("file:inbox?scheduler=quartz&scheduler.cron=0/2+*+*+*+*+?&scheduler.triggerId=myId&scheduler.triggerGroup=myGroup")
+       .to("bean:process");
+----
+
+There is also a CRON scheduler in Spring, so you can
+use the following as well:
+
+[source,java]
+----
+    from("file:inbox?scheduler=spring&scheduler.cron=0/2+*+*+*+*+?")
+       .to("bean:process");
+----
diff --git a/components/camel-saxon/src/main/docs/xquery-component.adoc b/components/camel-saxon/src/main/docs/xquery-component.adoc
index 38a7d7a..07bcee1 100644
--- a/components/camel-saxon/src/main/docs/xquery-component.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-component.adoc
@@ -1,17 +1,17 @@
-[[xquery-component]]
-== XQuery Component
+= XQuery Component
 
 *Available as of Camel version 1.0*
 
+
 Camel supports http://www.w3.org/TR/xquery/[XQuery] to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration]. For example you could use XQuery to create an
-Predicate in a link:message-filter.html[Message
+Predicate in a xref:latest@manual::filter-eip.adoc[Message
 Filter] or as an Expression for a
 Recipient List.
 
-### Options
+== Options
 
 
 
@@ -113,7 +113,7 @@ The component supports 8 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-### Examples
+== Examples
 
 [source,java]
 ---------------------------
@@ -133,7 +133,7 @@ from("direct:start").
   recipientList().xquery("concat('mock:foo.', /person/@city)", String.class);
 -----------------------------------------------------------------------------
 
-### Variables
+== Variables
 
 The IN message body will be set as the `contextItem`. Besides this these
 Variables is also added as parameters:
@@ -160,7 +160,7 @@ with they own key name, for instance if there is an IN header with the
 key name *foo* then its added as *foo*.
 |=======================================================================
 
-### Using XML configuration
+== Using XML configuration
 
 If you prefer to configure your routes in your Spring
 XML file then you can use XPath expressions as follows
@@ -198,7 +198,7 @@ attribute:
     <xquery type="java.lang.String">concat('mock:foo.', /person/@city)</xquery>
 -------------------------------------------------------------------------------
 
-### Using XQuery as transformation
+== Using XQuery as transformation
 
 We can do a message translation using transform or setBody in the route,
 as shown below:
@@ -219,9 +219,19 @@ from("direct:start").
    transform().xquery("/people/person/text()", String.class);
 -------------------------------------------------------------
 
- 
+If you want to use camel variables like headers, you have to explicitly declare them in the xquery expression.
+[source,xml]
+-------------------------------------------------------------
+<transform>
+    <xquery>
+        declare variable $in.headers.foo external;
+        element item {$in.headers.foo}
+    </xquery>
+</transform>
+-------------------------------------------------------------
+
 
-### Using XQuery as an endpoint
+== Using XQuery as an endpoint
 
 Sometimes an XQuery expression can be quite large; it can essentally be
 used for Templating. So you may want to use an
@@ -242,9 +252,7 @@ The following example shows how to take a message of an ActiveMQ queue
   </camelContext>
 -------------------------------------------------------------------------
 
-Currently custom functions in XQuery might result in a NullPointerException (Camel 2.18, 2.19 and 2.20). This is expected to be fixed in Camel 2.21
-
-### Examples
+== Examples
 
 Here is a simple
 https://github.com/apache/camel/tree/master/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryFilterTest.java[example]
@@ -256,7 +264,7 @@ https://github.com/apache/camel/tree/master/components/camel-saxon/src/test/java
 uses XQuery with namespaces as a predicate in a
 Message Filter
 
-### Learning XQuery
+== Learning XQuery
 
 XQuery is a very powerful language for querying, searching, sorting and
 returning XML. For help learning XQuery try these tutorials
@@ -269,7 +277,7 @@ Tutorial]
 You might also find the http://www.w3.org/TR/xpath-functions/[XQuery
 function reference] useful
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -283,7 +291,7 @@ eg to refer to a file on the classpath you can do:
 .setHeader("myHeader").xquery("resource:classpath:myxquery.txt", String.class)
 ------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use XQuery in your camel routes you need to add the a dependency on
 *camel-saxon* which implements the XQuery language.
diff --git a/components/camel-saxon/src/main/docs/xquery-language.adoc b/components/camel-saxon/src/main/docs/xquery-language.adoc
index 2a269ff..1d91ec0 100644
--- a/components/camel-saxon/src/main/docs/xquery-language.adoc
+++ b/components/camel-saxon/src/main/docs/xquery-language.adoc
@@ -1,17 +1,17 @@
-[[xquery-language]]
-== XQuery Language
+= XQuery Language
 
 *Available as of Camel version 1.0*
 
+
 Camel supports http://www.w3.org/TR/xquery/[XQuery] to allow an
 Expression or Predicate to be
-used in the DSL or link:xml-configuration.html[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration]. For example you could use XQuery to create an
-Predicate in a link:message-filter.html[Message
+Predicate in a xref:latest@manual::filter-eip.adoc[Message
 Filter] or as an Expression for a
 Recipient List.
 
-### XQuery Language options
+== XQuery Language options
 
 // language options: START
 The XQuery language supports 3 options, which are listed below.
@@ -48,7 +48,7 @@ The component supports 8 options, which are listed below.
 |===
 // spring-boot-auto-configure options: END
 
-### Examples
+== Examples
 
 [source,java]
 ---------------------------
@@ -68,7 +68,7 @@ from("direct:start").
   recipientList().xquery("concat('mock:foo.', /person/@city)", String.class);
 -----------------------------------------------------------------------------
 
-### Variables
+== Variables
 
 The IN message body will be set as the `contextItem`. Besides this these
 Variables is also added as parameters:
@@ -95,7 +95,7 @@ with they own key name, for instance if there is an IN header with the
 key name *foo* then its added as *foo*.
 |=======================================================================
 
-### Using XML configuration
+== Using XML configuration
 
 If you prefer to configure your routes in your Spring
 XML file then you can use XPath expressions as follows
@@ -133,7 +133,7 @@ attribute:
     <xquery type="java.lang.String">concat('mock:foo.', /person/@city)</xquery>
 -------------------------------------------------------------------------------
 
-### Using XQuery as transformation
+== Using XQuery as transformation
 
 We can do a message translation using transform or setBody in the route,
 as shown below:
@@ -154,9 +154,9 @@ from("direct:start").
    transform().xquery("/people/person/text()", String.class);
 -------------------------------------------------------------
 
- 
+ 
 
-### Using XQuery as an endpoint
+== Using XQuery as an endpoint
 
 Sometimes an XQuery expression can be quite large; it can essentally be
 used for Templating. So you may want to use an
@@ -177,7 +177,7 @@ The following example shows how to take a message of an ActiveMQ queue
   </camelContext>
 -------------------------------------------------------------------------
 
-### Examples
+== Examples
 
 Here is a simple
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-saxon/src/test/java/org/apache/camel/builder/saxon/XQueryFilterTest.java[example]
@@ -189,7 +189,7 @@ http://svn.apache.org/repos/asf/camel/trunk/components/camel-saxon/src/test/java
 uses XQuery with namespaces as a predicate in a
 Message Filter
 
-### Learning XQuery
+== Learning XQuery
 
 XQuery is a very powerful language for querying, searching, sorting and
 returning XML. For help learning XQuery try these tutorials
@@ -202,7 +202,7 @@ Tutorial]
 You might also find the http://www.w3.org/TR/xpath-functions/[XQuery
 function reference] useful
 
-### Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -216,7 +216,7 @@ eg to refer to a file on the classpath you can do:
 .setHeader("myHeader").xquery("resource:classpath:myxquery.txt", String.class)
 ------------------------------------------------------------------------------
 
-### Dependencies
+== Dependencies
 
 To use XQuery in your camel routes you need to add the a dependency on
 *camel-saxon* which implements the XQuery language.
diff --git a/components/camel-spring-boot/src/main/docs/spring-boot.adoc b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
index 69c98ac..cb4c0fe 100644
--- a/components/camel-spring-boot/src/main/docs/spring-boot.adoc
+++ b/components/camel-spring-boot/src/main/docs/spring-boot.adoc
@@ -1,13 +1,11 @@
 [[SpringBoot-SpringBoot]]
-== Spring Boot
+= Spring Boot
 
 *Available as of Camel 2.15*
 
-NOTE: Spring Boot 2 is supported since Camel 2.22 (summer 2018). Previous versions of Camel support Spring Boot 1.x only.
-
-Spring Boot component provides auto-configuration for Apache Camel. Our
+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
+routes available in the Spring context and registers the key Camel
 utilities (like producer template, consumer template and the type
 converter) as beans.
 
@@ -23,21 +21,21 @@ in order to use this component:
 </dependency>
 ----
 
-`camel-spring-boot` jar comes with the `spring.factories` file, so as
+`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
+== Camel Spring Boot Starter
 
 *Available as of Camel 2.17*
 
 Apache Camel ships
-a https://github.com/spring-projects/spring-boot/tree/master/spring-boot-starters[Spring
+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/tree/master/examples/camel-example-spring-boot-starter[sample
-application] in the source code also.
+https://github.com/apache/camel/tree/master/examples/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:
 
@@ -71,8 +69,8 @@ public class MyRoute extends RouteBuilder {
 
 Then these routes will be started automatically.
 
-You can customize the Camel application in the `application.properties`
-or `application.yml` file. 
+You can customize the Camel application in the `application.properties`
+or `application.yml` file. 
 
 
 // spring-boot-auto-configure options: START
@@ -230,15 +228,15 @@ The component supports 140 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 [[SpringBoot-Auto-configuredCamelcontext]]
-=== Auto-configured Camel context
+== 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
+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.
+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]
 ----
@@ -257,12 +255,12 @@ public class MyAppConfig {
 ----
 
 [[SpringBoot-Auto-detectingCamelroutes]]
-=== Auto-detecting Camel routes
+== Auto-detecting Camel routes
 
 Camel auto-configuration collects all the `RouteBuilder` instances from
-the Spring context and automatically injects them into the provided
+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
+Boot starter is as simple as adding the `@Component` annotated class to
 your classpath:
 
 [source,java]
@@ -278,7 +276,7 @@ public class MyRouter extends RouteBuilder {
 }
 ----
 
-Or creating a new route `RouteBuilder` bean in your `@Configuration` class:
+Or creating a new route `RouteBuilder` bean in your `@Configuration` class:
 
 [source,java]
 ----
@@ -301,14 +299,14 @@ public class MyRouterConfiguration {
 ----
 
 [[SpringBoot-Camelproperties]]
-=== Camel properties
+== 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
+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:  
+the Camel properties support. It basically means
+that any property defined in `application.properties` file:  
 
 [source,text]
 ----
@@ -338,11 +336,11 @@ public class MyRouter extends RouteBuilder {
 ----
 
 [[SpringBoot-CustomCamelcontextconfiguration]]
-=== Custom Camel context configuration
+== Custom Camel context configuration
 
-If you would like to perform some operations on `CamelContext` bean
+If you would like to perform some operations on `CamelContext` bean
 created by Camel auto-configuration,
-register `CamelContextConfiguration` instance in your Spring context:
+register `CamelContextConfiguration` instance in your Spring context:
 
 [source,java]
 ----
@@ -362,17 +360,17 @@ public class MyAppConfig {
 }
 ----
 
-Method beforeApplicationStart` will
+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
+fully auto-configured. You can add many instances of
+`CamelContextConfiguration` into your Spring context - all of them will
 be executed.
 
 [[SpringBoot-DisablingJMX]]
-=== Disabling JMX
+== Disabling JMX
 
-To disable JMX of the auto-configured `CamelContext` use
+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:
@@ -383,7 +381,7 @@ camel.springboot.jmx-enabled = false
 ----
 
 [[SpringBoot-Auto-configuredconsumerandproducertemplates]]
-=== Auto-configured consumer and producer templates
+== Auto-configured consumer and producer templates
 
 Camel auto-configuration provides pre-configured `ConsumerTemplate` and
 `ProducerTemplate` instances. You can simply inject them into your
@@ -420,10 +418,10 @@ camel.springboot.producer-template-cache-size = 200
 ----
 
 [[SpringBoot-Auto-configuredTypeConverter]]
-=== Auto-configured TypeConverter
+== Auto-configured TypeConverter
 
-Camel auto-configuration registers a `TypeConverter` instance named
-`typeConverter` in the Spring context.
+Camel auto-configuration registers a `TypeConverter` instance named
+`typeConverter` in the Spring context.
 
 [source,java]
 ----
@@ -442,17 +440,17 @@ public class InvoiceProcessor {
 ----
 
 [[SpringBoot-SpringtypeconversionAPIbridge]]
-==== Spring type conversion API bridge
+=== 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
+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:
+accessed via Camel `TypeConverter` API:
 
 [source,java]
 ----
@@ -471,16 +469,16 @@ public class InvoiceProcessor {
 ----
 
 Under the hood Camel Spring Boot delegates conversion to the Spring's
-`ConversionService` instances available in the application context. If
+`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
+== 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`.
+`camel.springboot.type-conversion` property to `false`.
 
 [source,text]
 ----
@@ -489,10 +487,9 @@ camel.springboot.type-conversion = false
 
 
 [[SpringBoot-Keepingapplicationalive]]
-=== Keeping the application alive
+== Keeping the application alive
 
-This feature is available starting from Camel *2.15.2*. Camel
-applications having this feature enabled launch a new thread on startup for the sole purpose of
+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.
@@ -508,11 +505,11 @@ Applications using web modules (e.g. importing the `org.springframework.boot:spr
 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
+== 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.
-From *Camel 2.17* onwards you can configure the directory name or turn
+You can configure the directory name or turn
 this off using the configuration option
 
 [source,text]
@@ -539,7 +536,7 @@ The XML files should be Camel XML routes (not CamelContext) such as
 ----
 
 [[SpringBoot-AddingREST]]
-=== Adding XML Rest-DSL
+== 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.
@@ -579,7 +576,7 @@ The Rest-DSL XML files should be Camel XML rests (not CamelContext) such as
 ----
 
 [[SpringBoot-Testing]]
-=== Testing
+== Testing
 For testing, Maven users will need to add the following dependencies to their `pom.xml`:
 
 [source,xml]
@@ -605,7 +602,7 @@ https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-tes
 
 To get the `CamelContext` or `ProducerTemplate`, you can inject them into the class in the normal Spring manner, using `@Autowired`.
 
-You can also use link:../../../../../docs/user-manual/en/spring-testing.adoc#camel-enhanced-spring-test[Camel Spring test annotations] to configure tests declaratively. This example uses the `@MockEndpoints` annotation to auto-mock an endpoint:
+You can also use xref:latest@manual::spring-testing.adoc[Camel Spring test annotations] to configure tests declaratively. This example uses the `@MockEndpoints` annotation to auto-mock an endpoint:
 
 [source,java]
 ----
@@ -617,7 +614,7 @@ public class MyApplicationTest {
     @Autowired
     private ProducerTemplate template;
 
-    @EndpointInject(uri = "mock:direct:end")
+    @EndpointInject("mock:direct:end")
     MockEndpoint mock;
 
     @Test
diff --git a/components/camel-spring/src/main/docs/spel-language.adoc b/components/camel-spring/src/main/docs/spel-language.adoc
index 035a88b..e125917 100644
--- a/components/camel-spring/src/main/docs/spel-language.adoc
+++ b/components/camel-spring/src/main/docs/spel-language.adoc
@@ -1,16 +1,16 @@
-[[spel-language]]
-== SpEL Language
+= SpEL Language
 
 *Available as of Camel version 2.7*
 
+
 Camel allows
 https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#expressions[Spring Expression Language (SpEL)]
 to be used as an Expression or Predicate in the DSL or XML Configuration.
 
-NOTE: It is recommended to use SpEL in Spring runtimes. However from Camel 2.21 onwards you can
+NOTE: It is recommended to use SpEL in Spring runtimes. However, you can
 use SpEL in other runtimes (there may be functionality SpEL cannot do when not running in a Spring runtime)
 
-=== Variables
+== Variables
 
 The following variables are available in expressions and predicates written in SpEL:
 
@@ -41,7 +41,7 @@ The following variables are available in expressions and predicates written in S
 |property(name, type) |Type |the property by the given name as the given type
 |===
 
-=== Options
+== Options
 
 // language options: START
 The SpEL language supports 1 options, which are listed below.
@@ -55,9 +55,9 @@ The SpEL language supports 1 options, which are listed below.
 |===
 // language options: END
 
-=== Samples
+== Samples
 
-==== Expression templating
+=== Expression templating
 
 SpEL expressions need to be surrounded by `#{` `}` delimiters since
 expression templating is enabled. This allows you to combine SpEL
@@ -101,7 +101,7 @@ template.sendBodyAndHeader("direct:example", "World", "dayOrNight", "day");
 The output on `mock:result` will be _"Hello World! What a beautiful
 day"_
 
-==== Bean integration
+=== Bean integration
 
 You can reference beans defined in the Registry
 (most likely an `ApplicationContext`) in your SpEL expressions. For
@@ -113,10 +113,10 @@ can invoke the "bar" method on this bean like this:
 #{@foo.bar == 'xyz'}
 ----
 
-==== SpEL in enterprise integration patterns
+=== SpEL in enterprise integration patterns
 
-You can use SpEL as an expression for link:recipient-list.html[Recipient
-List] or as a predicate inside a link:message-filter.html[Message
+You can use SpEL as an expression for xref:latest@manual::recipientList-eip.adoc[Recipient
+List] or as a predicate inside a xref:latest@manual::filter-eip.adoc[Message
 Filter]:
 
 [source,xml]
@@ -139,7 +139,7 @@ from("direct:foo")
     .to("direct:bar");
 ----
 
-=== Loading script from external resource
+== Loading script from external resource
 
 *Available as of Camel 2.11*
 
@@ -151,5 +151,4 @@ eg to refer to a file on the classpath you can do:
 [source,java]
 ----
 .setHeader("myHeader").spel("resource:classpath:myspel.txt")
-----
-
+----
\ No newline at end of file
diff --git a/components/camel-spring/src/main/docs/spring-event-component.adoc b/components/camel-spring/src/main/docs/spring-event-component.adoc
index 91e2dbd..ab9a3e9 100644
--- a/components/camel-spring/src/main/docs/spring-event-component.adoc
+++ b/components/camel-spring/src/main/docs/spring-event-component.adoc
@@ -1,17 +1,17 @@
-[[spring-event-component]]
-== Spring Event Component
+= Spring Event Component
 
 *Available as of Camel version 1.4*
 
-The *spring-event:* component provides access to the Spring
+
+The Spring Event component provides access to the Spring
 `ApplicationEvent` objects. This allows you to publish
 `ApplicationEvent` objects to a Spring `ApplicationContext` or to
 consume them. You can then use
-link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] to process them such as link:message-filter.html[Message
+xref:latest@manual::enterprise-integration-patterns.adoc[Enterprise Integration
+Patterns] to process them such as xref:latest@manual::filter-eip.adoc[Message
 Filter].
 
-### URI format
+== URI format
 
 [source,java]
 --------------------------------
@@ -21,7 +21,7 @@ spring-event://default[?options]
 Note, at the moment there are no options for this component. That can
 easily change in future releases, so please check back.
 
-### Spring Event Options
+== Spring Event Options
 
 
 
@@ -80,12 +80,3 @@ The component supports 4 options, which are listed below.
 | *camel.language.spel.trim* | Whether to trim the value to remove leading and trailing whitespaces and line breaks | true | Boolean
 |===
 // spring-boot-auto-configure options: END
-
-
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
diff --git a/components/camel-spring/src/main/docs/spring.adoc b/components/camel-spring/src/main/docs/spring.adoc
index fc2c18d..14c4ba5 100644
--- a/components/camel-spring/src/main/docs/spring.adoc
+++ b/components/camel-spring/src/main/docs/spring.adoc
@@ -1,19 +1,15 @@
 [[SpringSupport-SpringSupport]]
-## Spring Support
+= Spring Support
 
 Apache Camel is designed to work nicely with the
 http://www.springframework.org/[Spring Framework] in a number of ways.
 
 * Camel uses Spring Transactions as the default transaction handling in
-components like <<jms-component,JMS>> and <<jms-component,JPA>>
+components like xref:jms-component.adoc[JMS] and xref:jms-component.adoc[JPA]
 * Camel works with Spring 2 XML processing with the
 Xml Configuration
-* Camel Spring XML Schema's is defined at link:xml-reference.html[Xml
+* Camel Spring XML Schema's is defined at xref:latest@manual::xml-reference.adoc[Xml
 Reference]
-* Camel supports a powerful version of link:spring-remoting.html[Spring
-Remoting] which can use powerful routing between the client and server
-side along with using all of the available
-Components for the transport
 * Camel provides powerful Bean Integration
 with any bean defined in a Spring ApplicationContext
 * Camel integrates with various Spring helper classes; such as providing
@@ -24,13 +20,12 @@ instances or the CamelContext instance itself
 and auto-expose Spring beans as components and endpoints.
 * Allows you to reuse the Spring Testing
 framework to simplify your unit and integration testing using
-link:enterprise-integration-patterns.html[Enterprise Integration
-Patterns] and Camel's powerful <<mock-component,Mock>> and
-<<test-component,Test>> endpoints
-* From *Camel 2.15* onwards Camel supports Spring Boot using
-the `camel-spring-boot` component.
+xref:latest@manual::enterprise-integration-patterns.adoc[Enterprise Integration
+Patterns] and Camel's powerful Mock and
+xref:test.adoc[Test] endpoints
+Camel supports Spring Boot using the `camel-spring-boot` component.
 
-### Using Spring to configure the CamelContext
+== Using Spring to configure the CamelContext
 
 You can configure a CamelContext inside any spring.xml using the
 http://camel.apache.org/maven/current/camel-spring/apidocs/org/apache/camel/spring/CamelContextFactoryBean.html[CamelContextFactoryBean].
@@ -45,21 +40,7 @@ instances.
 ** Using Java Code
 ** Using Spring XML
 
-### Adding Camel Schema
-
-For Camel 1.x you need to use the following namespace:
-
-[source,java]
-----------------------------------------------
-http://activemq.apache.org/camel/schema/spring
-----------------------------------------------
-
-with the following schema location:
-
-[source,java]
----------------------------------------------------------------
-http://activemq.apache.org/camel/schema/spring/camel-spring.xsd
----------------------------------------------------------------
+== Adding Camel Schema
 
 You need to add Camel to the `schemaLocation` declaration
 
@@ -79,7 +60,7 @@ So the XML file looks like this:
           http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
 ------------------------------------------------------------------------------------------------------------------
 
-#### Using camel: namespace
+=== Using camel: namespace
 
 Or you can refer to camel XSD in the XML declaration:
 
@@ -110,10 +91,10 @@ inline namespace declaration:
 </camel:camelContext>
 --------------------------------------------------------------------------------------------
 
-#### Advanced configuration using Spring
+=== Advanced configuration using Spring
 
 See more details at
-link:advanced-configuration-of-camelcontext-using-spring.html[Advanced
+xref:latest@manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
 configuration of CamelContext using Spring]
 
 $### Using Java Code
@@ -123,7 +104,7 @@ RouteBuilder implementations. These can be
 defined as beans in spring and then referenced in your camel context
 e.g.
 
-#### Using <package>
+=== Using <package>
 
 Camel also provides a powerful feature that allows for the automatic
 discovery and initialization of routes in given packages. This is
@@ -141,23 +122,27 @@ separated list of packages that should be searched e.g.
 ----------------------------------------------------------------
 
 
-WARNING:Use caution when specifying the package name as `org.apache.camel` or a
+WARNING: Use caution when specifying the package name as `org.apache.camel` or a
 sub package of this. This causes Camel to search in its own packages for
 your routes which could cause problems.
 
 
-INFO:*Will ignore already instantiated classes*. 
-The <package> and <packageScan> will skip any classes which has already
+[NOTE]
+====
+*Will ignore already instantiated classes*
+
+The `<package>` and `<packageScan>` will skip any classes which has already
 been created by Spring etc. So if you define a route builder as a spring
 bean tag then that class will be skipped. You can include those beans
 using `<routeBuilder ref="theBeanId"/>` or the `<contextScan>` feature.
+====
 
-#### Using <packageScan>
+=== Using <packageScan>
 
-In Camel 2.0 this has been extended to allow selective inclusion and
+The component allows selective inclusion and
 exclusion of discovered route classes using Ant like path matching. In
 spring this is specified by adding a <packageScan/> tag. The tag must
-contain one or more 'package' elements (similar to 1.x), and optionally
+contain one or more 'package' elements, and optionally
 one or more 'includes' or 'excludes' elements specifying patterns to be
 applied to the fully qualified names of the discovered classes. e.g.
 
@@ -208,7 +193,7 @@ org.apache.camel.SomeExcludedRoute or org.example.RouteWhichIsExcluded
 **.??cluded* would match org.simple.IncludedRoute, org.simple.Excluded
 but not match org.simple.PrecludedRoute
 
-#### Using contextScan
+=== Using contextScan
 
 *Available as of Camel 2.4*
 
@@ -235,25 +220,24 @@ public class MyRoute extends SpringRouteBuilder {
 You can also use the ANT style for inclusion and exclusion, as mentioned
 above in the `<packageScan>` documentation.
 
-### How do I import routes from other XML files
+== How do I import routes from other XML files
 
 *Available as of Camel 2.3*
 
-When defining routes in Camel using link:xml-configuration.html[Xml
+When defining routes in Camel using xref:latest@manual::xml-configuration.adoc[Xml
 Configuration] you may want to define some routes in other XML files.
 For example you may have many routes and it may help to maintain the
 application if some of the routes are in separate XML files. You may
 also want to store common and reusable routes in other XML files, which
 you can simply import when needed.
 
-In *Camel 2.3* it is now possible to define routes outside
+It is possible to define routes outside
 `<camelContext/>` which you do in a new `<routeContext/>` tag.
 
 *Notice:* When you use <routeContext> then they are separated, and
 cannot reuse existing <onException>, <intercept>, <dataFormats> and
 similar cross cutting functionality defined in the <camelContext>. In
-other words the <routeContext> is currently isolated. This may change in
-Camel 3.x.
+other words the <routeContext> is currently isolated.
 
 For example we could have a file named `myCoolRoutes.xml` which contains
 a couple of routes as shown:
@@ -277,7 +261,7 @@ The routes defined in `<routeContext/>` can be reused by multiple
 runtime each CamelContext will create its own instance of the route
 based on the definition.
 
-#### Test time exclusion.
+=== Test time exclusion.
 
 At test time it is often desirable to be able to selectively exclude
 matching routes from being initalized that are not applicable or useful
@@ -330,14 +314,14 @@ protected Class[] excludeRoutes() {
 }
 ---------------------------------------------------
 
-### Using Spring XML
+== Using Spring XML
 
 You can use Spring 2.0 XML configuration to specify your
 Xml Configuration for
 Routes such as in the following
 http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/routingUsingCamelContextFactory.xml[example].
 
-### Configuring Components and Endpoints
+== Configuring Components and Endpoints
 
 You can configure your Component or
 Endpoint instances in your Spring
@@ -352,33 +336,21 @@ SpringCamelContext lazily fetching components from the spring context
 for the scheme name you use for Endpoint
 URIs.
 
-For more detail see link:how-do-i-configure-endpoints.html[Configuring
+For more detail see xref:latest@manual::faq/how-do-i-configure-endpoints.adoc[Configuring
 Endpoints and Components].
 
-### CamelContextAware
+== CamelContextAware
 
 If you want to be injected with the CamelContext
 in your POJO just implement the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html[CamelContextAware
 interface]; then when Spring creates your POJO the CamelContext will be
-injected into your POJO. Also see the link:bean-integration.html[Bean
+injected into your POJO. Also see the xref:latest@manual::bean-integration.adoc[Bean
 Integration] for further injections.
 
-### Integration Testing
+== Integration Testing
 
 To avoid a hung route when testing using Spring Transactions see the
 note about Spring Integration Testing
-under Transactional Client.
-
-### See also
-
-* Spring JMS Tutorial
-* link:creating-a-new-spring-based-camel-route.html[Creating a new
-Spring based Camel Route]
-* Spring example
-* Xml Reference
-* link:advanced-configuration-of-camelcontext-using-spring.html[Advanced
-configuration of CamelContext using Spring]
-* link:how-do-i-import-routes-from-other-xml-files.html[How do I import
-routes from other XML files]
+under Transactional Client.
 
diff --git a/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc b/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
index f7dd187..886677e 100644
--- a/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
+++ b/components/camel-test-blueprint/src/main/docs/test-blueprint.adoc
@@ -1,4 +1,4 @@
-## Blueprint Testing
+= Blueprint Testing
 
 *Available as of Camel 2.10*
 
@@ -11,7 +11,7 @@ integration work. Camel supports the definition of
 Blueprint routes, but given
 that Blueprint is an OSGi specific technology, writing unit tests is
 quite difficult. This library leverages
-http://code.google.com/p/pojosr/[PojoSR] (now Felix Connect) which
+http://code.google.com/p/pojosr/[PojoSR] (now Felix Connect) which
 provides a service registry without using a fully compliant OSGi
 container. This allows defining real unit tests (as opposed to
 integration tests using
@@ -22,7 +22,8 @@ Also notice the use of *`getBlueprintDescriptor`* to specify the
 location of the OSGi Blueprint XML file. +
  If you have multiple OSGi Blueprint XML files, then you can specify
 them with a comma-separated list in the *`getBlueprintDescriptor`*
-method.
+method. Notice that only **one** `CamelContext` is supported per blueprint bundle,
+so if you have multiple XML files then only one of them should have `<camelContext>`.
 
 Here's the
 http://svn.apache.org/viewvc/camel/trunk/components/camel-test-blueprint/src/test/resources/org/apache/camel/test/blueprint/camelContext.xml?view=markup[Blueprint
@@ -41,14 +42,14 @@ pom:
 </dependency>
 -----------------------------------------------
 
-### Classpath scanning
+== Classpath scanning
 
 By default PojoSR test container scans the test classpath for all the
 OSGi bundles available there. All the bundles with Blueprint descriptor
 files will be automatically started by the test container. If you would
 like to prevent particular bundles from being started by the test
 container, override the `getBundleFilter` method, just as demonstrated
-in the snippet below. 
+in the snippet below. 
 
 [source,java]
 --------------------------------------------------------------------------------
@@ -64,7 +65,7 @@ getBlueprintDescriptor method will not prevent the test container from
 loading a given descriptor. The `getBundleFilter` method is the proper
 way of filtering out bundles you don't want to start during the test.
 
-### Setting timeout when getting CamelContext
+== Setting timeout when getting CamelContext
 
 *Available as of Camel 2.13.0/2.12.1/2.11.2*
 
@@ -77,7 +78,7 @@ property.
 * Locally for each test, by overriding _getCamelContextCreationTimeout_
 method.
 
-### Adding services on startup
+== Adding services on startup
 
 *Available as of Camel 2.11.2/2.12.0*
 
@@ -113,7 +114,7 @@ services.put("myService", asService(myService, null));
 ------------------------------------------------------
 
 This allows us to use the service by calling a method on it from a Camel
-<<bean-component,Bean>> component in a route as shown:
+Bean component in a route as shown:
 
 [source,xml]
 --------------------------------
@@ -147,11 +148,11 @@ And in the route we use the FQN name:
     </route>
 ----------------------------------------------------------------
 
- 
+ 
 
-From *Camel 2.16.0*, an additional `addServicesOnStartup` method is
+From *Camel 2.16.0*, an additional `addServicesOnStartup` method is
 available to be overridden making it ideal for when needing to specify
-multiple services with the same interface. 
+multiple services with the same interface. 
 
 [source,java]
 ------------------------------------------------------------------------------------------------------------------
@@ -159,10 +160,10 @@ multiple services with the same interface. 
   protected void addServicesOnStartup(List<KeyValueHolder<String, KeyValueHolder<Object, Dictionary>>> services) {
       Dictionary<String, String> dict1 = new Hashtable<String, String>();
       dict1.put("osgi.jndi.service.name", "jdbc/db1");
-        
+        
       Dictionary<String, String> dict2 = new Hashtable<String, String>();
       dict2.put("osgi.jndi.service.name", "jdbc/db2");
-        
+        
       services.add(asKeyValueService(javax.sql.DataSource.class.getName(), mockService1, dict1));
       services.add(asKeyValueService(javax.sql.DataSource.class.getName(), mockService2, dict2));
     }
@@ -170,5 +171,5 @@ multiple services with the same interface. 
 
 The `asKeyValueService` builder method can be used to construct the
 necessary parameters to create the service. The method takes in the name
-of the registered service, the object, and and a `Dictionary` as
+of the registered service, the object, and and a `Dictionary` as
 arguments.
diff --git a/components/camel-test-cdi/src/main/docs/test-cdi.adoc b/components/camel-test-cdi/src/main/docs/test-cdi.adoc
index 893592c..b74a554 100644
--- a/components/camel-test-cdi/src/main/docs/test-cdi.adoc
+++ b/components/camel-test-cdi/src/main/docs/test-cdi.adoc
@@ -1,5 +1,5 @@
 [[CDITesting-CDITesting]]
-== CDI Testing
+= CDI Testing
 
 http://camel.apache.org/testing.html[Testing] is a crucial part of any
 development or integration work. In case you're using the Camel CDI
@@ -17,18 +17,16 @@ Camel:
 [width="100%",cols="1,1,4",options="header",]
 |=======================================================================
 |Name |Testing Frameworks Supported |Description
-|<<CDITesting-CamelCDITest,Camel CDI Test>> a|
+|<<CDITesting-CamelCDITest>>[Camel CDI Test] a|
 * JUnit 4
 
  a|
-*Available as of Camel 2.17*
-
 The Camel CDI test module (`camel-test-cdi`) provides a JUnit runner
 that bootstraps a test environment using CDI so that you don't have to
 be familiar with any CDI testing frameworks and can concentrate on the
 testing logic of your Camel CDI applications.
 
-|<<CDITesting-Arquillian,Arquillian>> a|
+|<<CDITesting-Arquillian>>[Arquillian] a|
 * JUnit 4
 * TestNG 5
 
@@ -45,7 +43,7 @@ descriptors]. The benefit is that you have a very fine-grained control
 over the application configuration that you want to test. The downside
 is more code and more complex _classpath_ / class loading structure.
 
-|<<CDITesting-PAXExam,PAX Exam>> a|
+|<<CDITesting-PAXExam>>[PAX Exam] a|
 * JUnit 4
 * TestNG 6
 
@@ -65,8 +63,7 @@ containers].
 |=======================================================================
 
 [[CDITesting-CamelCDITest]]
-Camel CDI Test
-^^^^^^^^^^^^^^
+== Camel CDI Test
 
 With this approach, your test classes use the JUnit runner provided in
 Camel CDI test. This runner manages the lifecycle of a standalone CDI
@@ -202,8 +199,7 @@ public class CamelCdiTest {
 ----
 
 [[CDITesting-Arquillian]]
-Arquillian
-^^^^^^^^^^
+== Arquillian
 
 With this approach, you use the JUnit runner or TestNG support provided
 by Arquillian to delegate the bootstrap of the CDI container. You need
@@ -282,7 +278,7 @@ Using ShrinkWarp Descriptors, you have a complete control over the
 configuration and kind of Camel CDI applications you want to test. For
 example, to test a Camel CDI application that uses the Camel
 REST DSL configured with the
-<<servlet-component,Servlet component>>, you need to create a Web archive,
+xref:servlet-component.adoc[Servlet component], you need to create a Web archive,
 e.g.:
 
 [source,java]
@@ -368,8 +364,7 @@ for a complete working example of testing a Camel CDI application using
 the REST DSL and deployed as a WAR in Jetty.
 
 [[CDITesting-PAXExam]]
-PAX Exam
-^^^^^^^^
+== PAX Exam
 
 If you target OSGi as runtime environment for your Camel CDI
 applications, you can use PAX Exam to automate the deployment of your
@@ -427,8 +422,7 @@ complete working example of testing a Camel CDI application deployed in
 an OSGi container using PAX Exam.
 
 [[CDITesting-TestingPatterns]]
-Testing Patterns
-^^^^^^^^^^^^^^^^
+== Testing Patterns
 
 You can see the tests in the `camel-example-cdi-test` example for a
 thorough overview of the following testing patterns for Camel CDI
@@ -439,8 +433,7 @@ module, they should equally work with Arquillian and PAX Exam unless
 otherwise stated or illustrated with a specific example.
 
 [[CDITesting-Testroutes]]
-Test routes
-+++++++++++
+== Test routes
 
 You may want to add some Camel routes to your Camel CDI applications for
 testing purpose. For example to route some exchanges to a `MockEndpoint`
@@ -468,8 +461,8 @@ public class CamelCdiTest {
 }
 ----
 
-You can find more information in <<cdi.adoc#CDI-Auto-detectingCamelroutes,auto-detecting Camel
-routes>>.
+You can find more information in xref:cdi.adoc#CDI-Auto-detectingCamelroutes[auto-detecting Camel
+routes].
 
 In case you prefer declaring the `RouteBuilder` bean in a separate class,
 for example to share it more easily across multiple test classes, you can use
@@ -487,8 +480,7 @@ public class CamelCdiTest {
 ----
 
 [[CDITesting-Beanalternatives]]
-Bean alternatives
-+++++++++++++++++
+== Bean alternatives
 
 You may want to replace a bean that is used in your Camel routes by
 another bean for testing purpose, for example to mock it or change the
@@ -500,7 +492,7 @@ Imagine you have the following route in your application:
 ----
 public class Application {
 
-    @ContextName("camel-test-cdi")
+    @ApplicationScoped
     static class Hello extends RouteBuilder {
 
         @Override
@@ -601,8 +593,7 @@ public class CamelCdiTest {
 ----
 
 [[CDITesting-Camelcontextcustomization]]
-Camel context customization
-+++++++++++++++++++++++++++
+== Camel context customization
 
 You may need to customize your Camel contexts for testing purpose, for
 example disabling JMX management to avoid TCP port allocation conflict.
@@ -615,7 +606,7 @@ class, e.g.:
 public class CamelCdiTest {
 
     @Default
-    @ContextName("camel-test-cdi")
+    @Named("camel-test-cdi")
     @ApplicationScoped
     static class CustomCamelContext extends DefaultCamelContext {
 
@@ -632,14 +623,13 @@ class will be used during the test execution instead of the default
 Camel context bean provided by the Camel CDI component.
 
 [[CDITesting-RoutesadvisingwithadviceWith]]
-Routes advising with `adviceWith`
-+++++++++++++++++++++++++++++++++
+== Routes advising with `adviceWith`
 
 `AdviceWith` is used for testing Camel routes where you
 can _advice_ an existing route before its being tested. It allows to
 add http://camel.apache.org/intercept.html[Intercept] or _weave_ routes
 for testing purpose, for example using
-the <<mock-component,Mock>> component.
+the Mock component.
 
 It is recommended to only advice routes which are not started already.
 To meet that requirement, you can use the `CamelContextStartingEvent`
@@ -667,8 +657,7 @@ public class CamelCdiTest {
 ----
 
 [[CDITesting-JUnitrules]]
-JUnit rules
-+++++++++++
+== JUnit rules
 
 Camel CDI test starts the CDI container after all the JUnit class rules
 have executed.
@@ -735,14 +724,3 @@ public class CamelCdiTest {
 }
 ----
 
-[[CDITesting-SeeAlso]]
-See Also
-^^^^^^^^
-
-* CDI component
-* http://arquillian.org[Arquillian Web site]
-* http://arquillian.org/modules/descriptors-shrinkwrap/[ShrinkWrap
-Descriptors]
-* http://arquillian.org/guides/shrinkwrap_introduction/[Creating
-Deployable Archives with ShrinkWrap]
-* https://ops4j1.jira.com/wiki/display/PAXEXAM4[PAX Exam]
diff --git a/components/camel-test-spring/src/main/docs/test-spring.adoc b/components/camel-test-spring/src/main/docs/test-spring.adoc
index 9cd8659..7b876fc 100644
--- a/components/camel-test-spring/src/main/docs/test-spring.adoc
+++ b/components/camel-test-spring/src/main/docs/test-spring.adoc
@@ -1,4 +1,4 @@
-## Test Spring
+= Test Spring
 
 *Available since 2.10*
 
@@ -9,16 +9,16 @@ Allows to test Camel with Spring applications such as Spring XML files or Spring
 This documentation is old and needs to be updated
 ====
 
-http://camel.apache.org/testing.html[Testing] is a crucial part of any development or integration work. The Spring Framework offers a number of features that makes it easy to test while using Spring for Inversion of Control which works with JUnit 3.x, JUnit 4.x, and http://testng.org[TestNG].
+xref:latest@manual::testing.adoc[Testing] is a crucial part of any development or integration work. The Spring Framework offers a number of features that makes it easy to test while using Spring for Inversion of Control which works with JUnit 3.x, JUnit 4.x, and http://testng.org[TestNG].
 
-We can use Spring for IoC and the Camel http://camel.apache.org/mock.html[Mock] and http://camel.apache.org/test.html[Test] endpoints to create sophisticated integration/unit tests that are easy to run and debug inside your IDE.  There are three supported approaches for testing with Spring in Camel.
+We can use Spring for IoC and the Camel xref:components::mock-component.adoc[Mock] and xref:components::test.adoc[Test] endpoints to create sophisticated integration/unit tests that are easy to run and debug inside your IDE.  There are three supported approaches for testing with Spring in Camel.
 [width="100%",cols="1,1,4,1",options="header",]
 |=======================================================================
 |Name |Testing Frameworks Supported |Description |Required Camel Test Dependencies
-|<<SpringTesting-CamelSpringTestSupport,CamelSpringTestSupport>> a|
+|<<camel-spring-test-support,Camel Spring Test Support>> a|
 * JUnit 3.x (deprecated)
 * JUnit 4.x
-* TestNG - *Camel 2.8*
+* TestNG
 
 a|
 Provided by:
@@ -27,14 +27,14 @@ Provided by:
 * `org.apache.camel.test.junit4.CamelSpringTestSupport`
 * `org.apache.camel.testng.CamelSpringTestSupport`
 
-These base classes provide http://camel.apache.org/camel-test.html#CamelTest-FeaturesProvidedbyCamelTestSupport[feature parity] with the simple `CamelTestSupport` classes from http://camel.apache.org/camel-test.html[Camel Test] but do not support Spring annotations on the test class such as `@Autowired`, `@DirtiesContext`, and `@ContextConfiguration`.
+These base classes provide feature parity with the simple `CamelTestSupport` classes from xref:components::test.adoc[Camel Test] but do not support Spring annotations on the test class such as `@Autowired`, `@DirtiesContext`, and `@ContextConfiguration`.
 
 a|
 * JUnit 3.x (deprecated) - camel-test-spring
 * JUnit 4.x - camel-test-spring
 * TestNG - camel-test-ng
 
-|<<SpringTesting-PlainSpringTest,Plain Spring Test>> a|
+|<<plain-spring-test, Plain Spring Test>> a|
 * JUnit 3.x
 * JUnit 4.x
 * TestNG
@@ -59,9 +59,9 @@ a|
 * JUnit 4.x - None
 * TestNG - None
 
-|<<SpringTesting-CamelEnhancedSpringTest,Camel Enhanced Spring Test>> a|
-* JUnit 4.x - *Camel 2.10*
-* TestNG - *Camel 2.10*
+|<<camel-enhanced-spring-test,Camel Enhanced Spring Test>> a|
+* JUnit 4.x
+* TestNG
 
 a|
 Either:
@@ -75,9 +75,8 @@ a|
 * TestNG - camel-test-ng
 |=======================================================================
 
-
-
-### CamelSpringTestSupport
+[#camel-spring-test-support]
+== CamelSpringTestSupport
 
 The following Spring test support classes:
 
@@ -100,13 +99,12 @@ protected abstract AbstractApplicationContext createApplicationContext();
 ----
 You are responsible for the instantiation of the Spring context in the method implementation.  All of the features available in the non-Spring aware counterparts from http://camel.apache.org/camel-test.html[Camel Test] are available in your test.
 
-
-
-### Plain Spring Test
+[#plain-spring-test]
+== Plain Spring Test
 
 In this approach, your test classes directly inherit from the Spring Test abstract test classes or use the JUnit 4.x test runner provided in Spring Test.  This approach supports dependency injection into your test class and the full suite of Spring Test annotations. However, it does not support the features provided by the `CamelSpringTestSupport` classes.
 
-#### Plain Spring Test using JUnit 3.x with XML Config Example
+=== Plain Spring Test using JUnit 3.x with XML Config Example
 
 Here is a simple unit test using JUnit 3.x support from Spring Test using http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/java/org/apache/camel/spring/patterns/FilterTest.java[XML Config].
 [source,java]
@@ -115,10 +113,10 @@ Here is a simple unit test using JUnit 3.x support from Spring Test using http:/
 @ContextConfiguration
 public class FilterTest extends SpringRunWithTestSupport {
  
-    @EndpointInject(uri = "mock:result")
+    @EndpointInject("mock:result")
     protected MockEndpoint resultEndpoint;
  
-    @Produce(uri = "direct:start")
+    @Produce("direct:start")
     protected ProducerTemplate template;
  
     @DirtiesContext
@@ -181,7 +179,7 @@ src/test/java/org/apache/camel/spring/patterns/FilterTest.java
 src/test/resources/org/apache/camel/spring/patterns/FilterTest-context.xml
 ----
 
-#### Plain Spring Test Using JUnit 4.x With Java Config Example
+=== Plain Spring Test Using JUnit 4.x With Java Config Example
 
 You can completely avoid using an XML configuration file by using http://camel.apache.org/spring-java-config.html[Spring Java Config].  Here is a unit test using JUnit 4.x support from Spring Test using http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring-javaconfig/src/test/java/org/apache/camel/spring/javaconfig/patterns/FilterTest.java[Java Config].
 [source,text]
@@ -191,10 +189,10 @@ You can completely avoid using an XML configuration file by using http://camel.a
 @ContextConfiguration(classes = {FilterTest.ContextConfig.class}, loader = CamelSpringDelegatingTestContextLoader.class)
 public class FilterTest extends AbstractJUnit4SpringContextTests {
  
-    @EndpointInject(uri = "mock:result")
+    @EndpointInject("mock:result")
     protected MockEndpoint resultEndpoint;
  
-    @Produce(uri = "direct:start")
+    @Produce("direct:start")
     protected ProducerTemplate template;
  
     @DirtiesContext
@@ -236,7 +234,7 @@ public class FilterTest extends AbstractJUnit4SpringContextTests {
 
 This is similar to the XML Config example above except that there is no XML file and instead the nested `ContextConfig` class does all of the configuration; so your entire test case is contained in a single Java class. We currently have to reference by class name this class in the `@ContextConfiguration` which is a bit ugly. Please vote for http://jira.springframework.org/browse/SJC-238[SJC-238] to address this and make Spring Test work more cleanly with Spring JavaConfig.
 
-#### Plain Spring Test Using JUnit 4.0.x Runner With XML Config
+=== Plain Spring Test Using JUnit 4.0.x Runner With XML Config
 
 You can avoid extending Spring classes by using the `SpringJUnit4ClassRunner` provided by Spring Test.  This custom JUnit runner means you are free to choose your own class hierarchy while retaining all the capabilities of Spring Test.
 
@@ -250,7 +248,7 @@ public class MyCamelTest {
     @Autowired
     protected CamelContext camelContext;
  
-    @EndpointInject(uri = "mock:foo")
+    @EndpointInject("mock:foo")
     protected MockEndpoint foo;
  
     @Test
@@ -264,7 +262,7 @@ public class MyCamelTest {
 }
 ----
 
-#### Plain Spring Test Using JUnit 4.1.x Runner With XML Config
+=== Plain Spring Test Using JUnit 4.1.x Runner With XML Config
 
 You can avoid extending Spring classes by using the `SpringJUnit4ClassRunner` provided by Spring Test.  This custom JUnit runner means you are free to choose your own class hierarchy while retaining all the capabilities of Spring Test.
 
@@ -279,7 +277,7 @@ public class MyCamelTest {
     @Autowired
     protected CamelContext camelContext;
  
-    @EndpointInject(uri = "mock:foo")
+    @EndpointInject("mock:foo")
     protected MockEndpoint foo;
  
     @Test
@@ -293,8 +291,8 @@ public class MyCamelTest {
 }
 ----
 
-
-### Camel Enhanced Spring Test
+[#camel-enhanced-spring-test]
+== Camel Enhanced Spring Test
 
 Using the `org.apache.camel.test.junit4.CamelSpringJUnit4ClassRunner` runner with the `@RunWith` annotation or extending `org.apache.camel.testng.AbstractCamelTestNGSpringContextTests` provides the full feature set of Spring Test with support for the feature set provided in the `CamelTestSupport` classes.
 
@@ -310,9 +308,6 @@ JMX is disabled a|JMX is disabled
 Indicates if certain route builder classes should be excluded from discovery.  Initializes a `org.apache.camel.spi.PackageScanClassResolver` to exclude a set of given classes from being resolved. Typically this is used at test time to exclude certain routes, which might otherwise be just noisy, from being discovered and initialized. a|
 Not enabled and no routes are excluded a|No routes are excluded
 
-|org.apache.camel.test.spring.LazyLoadTypeConverters a|Class a|
-*Deprecated*.
-
 Indicates if the CamelContexts that are bootstrapped during the test through the use of Spring Test loaded application contexts should use lazy loading of type converters. a|
 Type converters are not lazy loaded a|
 Type converters are not lazy loaded
@@ -341,7 +336,7 @@ The test author is responsible for injecting the Camel contexts into the test an
 CamelContexts do not automatically start. a|CamelContexts do not automatically start.
 
 |org.apache.camel.test.spring.UseOverridePropertiesWithPropertiesComponent a|Method a|
-*Camel 2.16*:Indicates that the annotated method returns a `java.util.Properties` for use in the test, and that those properties override any existing properties configured on the `PropertiesComponent`. a|
+Indicates that the annotated method returns a `java.util.Properties` for use in the test, and that those properties override any existing properties configured on the `PropertiesComponent`. a|
 a|Override properties
 |=======================================================================
 
@@ -363,13 +358,13 @@ public class CamelSpringJUnit4ClassRunnerPlainTest {
  
     protected MockEndpoint mockB;
  
-    @EndpointInject(uri = "mock:c", context = "camelContext2")
+    @EndpointInject(value = "mock:c", context = "camelContext2")
     protected MockEndpoint mockC;
  
-    @Produce(uri = "direct:start2", context = "camelContext2")
+    @Produce("direct:start2", context = "camelContext2")
     protected ProducerTemplate start2;
  
-    @EndpointInject(uri = "mock:log:org.apache.camel.test.junit4.spring", context = "camelContext2")
+    @EndpointInject(value = "mock:log:org.apache.camel.test.junit4.spring", context = "camelContext2")
     protected MockEndpoint mockLog;
  
     @Test
@@ -384,7 +379,7 @@ public class CamelSpringJUnit4ClassRunnerPlainTest {
 ----
 
 
-### Adding More Mock Expectations
+== Adding More Mock Expectations
 
 If you wish to add any new assertions to your test you can easily do so with the following. Notice how we use `@EndpointInject` to inject a Camel endpoint into our code then the http://camel.apache.org/mock.html[Mock] API to add an expectation on a specific message.
 [source,java]
@@ -394,7 +389,7 @@ public class MyCamelTest extends AbstractJUnit38SpringContextTests {
     @Autowired
     protected CamelContext camelContext;
  
-    @EndpointInject(uri = "mock:foo")
+    @EndpointInject("mock:foo")
     protected MockEndpoint foo;
  
     public void testMocksAreValid() throws Exception {
@@ -407,7 +402,7 @@ public class MyCamelTest extends AbstractJUnit38SpringContextTests {
 ----
 
 
-### Further Processing the Received Messages
+== Further Processing the Received Messages
 
 Sometimes once a http://camel.apache.org/mock.html[Mock] endpoint has received some messages you want to then process them further to add further assertions that your test case worked as you expect.
 
@@ -419,7 +414,7 @@ public class MyCamelTest extends AbstractJUnit38SpringContextTests {
     @Autowired
     protected CamelContext camelContext;
  
-    @EndpointInject(uri = "mock:foo")
+    @EndpointInject("mock:foo")
     protected MockEndpoint foo;
  
     public void testMocksAreValid() throws Exception {
@@ -437,7 +432,7 @@ public class MyCamelTest extends AbstractJUnit38SpringContextTests {
 }
 ----
 
-### Sending and Receiving Messages
+== Sending and Receiving Messages
 
 It might be that the http://camel.apache.org/enterprise-integration-patterns.html[Enterprise Integration Patterns] you have defined in either http://camel.apache.org/spring.html[Spring] XML or using the Java http://camel.apache.org/dsl.html[DSL] do all of the sending and receiving and you might just work with the http://camel.apache.org/mock.html[Mock] endpoints as described above. However sometimes in a test case its useful to explicitly send or receive messages directly.
 
@@ -445,7 +440,7 @@ To send or receive messages you should use the http://camel.apache.org/bean-inte
 [source,java]
 ----
 public class Foo {
-  @EndpointInject(uri = "activemq:foo.bar")
+  @EndpointInject("activemq:foo.bar")
   ProducerTemplate producer;
  
   public void doSomething() {
diff --git a/components/camel-undertow/src/main/docs/undertow-component.adoc b/components/camel-undertow/src/main/docs/undertow-component.adoc
index 3cf3619..6c9f946 100644
--- a/components/camel-undertow/src/main/docs/undertow-component.adoc
+++ b/components/camel-undertow/src/main/docs/undertow-component.adoc
@@ -1,17 +1,16 @@
-[[undertow-component]]
-== Undertow Component
+= Undertow Component
 
 *Available as of Camel version 2.16*
 
-The *undertow* component provides HTTP and WebSocket based endpoints for consuming
+The Undertow component provides HTTP and WebSocket based endpoints for consuming
 and producing HTTP/WebSocket requests.
 
 That is, the Undertow component behaves as a simple Web server.
 Undertow can also be used as a http client which mean you can also use
 it with Camel as a producer.
 
-TIP: Since Camel version 2.21, the *undertow* component also supports WebSocket
-connections and can thus serve as a drop-in replacement for Camel websocket
+Since the component also supports WebSocket
+connections, it can serve as a drop-in replacement for Camel websocket
 component or atmosphere-websocket component.
 
 Maven users will need to add the following dependency to their `pom.xml`
@@ -27,7 +26,7 @@ for this component:
 </dependency>
 ----
 
-=== URI format
+== URI format
 
 [source,text]
 ----
@@ -40,7 +39,7 @@ undertow:wss://hostname[:port][/resourceUri][?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-=== Options
+== Options
 
 // component options: START
 The Undertow component supports 5 options, which are listed below.
@@ -134,20 +133,18 @@ The component supports 10 options, which are listed below.
 
 
 
-=== Message Headers
+== Message Headers
 
-Camel uses the same message headers as the <<http-component,HTTP>>
-component.
- From Camel 2.2, it also uses
-`Exchange.HTTP_CHUNKED,CamelHttpChunked` header to turn on or turn off
-the chuched encoding on the camel-undertow consumer.
+Camel uses the same message headers as the xref:http-component.adoc[HTTP]
+component. It also uses `Exchange.HTTP_CHUNKED,CamelHttpChunked` header to turn on or turn off
+the chunked encoding on the camel-undertow consumer.
 
 Camel also populates *all* request.parameter and request.headers. For
 example, given a client request with the URL,
-`http://myserver/myserver?orderid=123`, the exchange will contain a
+`\http://myserver/myserver?orderid=123`, the exchange will contain a
 header named `orderid` with the value 123.
 
-=== HTTP Producer Example
+== HTTP Producer Example
 
 The following is a basic example of how to send an HTTP request to an
 existing HTTP endpoint.
@@ -170,10 +167,10 @@ or in XML
 <route>
 ----
 
-=== HTTP Consumer Example
+== HTTP Consumer Example
 
 In this sample we define a route that exposes a HTTP service at
-`http://localhost:8080/myapp/myservice`:
+`\http://localhost:8080/myapp/myservice`:
 
 [source,xml]
 ----
@@ -183,10 +180,10 @@ In this sample we define a route that exposes a HTTP service at
 </route>
 ----
 
-=== WebSocket Example
+== WebSocket Example
 
 In this sample we define a route that exposes a WebSocket service at
-`http://localhost:8080/myapp/mysocket` and returns back a response to the same channel:
+`\http://localhost:8080/myapp/mysocket` and returns back a response to the same channel:
 
 [source,xml]
 ----
@@ -197,23 +194,20 @@ In this sample we define a route that exposes a WebSocket service at
 </route>
 ----
 
-=== Using localhost as host
+== Using localhost as host
 
 When you specify `localhost` in a URL, Camel exposes the endpoint only
 on the local TCP/IP network interface, so it cannot be accessed from
 outside the machine it operates on.
 
-If you need to expose a Jetty endpoint on a specific network interface,
+If you need to expose an Undertow endpoint on a specific network interface,
 the numerical IP address of this interface should be used as the host.
-If you need to expose a Jetty endpoint on all network interfaces, the
+If you need to expose an Undertow endpoint on all network interfaces, the
 `0.0.0.0` address should be used.
 
 To listen across an entire URI prefix, see
-link:how-do-i-let-jetty-match-wildcards.html[How do I let Jetty match
-wildcards].
+xref:latest@manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards].
 
 If you actually want to expose routes by HTTP and already have a
 Servlet, you should instead refer to the
-https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=46339[Servlet
-Transport].
-
+xref:servlet-component.adoc[Servlet Transport].
diff --git a/components/camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc b/components/camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc
index 8edf34b..2e6b66d 100644
--- a/components/camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc
+++ b/components/camel-univocity-parsers/src/main/docs/univocity-csv-dataformat.adoc
@@ -1,10 +1,9 @@
-[[univocity-csv-dataformat]]
-== uniVocity CSV DataFormat
+= uniVocity CSV DataFormat
 
 *Available as of Camel version 2.15*
 
-This link:data-format.html[Data
-Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
+This xref:latest@manual::data-format.adoc[Data
+Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
 for reading and writing 3 kinds of tabular data text files:
 
 * CSV (Comma Separated Values), where the values are separated by a
@@ -16,9 +15,7 @@ tabulation
 Thus there are 3 data formats based on uniVocity-parsers.
 
 If you use Maven you can just add the following to your pom.xml,
-substituting the version number for the latest and greatest release
-(see https://cwiki.apache.org/confluence/display/CAMEL/Download[the
-download page for the latest versions]).
+substituting the version number for the latest and greatest release.
 
 [source,xml]
 ----------------------------------------------------
@@ -29,7 +26,7 @@ download page for the latest versions]).
 </dependency>
 ----------------------------------------------------
 
-### Options
+== Options
 
 Most configuration options of the uniVocity-parsers are available in the
 data formats. If you want more information about a particular option,
@@ -40,7 +37,7 @@ page].
 The 3 data formats share common options and have dedicated ones, this
 section presents them all.
 
-### Options
+== Options
 
 
 // dataformat options: START
@@ -107,7 +104,7 @@ The component supports 19 options, which are listed below.
 
 
 
-### Marshalling usages
+== Marshalling usages
 
 The marshalling accepts either:
 
@@ -116,7 +113,7 @@ The marshalling accepts either:
 
 Any other body will throws an exception.
 
-#### Usage example: marshalling a Map into CSV format
+=== Usage example: marshalling a Map into CSV format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -129,7 +126,7 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: marshalling a Map into fixed-width format
+=== Usage example: marshalling a Map into fixed-width format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -146,7 +143,7 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: marshalling a Map into TSV format
+=== Usage example: marshalling a Map into TSV format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -159,22 +156,22 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Unmarshalling usages
+== Unmarshalling usages
 
-The unmarshalling uses an `InputStream` in order to read the data.
+The unmarshalling uses an `InputStream` in order to read the data.
 
 Each row produces either:
 
-* a list with all the values in it (`asMap` option with `false`);
+* a list with all the values in it (`asMap` option with `false`);
 * A map with all the values indexed by the
-headers (`asMap` option with `true`).
+headers (`asMap` option with `true`).
 
 All the rows can either:
 
-* be collected at once into a list (`lazyLoad` option with `false`);
-* be read on the fly using an iterator (`lazyLoad` option with `true`).
+* be collected at once into a list (`lazyLoad` option with `false`);
+* be read on the fly using an iterator (`lazyLoad` option with `true`).
 
-#### Usage example: unmarshalling a CSV format into maps with automatic headers
+=== Usage example: unmarshalling a CSV format into maps with automatic headers
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -187,7 +184,7 @@ All the rows can either:
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: unmarshalling a fixed-width format into lists
+=== Usage example: unmarshalling a fixed-width format into lists
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/components/camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc b/components/camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc
index 3fbaca5..edc40b6 100644
--- a/components/camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc
+++ b/components/camel-univocity-parsers/src/main/docs/univocity-fixed-dataformat.adoc
@@ -1,10 +1,9 @@
-[[univocity-fixed-dataformat]]
-== uniVocity Fixed Length DataFormat
+= uniVocity Fixed Length DataFormat
 
 *Available as of Camel version 2.15*
 
-This link:data-format.html[Data
-Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
+This xref:latest@manual::data-format.adoc[Data
+Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
 for reading and writing 3 kinds of tabular data text files:
 
 * CSV (Comma Separated Values), where the values are separated by a
@@ -16,9 +15,7 @@ tabulation
 Thus there are 3 data formats based on uniVocity-parsers.
 
 If you use Maven you can just add the following to your pom.xml,
-substituting the version number for the latest and greatest release
-(see https://cwiki.apache.org/confluence/display/CAMEL/Download[the
-download page for the latest versions]).
+substituting the version number for the latest and greatest release.
 
 [source,xml]
 ----------------------------------------------------
@@ -29,7 +26,7 @@ download page for the latest versions]).
 </dependency>
 ----------------------------------------------------
 
-### Options
+== Options
 
 Most configuration options of the uniVocity-parsers are available in the
 data formats. If you want more information about a particular option,
@@ -40,7 +37,7 @@ page].
 The 3 data formats share common options and have dedicated ones, this
 section presents them all.
 
-### Options
+== Options
 
 
 // dataformat options: START
@@ -105,7 +102,7 @@ The component supports 18 options, which are listed below.
 
 
 
-### Marshalling usages
+== Marshalling usages
 
 The marshalling accepts either:
 
@@ -114,7 +111,7 @@ The marshalling accepts either:
 
 Any other body will throws an exception.
 
-#### Usage example: marshalling a Map into CSV format
+=== Usage example: marshalling a Map into CSV format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -127,7 +124,7 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: marshalling a Map into fixed-width format
+=== Usage example: marshalling a Map into fixed-width format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -144,7 +141,7 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: marshalling a Map into TSV format
+=== Usage example: marshalling a Map into TSV format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -157,22 +154,22 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Unmarshalling usages
+== Unmarshalling usages
 
-The unmarshalling uses an `InputStream` in order to read the data.
+The unmarshalling uses an `InputStream` in order to read the data.
 
 Each row produces either:
 
-* a list with all the values in it (`asMap` option with `false`);
+* a list with all the values in it (`asMap` option with `false`);
 * A map with all the values indexed by the
-headers (`asMap` option with `true`).
+headers (`asMap` option with `true`).
 
 All the rows can either:
 
-* be collected at once into a list (`lazyLoad` option with `false`);
-* be read on the fly using an iterator (`lazyLoad` option with `true`).
+* be collected at once into a list (`lazyLoad` option with `false`);
+* be read on the fly using an iterator (`lazyLoad` option with `true`).
 
-#### Usage example: unmarshalling a CSV format into maps with automatic headers
+=== Usage example: unmarshalling a CSV format into maps with automatic headers
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -185,7 +182,7 @@ All the rows can either:
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: unmarshalling a fixed-width format into lists
+=== Usage example: unmarshalling a fixed-width format into lists
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/components/camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc b/components/camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc
index 5730a3c..7401834 100644
--- a/components/camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc
+++ b/components/camel-univocity-parsers/src/main/docs/univocity-tsv-dataformat.adoc
@@ -1,10 +1,9 @@
-[[univocity-tsv-dataformat]]
-== uniVocity TSV DataFormat
+= uniVocity TSV DataFormat
 
 *Available as of Camel version 2.15*
 
-This link:data-format.html[Data
-Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
+This xref:latest@manual::data-format.adoc[Data
+Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
 for reading and writing 3 kinds of tabular data text files:
 
 * CSV (Comma Separated Values), where the values are separated by a
@@ -16,9 +15,7 @@ tabulation
 Thus there are 3 data formats based on uniVocity-parsers.
 
 If you use Maven you can just add the following to your pom.xml,
-substituting the version number for the latest and greatest release
-(see https://cwiki.apache.org/confluence/display/CAMEL/Download[the
-download page for the latest versions]).
+substituting the version number for the latest and greatest release.
 
 [source,xml]
 ----------------------------------------------------
@@ -29,7 +26,7 @@ download page for the latest versions]).
 </dependency>
 ----------------------------------------------------
 
-### Options
+== Options
 
 Most configuration options of the uniVocity-parsers are available in the
 data formats. If you want more information about a particular option,
@@ -40,7 +37,7 @@ page].
 The 3 data formats share common options and have dedicated ones, this
 section presents them all.
 
-### Options
+== Options
 
 
 // dataformat options: START
@@ -101,7 +98,7 @@ The component supports 16 options, which are listed below.
 
 
 
-### Marshalling usages
+== Marshalling usages
 
 The marshalling accepts either:
 
@@ -110,7 +107,7 @@ The marshalling accepts either:
 
 Any other body will throws an exception.
 
-#### Usage example: marshalling a Map into CSV format
+=== Usage example: marshalling a Map into CSV format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -123,7 +120,7 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: marshalling a Map into fixed-width format
+=== Usage example: marshalling a Map into fixed-width format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -140,7 +137,7 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: marshalling a Map into TSV format
+=== Usage example: marshalling a Map into TSV format
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -153,22 +150,22 @@ Any other body will throws an exception.
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-### Unmarshalling usages
+== Unmarshalling usages
 
-The unmarshalling uses an `InputStream` in order to read the data.
+The unmarshalling uses an `InputStream` in order to read the data.
 
 Each row produces either:
 
-* a list with all the values in it (`asMap` option with `false`);
+* a list with all the values in it (`asMap` option with `false`);
 * A map with all the values indexed by the
-headers (`asMap` option with `true`).
+headers (`asMap` option with `true`).
 
 All the rows can either:
 
-* be collected at once into a list (`lazyLoad` option with `false`);
-* be read on the fly using an iterator (`lazyLoad` option with `true`).
+* be collected at once into a list (`lazyLoad` option with `false`);
+* be read on the fly using an iterator (`lazyLoad` option with `true`).
 
-#### Usage example: unmarshalling a CSV format into maps with automatic headers
+=== Usage example: unmarshalling a CSV format into maps with automatic headers
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -181,7 +178,7 @@ All the rows can either:
 </route>
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 
-#### Usage example: unmarshalling a fixed-width format into lists
+=== Usage example: unmarshalling a fixed-width format into lists
 
 [source,xml]
 ------------------------------------------------------------------------------------------------------------------------------------------------------------------------
diff --git a/components/camel-websocket/src/main/docs/websocket-component.adoc b/components/camel-websocket/src/main/docs/websocket-component.adoc
index 08e51d7..f9e2881 100644
--- a/components/camel-websocket/src/main/docs/websocket-component.adoc
+++ b/components/camel-websocket/src/main/docs/websocket-component.adoc
@@ -1,21 +1,15 @@
-[[websocket-component]]
-== Jetty Websocket Component
+= Jetty Websocket Component
 
 *Available as of Camel version 2.10*
 
-The *websocket* component provides websocket
+The WebSocket component provides websocket
 endpoints for communicating with clients using
 websocket. The component uses Eclipse Jetty Server which implements the
 http://tools.ietf.org/html/rfc6455[IETF] specification (drafts and RFC
 6455). It supports the protocols ws:// and wss://. To use wss://
 protocol, the SSLContextParameters must be defined.
 
-
-*Version currently supported*
-
-Camel 2.18 uses Jetty 9
-
-### URI format
+== URI format
 
 [source,java]
 ---------------------------------------------------
@@ -25,7 +19,7 @@ websocket://hostname[:port][/resourceUri][?options]
 You can append query options to the URI in the following format,
 `?option=value&option=value&...`
 
-### Websocket Options
+== Websocket Options
 
 
 
@@ -145,11 +139,11 @@ The component supports 15 options, which are listed below.
 
 
 
- 
+ 
 
-### Message Headers
+== Message Headers
 
-The websocket component uses 2 headers to indicate to either send
+The WebSocket component uses 2 headers to indicate to either send
 messages back to a single/current client, or to all clients.
 
 [width="100%",cols="10%,90%",options="header",]
@@ -163,7 +157,7 @@ use the `sendToAll` option on the endpoint instead of using this header.
 |`WebsocketConstants.REMOTE_ADDRESS` |Remote address of the websocket session.
 |=======================================================================
 
-### Usage
+== Usage
 
 In this example we let Camel exposes a websocket server which clients
 can communicate with. The websocket server uses the default host and
@@ -175,7 +169,7 @@ message, we need to send the transformed message to the same endpoint
 
 This example is part of an unit test, which you can find
 https://svn.apache.org/repos/asf/camel/trunk/components/camel-websocket/src/test/java/org/apache/camel/component/websocket/WebsocketRouteExampleTest.java[here].
-As a client we use the <<ahc-component,AHC>> library which offers support
+As a client we use the xref:ahc-component.adoc[AHC] library which offers support
 for web socket as well.
 
 Here is another example where webapp resources location have been
@@ -190,15 +184,15 @@ from("activemq:topic:newsTopic")
    .to("websocket://localhost:8443/newsTopic?sendToAll=true&staticResources=classpath:webapp");
 -----------------------------------------------------------------------------------------------
 
-### Setting up SSL for WebSocket Component
+== Setting up SSL for WebSocket Component
 
-#### Using the JSSE Configuration Utility
+=== Using the JSSE Configuration Utility
 
-As of Camel 2.10, the WebSocket component supports SSL/TLS configuration
-through the link:camel-configuration-utilities.html[Camel JSSE
-Configuration Utility].  This utility greatly decreases the amount of
+The WebSocket component supports SSL/TLS configuration
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
+Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
-endpoint and component levels.  The following examples demonstrate how
+endpoint and component levels.  The following examples demonstrate how
 to use the utility with the Cometd component.
 
 [[Websocket-Programmaticconfigurationofthecomponent]]
@@ -269,16 +263,3 @@ Java DSL based configuration of endpoint
                          .to(uri);
 ...
 ----------------------------------------------------------------------------------------------------------
-
-### See Also
-
-* Configuring Camel
-* Component
-* Endpoint
-* Getting Started
-
-* <<ahc-component,AHC>>
-* <<jetty-component,Jetty>>
-* Twitter Websocket Example
-demonstrates how to poll a constant feed of twitter searches and publish
-results in real time using web socket to a web page.
diff --git a/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc b/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
index e21bc8d..16a5f26 100644
--- a/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
+++ b/components/camel-xmlsecurity/src/main/docs/xmlsecurity-component.adoc
@@ -1,5 +1,4 @@
-[[xmlsecurity-component]]
-== XML Security Component
+= XML Security Component
 
 *Available as of Camel version 2.12*
 
@@ -8,7 +7,7 @@ signatures as described in the W3C standard
 http://www.w3.org/TR/xmldsig-core/[XML Signature Syntax and Processing]
 or as described in the successor
 http://www.w3.org/TR/xmldsig-core1/[version 1.1]. For XML Encryption
-support, please refer to the XML Security link:data-format.html[Data
+support, please refer to the XML Security xref:latest@manual::data-format.adoc[Data
 Format].
 
 You can find an introduction to XML signature
@@ -21,7 +20,7 @@ will first try to use the Apache Santuario provider; if it does not find
 the Santuario provider, it will use the JDK provider. Further, the
 implementation is DOM based.
 
-Since Camel 2.15.0 we also provide support for *XAdES-BES/EPES* for the
+We also provide support for *XAdES-BES/EPES* for the
 signer endpoint; see subsection "XAdES-BES/EPES for the Signer
 Endpoint".
 
@@ -38,7 +37,7 @@ for this component:
 </dependency>
 ----
 
-### XML Signature Wrapping Modes
+== XML Signature Wrapping Modes
 
 XML Signature differs between enveloped, enveloping, and detached XML
 signature. In the
@@ -50,8 +49,7 @@ http://www.w3.org/TR/xmldsig-core1/#def-SignatureEnveloping[enveloping]
 XML signature case, the XML Signature contains the signed content. All
 other cases are called
 http://www.w3.org/TR/xmldsig-core1/#def-SignatureDetached[detached] XML
-signatures. A certain form of detached XML signature is supported since
-**2.14.0**.
+signatures.
 
 In the *enveloped XML signature* case, the supported generated XML
 signature has the following structure (Variables are surrounded by `[]`).
@@ -108,7 +106,7 @@ signature has the structure:
 </Signature>
 ----
 
-As of 2.14.0 *detached XML signatures* with the following structure
+*Detached XML signatures* with the following structure
 are supported (see also sub-chapter XML Signatures as Siblings of Signed
 Elements):
 
@@ -119,7 +117,7 @@ Elements):
       ...
 
 </[signed element]>
-<other sibling/>* 
+<other sibling/>* 
 <!-- between the signed element and the corresponding signature element, there can be other siblings.
  Signature element is added as last sibling. -->
 <Signature Id="generated_unique_ID">
@@ -143,9 +141,9 @@ Elements):
 </Signature>)+
 ----
 
- 
+ 
 
-### URI Format
+== URI Format
 
 The camel component consists of two endpoints which have the following
 URI format:
@@ -158,17 +156,17 @@ xmlsecurity:verify:name[?options]
 
 * With the signer endpoint, you can generate a XML signature for the
 body of the in-message which can be either a XML document or a plain
-text. The enveloped, enveloping, or detached (as of 12.14)  XML
+text. The enveloped, enveloping, or detached (as of 12.14)  XML
 signature(s) will be set to the body of the out-message.
 * With the verifier endpoint, you can validate an enveloped or
-enveloping XML signature or even several detached (as of 2.14.0) XML
+enveloping XML signature or even several detached XML
 signatures contained in the body of the in-message; if the validation is
 successful, then the original content is extracted from the XML
 signature and set to the body of the out-message.
 * The `name` part in the URI can be chosen by the user to distinguish
 between different signer/verifier endpoints within the camel context.
 
-### Basic Example
+== Basic Example
 
 The following example shows the basic usage of the component.
 
@@ -209,7 +207,7 @@ https://github.com/apache/camel/blob/master/components/camel-xmlsecurity/src/mai
 which reads the public key from a keystore.
 
 In the example, the default signature algorithm
-`http://www.w3.org/2000/09/xmldsig#rsa-sha1` is used. You can set the
+`\http://www.w3.org/2000/09/xmldsig#rsa-sha1` is used. You can set the
 signature algorithm of your choice by the option `signatureAlgorithm`
 (see below). The signer endpoint creates an _enveloping_ XML signature.
 If you want to create an _enveloped_ XML signature then you must specify
@@ -219,7 +217,7 @@ the parent element of the Signature element; see option
 For creating _detached_ XML signatures, see sub-chapter "Detached XML
 Signatures as Siblings of the Signed Elements".
 
-### Component Options
+== Component Options
 
 
 
@@ -244,7 +242,7 @@ The XML Security component supports 3 options, which are listed below.
 
 
 
-### Endpoint Options
+== Endpoint Options
 
 
 // endpoint options: START
@@ -390,7 +388,7 @@ The component supports 63 options, which are listed below.
 
 
 
-#### Output Node Determination in Enveloping XML Signature Case
+=== Output Node Determination in Enveloping XML Signature Case
 
 After the validation the node is extracted from the XML signature
 document which is finally returned to the output-message body. In the
@@ -458,9 +456,7 @@ or the structure:
 </Signature>
 ----
 
-### Detached XML Signatures as Siblings of the Signed Elements
-
-**Since 2.14.0**
+== Detached XML Signatures as Siblings of the Signed Elements
 
 You can create detached signatures where the signature is a sibling of
 the signed element. The following example contains two detached
@@ -512,7 +508,7 @@ signature is for the element `A` which also contains the first signature.
 The example shows that you can sign several elements and that for each
 element a signature is created as sibling. The elements to be signed
 must have an attribute of type ID. The ID type of the attribute must be
-defined in the XML schema (see option `schemaResourceUri`). You
+defined in the XML schema (see option `schemaResourceUri`). You
 specify a list of XPATH expressions pointing to attributes of type ID
 (see option `xpathsToIdAttributes`). These attributes determine the
 elements to be signed. The elements are signed by the same key given by
@@ -534,7 +530,7 @@ from("direct:detached")
 
 [source,xml]
 ----
-   
+   
 <bean id="xpathsToIdAttributesBean" class="java.util.ArrayList">
       <constructor-arg type="java.util.Collection">
           <list>
@@ -562,9 +558,9 @@ from("direct:detached")
 ----
 
 
-### XAdES-BES/EPES for the Signer Endpoint
+== XAdES-BES/EPES for the Signer Endpoint
 
-*Available as of Camel 2.15.0* 
+*Available as of Camel 2.15.0* 
 
 http://www.etsi.org/deliver/etsi_ts/101900_101999/101903/01.04.02_60/ts_101903v010402p.pdf[XML
 Advanced Electronic Signatures (XAdES)] defines extensions to XML
@@ -577,7 +573,7 @@ signatures]. XAdES defines different sets of signature properties which
 are called signature forms. We support the signature forms *Basic
 Electronic Signature* (XAdES-BES) and *Explicit Policy Based Electronic
 Signature* (XAdES-EPES) for the Signer Endpoint. The forms
-**Electronic ****Signature with Validation Data** XAdES-T and XAdES-C
+**Electronic ****Signature with Validation Data** XAdES-T and XAdES-C
 are not supported.
 
 
@@ -607,17 +603,17 @@ zero or one occurrence):
 ----
 
 The properties of the XAdES-BES form are the same except that
-the `SignaturePolicyIdentifier` property is not part of XAdES-BES. 
+the `SignaturePolicyIdentifier` property is not part of XAdES-BES. 
 
 You can configure the XAdES-BES/EPES properties via the
-bean `org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties`
-or `org.apache.camel.component.xmlsecurity.api.DefaultXAdESSignatureProperties. XAdESSignatureProperties` does
+bean `org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties`
+or `org.apache.camel.component.xmlsecurity.api.DefaultXAdESSignatureProperties. XAdESSignatureProperties` does
 support all properties mentioned above except
-the `SigningCertificate` property. To get
-the `SigningCertificate` property, you must overwrite either the
-method `XAdESSignatureProperties.getSigningCertificate()` or `XAdESSignatureProperties.getSigningCertificateChain()`. The
-class `DefaultXAdESSignatureProperties` overwrites the
-method `getSigningCertificate()` and allows you to specify the signing
+the `SigningCertificate` property. To get
+the `SigningCertificate` property, you must overwrite either the
+method `XAdESSignatureProperties.getSigningCertificate()` or `XAdESSignatureProperties.getSigningCertificateChain()`. The
+class `DefaultXAdESSignatureProperties` overwrites the
+method `getSigningCertificate()` and allows you to specify the signing
 certificate via a keystore and alias. The following example shows all
 parameters you can specify. If you do not need certain parameters you
 can just omit them.
@@ -626,25 +622,25 @@ can just omit them.
 
 [source,java]
 ----
- Keystore keystore = ... // load a keystore
+ Keystore keystore = ... // load a keystore
 DefaultKeyAccessor accessor = new DefaultKeyAccessor();
 accessor.setKeyStore(keystore);
 accessor.setPassword("password");
 accessor.setAlias("cert_alias"); // signer key alias
- 
+ 
 DefaultXAdESSignatureProperties props = new DefaultXAdESSignatureProperties();
 props.setNamespace("http://uri.etsi.org/01903/v1.3.2#"); // sets the namespace for the XAdES elements; the namspace is related to the XAdES version, default value is "http://uri.etsi.org/01903/v1.3.2#", other possible values are "http://uri.etsi.org/01903/v1.1.1#" and "http://uri.etsi.org/01903/v1.2.2#"
 props.setPrefix("etsi"); // sets the prefix for the XAdES elements, default value is "etsi"
- 
+ 
 // signing certificate
 props.setKeystore(keystore));
 props.setAlias("cert_alias"); // specify the alias of the signing certificate in the keystore = signer key alias
 props.setDigestAlgorithmForSigningCertificate(DigestMethod.SHA256); // possible values for the algorithm are "http://www.w3.org/2000/09/xmldsig#sha1", "http://www.w3.org/2001/04/xmlenc#sha256", "http://www.w3.org/2001/04/xmldsig-more#sha384", "http://www.w3.org/2001/04/xmlenc#sha512", default value is "http://www.w3.org/2001/04/xmlenc#sha256"
 props.setSigningCertificateURIs(Collections.singletonList("http://certuri"));
- 
+ 
 // signing time
 props.setAddSigningTime(true);
- 
+ 
 // policy
 props.setSignaturePolicy(XAdESSignatureProperties.SIG_POLICY_EXPLICIT_ID);
 // also the values XAdESSignatureProperties.SIG_POLICY_NONE ("None"), and XAdESSignatureProperties.SIG_POLICY_IMPLIED ("Implied")are possible, default value is XAdESSignatureProperties.SIG_POLICY_EXPLICIT_ID ("ExplicitId")
@@ -661,20 +657,20 @@ props.setSigPolicyQualifiers(Arrays
             + "</SPUserNotice></SigPolicyQualifier>", "category B" }));
 props.setSigPolicyIdDocumentationReferences(Arrays.asList(new String[] {"http://test.com/policy.doc.ref1.txt",
     "http://test.com/policy.doc.ref2.txt" }));
- 
+ 
 // production place
 props.setSignatureProductionPlaceCity("Munich");
 props.setSignatureProductionPlaceCountryName("Germany");
 props.setSignatureProductionPlacePostalCode("80331");
 props.setSignatureProductionPlaceStateOrProvince("Bavaria");
- 
+ 
 //role
 // you can add claimed roles either by specifying text or an XML fragment with the root element "ClaimedRole"
 props.setSignerClaimedRoles(Arrays.asList(new String[] {"test",
     "<a:ClaimedRole xmlns:a=\"http://uri.etsi.org/01903/v1.3.2#\"><TestRole>TestRole</TestRole></a:ClaimedRole>" }));
 props.setSignerCertifiedRoles(Collections.singletonList(new XAdESEncapsulatedPKIData("Ahixl6upD6av8N7pEvDABhEL6hM=",
     "http://uri.etsi.org/01903/v1.2.2#DER", "IdCertifiedRole")));
- 
+ 
 // data object format
 props.setDataObjectFormatDescription("invoice");
 props.setDataObjectFormatMimeType("text/xml");
@@ -683,7 +679,7 @@ props.setDataObjectFormatIdentifierQualifier("OIDAsURN"); //allowed values are e
 props.setDataObjectFormatIdentifierDescription("identifier desc");
 props.setDataObjectFormatIdentifierDocumentationReferences(Arrays.asList(new String[] {
     "http://test.com/dataobject.format.doc.ref1.txt", "http://test.com/dataobject.format.doc.ref2.txt" }));
- 
+ 
 //commitment
 props.setCommitmentTypeId("urn:oid:1.2.840.113549.1.9.16.6.4");
 props.setCommitmentTypeIdQualifier("OIDAsURN"); //allowed values are empty string, "OIDAsURI", "OIDAsURN"; default value is empty string
@@ -693,10 +689,10 @@ props.setCommitmentTypeIdDocumentationReferences(Arrays.asList(new String[] {"ht
 // you can specify a commitment type qualifier either by simple text or an XML fragment with root element "CommitmentTypeQualifier"
 props.setCommitmentTypeQualifiers(Arrays.asList(new String[] {"commitment qualifier",
     "<c:CommitmentTypeQualifier xmlns:c=\"http://uri.etsi.org/01903/v1.3.2#\"><C>c</C></c:CommitmentTypeQualifier>" }));
- 
+ 
 beanRegistry.bind("xmlSignatureProperties",props);
 beanRegistry.bind("keyAccessorDefault",keyAccessor);
- 
+ 
 // you must reference the properties bean in the "xmlsecurity" URI
 from("direct:xades").to("xmlsecurity:sign://xades?keyAccessor=#keyAccessorDefault&properties=#xmlSignatureProperties")
              .to("mock:result");
@@ -714,7 +710,7 @@ from("direct:xades").to("xmlsecurity:sign://xades?keyAccessor=#keyAccessorDefaul
 ...
 <bean id="xadesProperties"
     class="org.apache.camel.component.xmlsecurity.api.XAdESSignatureProperties">
-    <!-- For more properties see the previous Java DSL example. 
+    <!-- For more properties see the previous Java DSL example. 
          If you want to have a signing certificate then use the bean class DefaultXAdESSignatureProperties (see the previous Java DSL example). -->
     <property name="signaturePolicy" value="ExplicitId" />
     <property name="sigPolicyId" value="http://www.test.com/policy.pdf" />
@@ -737,7 +733,7 @@ from("direct:xades").to("xmlsecurity:sign://xades?keyAccessor=#keyAccessorDefaul
 </bean>
 ----
 
-#### Headers
+=== Headers
 
 [width="100%",cols="1m,1m,4",options="header",]
 |=======================================================================
@@ -749,35 +745,35 @@ attribute value of `QualifyingProperties` element
 'Id' attribute value of `SignedDataObjectProperties` element
 
 |CamelXmlSignatureXAdESSignedSignaturePropertiesId |String |for the
-'Id' attribute value of `SignedSignatureProperties` element
+'Id' attribute value of `SignedSignatureProperties` element
 
 |CamelXmlSignatureXAdESDataObjectFormatEncoding |String |for the value
 of the Encoding element of the `DataObjectFormat` element
 
-|CamelXmlSignatureXAdESNamespace |String | overwrites the XAdES
+|CamelXmlSignatureXAdESNamespace |String | overwrites the XAdES
 namespace parameter value
 
 |CamelXmlSignatureXAdESPrefix |String |overwrites the XAdES prefix
 parameter value
 |=======================================================================
 
-#### Limitations with regard to XAdES version 1.4.2
+=== Limitations with regard to XAdES version 1.4.2
 
 * No support for signature form XAdES-T and XAdES-C
 * Only signer part implemented. Verifier part currently not available.
-* No support for the `QualifyingPropertiesReference` element (see
+* No support for the `QualifyingPropertiesReference` element (see
 section 6.3.2 of spec).
 * No support for the `Transforms` element contained in
-the `SignaturePolicyId` element contained in
-the `SignaturePolicyIdentifier element`
+the `SignaturePolicyId` element contained in
+the `SignaturePolicyIdentifier element`
 * No support of the `CounterSignature` element -> no support for
-the `UnsignedProperties` element
+the `UnsignedProperties` element
 * At most one `DataObjectFormat` element. More than one
 `DataObjectFormat` element makes no sense because we have only one data
 object which is signed (this is the incoming message body to the XML
 signer endpoint).
 * At most one `CommitmentTypeIndication` element. More than one
-`CommitmentTypeIndication` element makes no sense  because we have only
+`CommitmentTypeIndication` element makes no sense  because we have only
 one data object which is signed (this is the incoming message body to
 the XML signer endpoint).
 * A `CommitmentTypeIndication` element contains always the
@@ -785,7 +781,3 @@ the XML signer endpoint).
 `CommitmentTypeIndication` element is not supported.
 * The `AllDataObjectsTimeStamp` element is not supported
 * The `IndividualDataObjectsTimeStamp` element is not supported
-
-### See Also
-
-* http://www.w3.org/TR/xmldsig-bestpractices/[Best Practices]
diff --git a/components/camel-zipkin/src/main/docs/zipkin.adoc b/components/camel-zipkin/src/main/docs/zipkin.adoc
index d0e315b..b1052f0 100644
--- a/components/camel-zipkin/src/main/docs/zipkin.adoc
+++ b/components/camel-zipkin/src/main/docs/zipkin.adoc
@@ -1,17 +1,14 @@
 [[Zipkin-ZipkinComponent]]
-=== Zipkin Component
+= Zipkin Component
 
 *Available as of Camel 2.18*
 
-The camel-zipkin component is used for tracing and timing incoming and
+The Camel Zipkin component is used for tracing and timing incoming and
 outgoing Camel messages using http://zipkin.io/[zipkin].
 
 Events (span) are captured for incoming and outgoing messages being sent
 to/from Camel.
 
-NOTE: camel-zipkin is planned to be refactored in Camel 2.22.0 to not use zipkin-scribe
-but use the default http transport. This work may cause backwards incompatibility.
-
 This means you need to configure which Camel endpoints map
 to zipkin service names.
 
@@ -21,15 +18,15 @@ The mapping can be configured using:
 * endpoint url - A Camel endpoint url
 
 For both kinds you can match using wildcards and regular expressions,
-using the rules from Intercept.
+using the rules from Intercept.
 
 To match all Camel messages you can use * in the pattern and configure
 that to the same service name.
 
 If no mapping has been configured, Camel will fallback and use
-endpoint uri's as service names.  +
+endpoint uri's as service names.  +
 However, it's recommended to configure service mappings so you can use
-human-readable names instead of Camel endpoint uris in the names.
+human-readable names instead of Camel endpoint uris in the names.
 
 Camel will auto-configure a span reporter one hasn't been explicitly configured,
 and if the hostname and port to a zipkin collector has been configured as environment variables
@@ -47,7 +44,7 @@ platform can run your application in a linux container where service
 configurations are provided as environment variables.
 
 [[camel-zipkin-Options]]
-=== Options
+== Options
 
 [width="100%",cols="10%,10%,80%",options="header",]
 |===
@@ -77,15 +74,15 @@ uses the rules from Intercept.
 |includeMessageBody |false |Whether to include the Camel message body in the zipkin traces.
 This is not recommended for production usage, or when having big
 payloads. You can limit the size by configuring the
-link:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.html[max
-debug log size]. 
+xref:latest@manual::faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
+debug log size]. 
 
 |includeMessageBodyStreams |false |Whether to include message bodies that are stream based in the zipkin
 traces. This requires enabling streamcaching on the
 routes or globally on the CamelContext. This is not recommended for production usage, or when having big
 payloads. You can limit the size by configuring the
-link:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.html[max
-debug log size].  
+xref:latest@manual::faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
+debug log size].  
 |===
 
 // spring-boot-auto-configure options: START
@@ -100,7 +97,7 @@ The component supports 10 options, which are listed below.
 |===
 | Name | Description | Default | Type
 | *camel.zipkin.client-service-mappings* | Sets client service mapping(s) that matches Camel events to the given zipkin service name. The key is the pattern, the value is the service name. |  | Map
-| *camel.zipkin.endpoint* | Sets the POST URL for zipkin's <a href="http://zipkin.io/zipkin-api/#/">v2 api</a>, usually "\http://zipkinhost:9411/api/v2/spans" |  | String
+| *camel.zipkin.endpoint* | Sets the POST URL for zipkin's <a href="http://zipkin.io/zipkin-api/#/">v2 api</a>, usually "http://zipkinhost:9411/api/v2/spans" |  | String
 | *camel.zipkin.exclude-patterns* | Sets exclude pattern(s) that will disable tracing with zipkin for Camel messages that matches the pattern. |  | Set
 | *camel.zipkin.host-name* | Sets the hostname if sending spans to a remote zipkin scribe (thrift RPC) collector. |  | String
 | *camel.zipkin.include-message-body* | Whether to include the Camel message body in the zipkin traces. This is not recommended for production usage, or when having big payloads. You can limit the size by configuring camel.springboot.log-debug-max-chars option. | false | Boolean
@@ -113,7 +110,7 @@ The component supports 10 options, which are listed below.
 // spring-boot-auto-configure options: END
 
 [[camel-zipkin-Example]]
-=== Example
+== Example
 
 To enable camel-zipkin you need to configure first
 
@@ -129,7 +126,7 @@ zipkin.init(camelContext);
 ----
 
 The configuration above will trace all incoming and outgoing
-messages in Camel routes. 
+messages in Camel routes. 
 
 To use ZipkinTracer in XML, all you need to do is to define scribe and
 zipkin tracer beans. Camel will automatically discover and use them.
@@ -137,7 +134,7 @@ zipkin tracer beans. Camel will automatically discover and use them.
 [source,xml]
 ----
   <!-- configure how to reporter spans to a Zipkin collector
-          (the dependency is io.zipkin.reporter2:zipkin-reporter-spring-beans) -->
+          (the dependency is org.apache.zipkin.reporter2:zipkin-reporter-spring-beans) -->
   <bean id="http" class="zipkin2.reporter.beans.AsyncReporterFactoryBean">
     <property name="sender">
       <bean id="sender" class="zipkin2.reporter.beans.OkHttpSenderFactoryBean">
@@ -156,7 +153,7 @@ zipkin tracer beans. Camel will automatically discover and use them.
 ----
 
 [[camel-zipkin-ServiceName]]
-==== ServiceName
+== ServiceName
 
 However, if you want to map Camel endpoints to human friendly logical
 names, you can add mappings
@@ -176,7 +173,7 @@ traces. If your application uses different services, you should map
 them to more finely grained client / server service mappings
 
 [[camel-zipkin-ClientandServerServiceMappings]]
-==== Client and Server Service Mappings
+== Client and Server Service Mappings
 
 * ClientServiceMappings
 * ServerServiceMappings
@@ -221,7 +218,7 @@ zipkin.addClientServiceMapping("http:someserver*", "audit");
 ----
 
 [[camel-zipkin-Mappingrules]]
-=== Mapping rules
+== Mapping rules
 
 The service name mapping for server occurs using the following rules
 
@@ -251,7 +248,7 @@ service name
 5.  No service name was found, the exchange is not traced by zipkin
 
 [[camel-zipkin-Noclientorservermappings]]
-==== No client or server mappings
+== No client or server mappings
 
 If there has been no configuration of client or server service mappings,
 CamelZipkin runs in a fallback mode, and uses endpoint
@@ -272,14 +269,14 @@ systems across your infrastructure, then you should consider using human-readabl
 uris.
 
 [[camel-zipkin-camel-zipin-starter]]
-=== camel-zipin-starter
+== camel-zipin-starter
 
-If you are using Spring Boot then you can add
-the `camel-zipkin-starter` dependency, and turn on zipkin by annotating
+If you are using Spring Boot then you can add
+the `camel-zipkin-starter` dependency, and turn on zipkin by annotating
 the main class with `@CamelZipkin`. You can then configure camel-zipkin
-in the `application.properties` file where you can configure the
+in the `application.properties` file where you can configure the
 hostname and port number for the Zipkin Server, and all the other
 options as listed in the options table above.
 
 You can find an example of this in
-the https://github.com/apache/camel/tree/master/examples/camel-example-zipkin[camel-example-zipkin]
+the https://github.com/apache/camel/tree/master/examples/camel-example-zipkin[camel-example-zipkin]
diff --git a/docs/components/antora.yml b/docs/components/antora.yml
index b1f6bd8..e09b01f 100644
--- a/docs/components/antora.yml
+++ b/docs/components/antora.yml
@@ -17,6 +17,6 @@
 
 name: components
 title: Component reference
-version: latest
+version: 2.x
 nav:
 - modules/ROOT/nav.adoc
diff --git a/docs/components/modules/ROOT/pages/ahc-component.adoc b/docs/components/modules/ROOT/pages/ahc-component.adoc
index ad7f5a6..60e31da 100644
--- a/docs/components/modules/ROOT/pages/ahc-component.adoc
+++ b/docs/components/modules/ROOT/pages/ahc-component.adoc
@@ -405,7 +405,7 @@ from("direct:start")
 Using the JSSE Configuration Utility
 
 The AHC component supports SSL/TLS configuration
-through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
diff --git a/docs/components/modules/ROOT/pages/amqp-component.adoc b/docs/components/modules/ROOT/pages/amqp-component.adoc
index 989e86b..a0fb1ca 100644
--- a/docs/components/modules/ROOT/pages/amqp-component.adoc
+++ b/docs/components/modules/ROOT/pages/amqp-component.adoc
@@ -410,7 +410,7 @@ AMQPConnectionDetails amqpConnection() {
 }
 ----
 
-You can also rely on the xref:properties-component.adoc[Camel properties] to read
+You can also rely on the Camel properties to read
 the AMQP connection details. Factory
 method `AMQPConnectionDetails.discoverAMQP()` attempts to read Camel
 properties in a Kubernetes-like convention, just as demonstrated on the
diff --git a/docs/components/modules/ROOT/pages/beanstalk-component.adoc b/docs/components/modules/ROOT/pages/beanstalk-component.adoc
index 1f2dedd..c2403c1 100644
--- a/docs/components/modules/ROOT/pages/beanstalk-component.adoc
+++ b/docs/components/modules/ROOT/pages/beanstalk-component.adoc
@@ -46,7 +46,7 @@ beanstalk://localhost:11300/tube1+tube2
 
 Tube name will be URL decoded, so if your tube names include special
 characters like + or ?, you need to URL-encode them appropriately, or
-use the RAW syntax, see xref:manual::faq/how-do-i-configure-endpoints.adoc[more
+use the RAW syntax, see xref:latest@manual::faq/how-do-i-configure-endpoints.adoc[more
 details here].
 
 By the way, you cannot specify several tubes when you are writing jobs
@@ -167,7 +167,7 @@ Be careful when specifying `release`, as the failed job will immediately
 become available in the same tube and your consumer will try to acquire
 it again. You can `release` and specify _jobDelay_ though.
 
-The beanstalk consumer is a Scheduled xref:manual::polling-consumer.adoc[Polling
+The beanstalk consumer is a Scheduled xref:latest@manual::polling-consumer.adoc[Polling
 Consumer] which means there is more options you can configure, such as
 how frequent the consumer should poll. For more details
 see Polling Consumer.
diff --git a/docs/components/modules/ROOT/pages/cdi.adoc b/docs/components/modules/ROOT/pages/cdi.adoc
index 9de60c1..2c14402 100644
--- a/docs/components/modules/ROOT/pages/cdi.adoc
+++ b/docs/components/modules/ROOT/pages/cdi.adoc
@@ -837,7 +837,7 @@ MockEndpoint outbound = endpoints
 
 == Maven Archetype
 
-Among the available xref:manual::camel-maven-archetypes.adoc[Camel Maven
+Among the available xref:latest@manual::camel-maven-archetypes.adoc[Camel Maven
 archetypes], you can use the provided `camel-archetype-cdi` to generate
 a Camel CDI Maven project, e.g.:
 
diff --git a/docs/components/modules/ROOT/pages/cometd-component.adoc b/docs/components/modules/ROOT/pages/cometd-component.adoc
index c6085d0..5d93d3f 100644
--- a/docs/components/modules/ROOT/pages/cometd-component.adoc
+++ b/docs/components/modules/ROOT/pages/cometd-component.adoc
@@ -167,7 +167,7 @@ http://cometd.org/documentation/howtos/authentication[documented here]
 === Using the JSSE Configuration Utility
 
 The Cometd component supports SSL/TLS configuration
-through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
diff --git a/docs/components/modules/ROOT/pages/crypto-component.adoc b/docs/components/modules/ROOT/pages/crypto-component.adoc
index d0d91d7..673655f 100644
--- a/docs/components/modules/ROOT/pages/crypto-component.adoc
+++ b/docs/components/modules/ROOT/pages/crypto-component.adoc
@@ -197,7 +197,7 @@ The component supports 33 options, which are listed below.
 The most basic way to way to sign and verify an exchange is with a
 KeyPair as follows.
 
-The same can be achieved with the xref:manual::spring-xml-extensions.adoc[Spring
+The same can be achieved with the xref:latest@manual::spring-xml-extensions.adoc[Spring
 XML Extensions] using references to keys
 
 === KeyStores and Aliases.
diff --git a/docs/components/modules/ROOT/pages/disruptor-component.adoc b/docs/components/modules/ROOT/pages/disruptor-component.adoc
index 1d0671c..b6f7af9 100644
--- a/docs/components/modules/ROOT/pages/disruptor-component.adoc
+++ b/docs/components/modules/ROOT/pages/disruptor-component.adoc
@@ -8,10 +8,10 @@ http://www.eecs.harvard.edu/~mdw/proj/seda/[SEDA] behavior much as the
 standard SEDA Component, but utilizes a
 https://github.com/LMAX-Exchange/disruptor[Disruptor] instead of a
 http://docs.oracle.com/javase/1.5.0/docs/api/java/util/concurrent/BlockingQueue.html[BlockingQueue]
-utilized by the standard xref:seda-component.adoc[SEDA]. Alternatively, a
+utilized by the standard SEDA. Alternatively, a
 
 *disruptor-vm:* endpoint is supported by this component, providing an
-alternative to the standard xref:vm-component.adoc[VM]. As with the SEDA
+alternative to the standard VM. As with the SEDA
 component, buffers of the *disruptor:* endpoints are only visible within
 a *single* CamelContext and no support is
 provided for persistence or recovery. The buffers of the
@@ -220,7 +220,7 @@ without incurring significant latency spikes.
 
 == Use of Request Reply
 
-The Disruptor component supports using xref:manual::requestReply-eip.adoc[Request
+The Disruptor component supports using xref:latest@manual::requestReply-eip.adoc[Request
 Reply], where the caller will wait for the Async route to complete. For
 instance:
 
diff --git a/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc b/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
index 2aabd83..a32188a 100644
--- a/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
+++ b/docs/components/modules/ROOT/pages/elasticsearch-rest-component.adoc
@@ -288,7 +288,7 @@ try (ElasticsearchScrollRequestIterator response = template.requestBody("direct:
 }
 ----
 
-xref:manual::split-eip.adoc[Split EIP] can also be used.
+xref:latest@manual::split-eip.adoc[Split EIP] can also be used.
 
 [source,java]
 ----
diff --git a/docs/components/modules/ROOT/pages/elsql-component.adoc b/docs/components/modules/ROOT/pages/elsql-component.adoc
index 9fc48e5..84aecd7 100644
--- a/docs/components/modules/ROOT/pages/elsql-component.adoc
+++ b/docs/components/modules/ROOT/pages/elsql-component.adoc
@@ -40,7 +40,7 @@ The parameters to the SQL queries are named parameters in the elsql
 mapping files, and maps to corresponding keys from the Camel message, in
 the given precedence:
 
-1. from message body if xref:manual::simple-language.adoc[Simple]
+1. from message body if xref:latest@manual::simple-language.adoc[Simple]
 expression.
 
 2. from message body if its a `java.util.Map`
diff --git a/docs/components/modules/ROOT/pages/facebook-component.adoc b/docs/components/modules/ROOT/pages/facebook-component.adoc
index a827c4b..0365e00 100644
--- a/docs/components/modules/ROOT/pages/facebook-component.adoc
+++ b/docs/components/modules/ROOT/pages/facebook-component.adoc
@@ -331,7 +331,7 @@ facebook4j.PostUpdate body.
         .to("facebook://postFeed/inBody=postUpdate);
 ----------------------------------------------------
 
-To poll, every 5 sec (You can set the xref:manual::polling-consumer.adoc[polling
+To poll, every 5 sec (You can set the xref:latest@manual::polling-consumer.adoc[polling
 consumer] options by adding a prefix of "consumer"), all statuses on
 your home feed:
 
diff --git a/docs/components/modules/ROOT/pages/grape-component.adoc b/docs/components/modules/ROOT/pages/grape-component.adoc
index 7e566ce..e29ccbb 100644
--- a/docs/components/modules/ROOT/pages/grape-component.adoc
+++ b/docs/components/modules/ROOT/pages/grape-component.adoc
@@ -129,7 +129,7 @@ By default Camel Grape component operates on the String payloads:
 producerTemplate.sendBody("grape:defaultMavenCoordinates", "org.apache.camel/camel-ftp/2.15.2");
 ------------------------------------------------------------------------------------------------
 
-But of course Camel build-in xref:manual::type-converter.adoc[type conversion
+But of course Camel build-in xref:latest@manual::type-converter.adoc[type conversion
 API] can perform the automatic data type transformations for you. In the
 example below Camel automatically converts binary payload into the
 String:
diff --git a/docs/components/modules/ROOT/pages/groovy-language.adoc b/docs/components/modules/ROOT/pages/groovy-language.adoc
index 05abe53..1057b92 100644
--- a/docs/components/modules/ROOT/pages/groovy-language.adoc
+++ b/docs/components/modules/ROOT/pages/groovy-language.adoc
@@ -6,7 +6,7 @@
 Camel supports http://groovy.codehaus.org/[Groovy] among other
 Scripting Languages to allow an
 Expression or Predicate to be
-used in the DSL or xref:manual::xml-configuration.adoc[Xml
+used in the DSL or xref:latest@manual::xml-configuration.adoc[Xml
 Configuration].
 
 To use a Groovy expression use the following Java code
@@ -17,7 +17,7 @@ To use a Groovy expression use the following Java code
 ---------------------------------------
 
 For example you could use the *groovy* function to create an
-Predicate in a xref:manual::filter-eip.adoc[Message Filter] or as an Expression for a
+Predicate in a xref:latest@manual::filter-eip.adoc[Message Filter] or as an Expression for a
 Recipient List
 
 == Groovy Options
@@ -122,7 +122,7 @@ following attributes all set at `ENGINE_SCOPE`:
 IN message instead.
 
 |properties |`org.apache.camel.builder.script.PropertiesFunction` |Function with a `resolve` method to make it easier to use
-Camels xref:properties-component.adoc[Properties] component from scripts. See
+Camels Properties component from scripts. See
 further below for example.
 |=======================================================================
 
@@ -141,7 +141,7 @@ header on the Camel message with the key `CamelScriptArguments`. +
 
 *Available as of Camel 2.9*
 
-If you need to use the xref:properties-component.adoc[Properties] component from a
+If you need to use the Properties component from a
 script to lookup property placeholders, then its a bit cumbersome to do
 so. 
 For example to set a header name myHeader with a value from a property
diff --git a/docs/components/modules/ROOT/pages/http-component.adoc b/docs/components/modules/ROOT/pages/http-component.adoc
index 818e6a1..50540c7 100644
--- a/docs/components/modules/ROOT/pages/http-component.adoc
+++ b/docs/components/modules/ROOT/pages/http-component.adoc
@@ -512,7 +512,7 @@ behavior.
 Using the JSSE Configuration Utility
 
 The HTTP component supports SSL/TLS configuration
-through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
diff --git a/docs/components/modules/ROOT/pages/index.adoc b/docs/components/modules/ROOT/pages/index.adoc
index 16fa702..1eb8ddf 100644
--- a/docs/components/modules/ROOT/pages/index.adoc
+++ b/docs/components/modules/ROOT/pages/index.adoc
@@ -1,6 +1,5 @@
 = Component reference
 
-* xref:activemq-component.adoc[ActiveMQ Component]
 * xref:ahc-ws-component.adoc[AHC Websocket Component]
 * xref:ahc-component.adoc[AHC Component]
 * xref:amqp-component.adoc[AMQP Component]
@@ -23,15 +22,12 @@
 * xref:aws-ddb-component.adoc[AWS DynamoDB Component]
 * xref:aws-ddbstream-component.adoc[AWS DynamoDB Streams Component]
 * xref:aws-ec2-component.adoc[AWS EC2 Component]
-* xref:aws-ecs-component.adoc[AWS ECS Component]
-* xref:aws-eks-component.adoc[AWS EKS Component]
 * xref:aws-iam-component.adoc[AWS IAM Component]
 * xref:aws-kinesis-component.adoc[AWS Kinesis Component]
 * xref:aws-kinesis-firehose-component.adoc[AWS Kinesis Firehose Component]
 * xref:aws-kms-component.adoc[AWS KMS Component]
 * xref:aws-lambda-component.adoc[AWS Lambda Component]
 * xref:aws-mq-component.adoc[AWS MQ Component]
-* xref:aws-msk-component.adoc[AWS MSK Component]
 * xref:aws-s3-component.adoc[AWS S3 Storage Service Component]
 * xref:aws-sdb-component.adoc[AWS SimpleDB Component]
 * xref:aws-ses-component.adoc[AWS Simple Email Service Component]
@@ -45,9 +41,6 @@
 * xref:barcode-dataformat.adoc[Barcode DataFormat]
 * xref:base64-dataformat.adoc[Base64 DataFormat]
 * xref:bean-validator-component.adoc[Bean Validator Component]
-* xref:bean-component.adoc[Bean Component]
-* xref:bean-language.adoc[Bean method Language]
-* xref:class-component.adoc[Class Component]
 * xref:beanio-dataformat.adoc[BeanIO DataFormat]
 * xref:beanstalk-component.adoc[Beanstalk Component]
 * xref:bindy-dataformat.adoc[Bindy DataFormat]
@@ -55,20 +48,15 @@
 * xref:bonita-component.adoc[Bonita Component]
 * xref:box-component.adoc[Box Component]
 * xref:braintree-component.adoc[Braintree Component]
-* xref:browse-component.adoc[Browse Component]
 * xref:caffeine-cache-component.adoc[Caffeine Cache Component]
 * xref:caffeine-loadcache-component.adoc[Caffeine LoadCache Component]
 * xref:cql-component.adoc[Cassandra CQL Component]
-* xref:cbor-dataformat.adoc[CBOR DataFormat]
 * xref:cdi.adoc[Camel CDI]
-* xref:chatscript-component.adoc[ChatScript Component]
 * xref:chunk-component.adoc[Chunk Component]
-* xref:cm-sms-component.adoc[CM SMS Gateway Component]
 * xref:cmis-component.adoc[CMIS Component]
 * xref:coap-component.adoc[CoAP Component]
 * xref:cometd-component.adoc[CometD Component]
 * xref:consul-component.adoc[Consul Component]
-* xref:controlbus-component.adoc[Control Bus Component]
 * xref:corda-component.adoc[corda Component]
 * xref:couchbase-component.adoc[Couchbase Component]
 * xref:couchdb-component.adoc[CouchDB Component]
@@ -80,12 +68,7 @@
 * xref:cxf-transport.adoc[CXF Transport Component]
 * xref:cxf-component.adoc[CXF Component]
 * xref:cxfrs-component.adoc[CXF-RS Component]
-* xref:dataformat-component.adoc[Data Format Component]
-* xref:dataset-component.adoc[Dataset Component]
-* xref:dataset-test-component.adoc[DataSet Test Component]
 * xref:digitalocean-component.adoc[DigitalOcean Component]
-* xref:direct-component.adoc[Direct Component]
-* xref:direct-vm-component.adoc[Direct VM Component]
 * xref:disruptor-component.adoc[Disruptor Component]
 * xref:dns-component.adoc[DNS Component]
 * xref:docker-component.adoc[Docker Component]
@@ -103,8 +86,6 @@
 * xref:fhir-component.adoc[FHIR Component]
 * xref:fhirJson-dataformat.adoc[FHIR JSon DataFormat]
 * xref:fhirXml-dataformat.adoc[FHIR XML DataFormat]
-* xref:file-watch-component.adoc[file-watch Component]
-* xref:file-component.adoc[File Component]
 * xref:flatpack-component.adoc[Flatpack Component]
 * xref:flatpack-dataformat.adoc[Flatpack DataFormat]
 * xref:flink-component.adoc[Apache Flink Component]
@@ -129,7 +110,6 @@
 * xref:google-sheets-stream-component.adoc[Google Sheets Stream Component]
 * xref:gora-component.adoc[Gora Component]
 * xref:grape-component.adoc[Grape Component]
-* xref:grok-dataformat.adoc[Grok DataFormat]
 * xref:groovy-language.adoc[Groovy Language]
 * xref:grpc-component.adoc[gRPC Component]
 * xref:json-gson-dataformat.adoc[JSon GSon DataFormat]
@@ -150,7 +130,6 @@
 * xref:hdfs-component.adoc[HDFS Component]
 * xref:hipchat-component.adoc[Hipchat Component]
 * xref:hl7-dataformat.adoc[HL7 DataFormat]
-* xref:hl7terser-language.adoc[HL7 Terser Language]
 * xref:http-component.adoc[HTTP Component]
 * xref:hystrix.adoc[Hystrix Component]
 * xref:ical-dataformat.adoc[iCal DataFormat]
@@ -188,11 +167,9 @@
 * xref:jmx-component.adoc[JMX Component]
 * xref:json-johnzon-dataformat.adoc[JSon Johnzon DataFormat]
 * xref:jolt-component.adoc[JOLT Component]
-* xref:jooq-component.adoc[JOOQ Component]
 * xref:jpa-component.adoc[JPA Component]
 * xref:scp-component.adoc[SCP Component]
 * xref:json-validator-component.adoc[JSON Schema Validator Component]
-* xref:jsonApi-dataformat.adoc[jsonApi DataFormat]
 * xref:jsonpath-language.adoc[JsonPath Language]
 * xref:jt400-component.adoc[JT400 Component]
 * xref:kafka-component.adoc[Kafka Component]
@@ -214,12 +191,10 @@
 * xref:openshift-build-configs-component.adoc[Openshift Build Config Component]
 * xref:openshift-builds-component.adoc[Openshift Builds Component]
 * xref:kura.adoc[Eclipse Kura component]
-* xref:language-component.adoc[Language Component]
 * xref:ldap-component.adoc[LDAP Component]
 * xref:ldif-component.adoc[LDIF Component]
 * xref:leveldb.adoc[LevelDB]
 * xref:linkedin-component.adoc[Linkedin Component]
-* xref:log-component.adoc[Log Component]
 * xref:lra.adoc[LRA Component]
 * xref:lucene-component.adoc[Lucene Component]
 * xref:lumberjack-component.adoc[Lumberjack Component]
@@ -229,12 +204,10 @@
 * xref:master-component.adoc[Master Component]
 * xref:metrics-component.adoc[Metrics Component]
 * xref:micrometer-component.adoc[Micrometer Component]
-* xref:microprofile-config.adoc[MicroProfile Config Component]
 * xref:milo-client-component.adoc[OPC UA Client Component]
 * xref:milo-server-component.adoc[OPC UA Server Component]
 * xref:mina-component.adoc[Mina Component]
 * xref:mllp-component.adoc[MLLP Component]
-* xref:mock-component.adoc[Mock Component]
 * xref:mongodb-gridfs-component.adoc[MongoDB GridFS Component]
 * xref:mongodb-component.adoc[MongoDB Component]
 * xref:mqtt-component.adoc[MQTT Component]
@@ -264,36 +237,26 @@
 * xref:paho-component.adoc[Paho Component]
 * xref:paxlogging-component.adoc[OSGi PAX Logging Component]
 * xref:pdf-component.adoc[PDF Component]
-* xref:pg-replication-slot-component.adoc[PostgresSQL Replication Slot Component]
 * xref:pgevent-component.adoc[PostgresSQL Event Component]
 * xref:lpr-component.adoc[Printer Component]
-* xref:properties-component.adoc[Properties Component]
 * xref:protobuf-dataformat.adoc[Protobuf DataFormat]
 * xref:pubnub-component.adoc[PubNub Component]
 * xref:pulsar-component.adoc[Apache Pulsar Component]
 * xref:quartz-component.adoc[Quartz Component]
 * xref:quickfix-component.adoc[QuickFix Component]
 * xref:rabbitmq-component.adoc[RabbitMQ Component]
-* xref:reactive-executor-vertx.adoc[ReactiveExecutor VertX]
 * xref:reactive-streams-component.adoc[Reactive Streams Component]
 * xref:reactor-component.adoc[Reactor Component]
-* xref:ref-component.adoc[Ref Component]
 * xref:rest-swagger-component.adoc[REST Swagger Component]
-* xref:rest-api-component.adoc[REST API Component]
-* xref:rest-component.adoc[REST Component]
 * xref:restlet-component.adoc[Restlet Component]
 * xref:ribbon.adoc[Ribbon Component]
 * xref:rss-component.adoc[RSS Component]
 * xref:rss-dataformat.adoc[RSS DataFormat]
-* xref:rxjava.adoc[RxJava Component]
-* xref:saga-component.adoc[Saga Component]
 * xref:salesforce-component.adoc[Salesforce Component]
 * xref:sap-netweaver-component.adoc[SAP NetWeaver Component]
 * xref:xquery-component.adoc[XQuery Component]
 * xref:xquery-language.adoc[XQuery Language]
-* xref:scheduler-component.adoc[Scheduler Component]
 * xref:schematron-component.adoc[Schematron Component]
-* xref:seda-component.adoc[SEDA Component]
 * xref:service-component.adoc[Service Component]
 * xref:servicenow-component.adoc[ServiceNow Component]
 * xref:servlet-component.adoc[Servlet Component]
@@ -308,7 +271,6 @@
 * xref:snmp-component.adoc[SNMP Component]
 * xref:soapjaxb-dataformat.adoc[SOAP DataFormat]
 * xref:solr-component.adoc[Solr Component]
-* xref:soroush-component.adoc[Soroush Component]
 * xref:spark-rest-component.adoc[Spark Rest Component]
 * xref:spark-component.adoc[Apache Spark Component]
 * xref:splunk-component.adoc[Splunk Component]
@@ -334,7 +296,6 @@
 * xref:stomp-component.adoc[Stomp Component]
 * xref:stream-component.adoc[Stream Component]
 * xref:string-template-component.adoc[String Template Component]
-* xref:stub-component.adoc[Stub Component]
 * xref:swagger-java.adoc[Swagger Java Component]
 * xref:syslog-dataformat.adoc[Syslog DataFormat]
 * xref:tidyMarkup-dataformat.adoc[TidyMarkup DataFormat]
@@ -342,7 +303,6 @@
 * xref:telegram-component.adoc[Telegram Component]
 * xref:test-blueprint.adoc[Blueprint Testing]
 * xref:test-cdi.adoc[CDI Testing]
-* xref:test-junit5.adoc[Test Module]
 * xref:test-karaf.adoc[Test Karaf]
 * xref:test-spring.adoc[Test Spring]
 * xref:test.adoc[Test Module]
@@ -351,7 +311,6 @@
 * xref:thrift-component.adoc[Thrift Component]
 * xref:thrift-dataformat.adoc[Thrift DataFormat]
 * xref:tika-component.adoc[Tika Component]
-* xref:timer-component.adoc[Timer Component]
 * xref:twilio-component.adoc[Twilio Component]
 * xref:twitter-directmessage-component.adoc[Twitter Direct Message Component]
 * xref:twitter-search-component.adoc[Twitter Search Component]
@@ -360,13 +319,10 @@
 * xref:univocity-csv-dataformat.adoc[uniVocity CSV DataFormat]
 * xref:univocity-fixed-dataformat.adoc[uniVocity Fixed Length DataFormat]
 * xref:univocity-tsv-dataformat.adoc[uniVocity TSV DataFormat]
-* xref:validator-component.adoc[Validator Component]
 * xref:velocity-component.adoc[Velocity Component]
 * xref:vertx-component.adoc[Vert.x Component]
-* xref:vm-component.adoc[VM Component]
 * xref:weather-component.adoc[Weather Component]
 * xref:web3j-component.adoc[Web3j Ethereum Blockchain Component]
-* xref:webhook-component.adoc[Webhook Component]
 * xref:websocket-jsr356-component.adoc[Javax Websocket Component]
 * xref:websocket-component.adoc[Jetty Websocket Component]
 * xref:wordpress-component.adoc[Wordpress Component]
@@ -374,14 +330,10 @@
 * xref:secureXML-dataformat.adoc[XML Security DataFormat]
 * xref:xmlsecurity-component.adoc[XML Security Component]
 * xref:xmpp-component.adoc[XMPP Component]
-* xref:xpath-language.adoc[XPath Language]
-* xref:xslt-component.adoc[XSLT Component]
 * xref:json-xstream-dataformat.adoc[JSon XStream DataFormat]
 * xref:xstream-dataformat.adoc[XStream DataFormat]
 * xref:yammer-component.adoc[Yammer Component]
 * xref:zendesk-component.adoc[Zendesk Component]
-* xref:gzipdeflater-dataformat.adoc[GZip Deflater DataFormat]
-* xref:zipdeflater-dataformat.adoc[Zip Deflate Compression DataFormat]
 * xref:zipfile-dataformat.adoc[Zip File DataFormat]
 * xref:zipkin.adoc[Zipkin Component]
 * xref:zookeeper-master-component.adoc[ZooKeeper Master Component]
diff --git a/docs/components/modules/ROOT/pages/irc-component.adoc b/docs/components/modules/ROOT/pages/irc-component.adoc
index 68e8a53..487a1aa 100644
--- a/docs/components/modules/ROOT/pages/irc-component.adoc
+++ b/docs/components/modules/ROOT/pages/irc-component.adoc
@@ -134,7 +134,7 @@ The component supports 3 options, which are listed below.
 === Using the JSSE Configuration Utility
 
 The IRC component supports SSL/TLS configuration
-through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
diff --git a/docs/components/modules/ROOT/pages/jasypt.adoc b/docs/components/modules/ROOT/pages/jasypt.adoc
index 0fb1044..4c63f2a 100644
--- a/docs/components/modules/ROOT/pages/jasypt.adoc
+++ b/docs/components/modules/ROOT/pages/jasypt.adoc
@@ -4,7 +4,7 @@
 
 http://www.jasypt.org/[Jasypt] is a simplified encryption library which
 makes encryption and decryption easy. Camel integrates with Jasypt to
-allow sensitive information in xref:properties-component.adoc[Properties] files to
+allow sensitive information in Properties files to
 be encrypted. By dropping *`camel-jasypt`* on the classpath those
 encrypted values will automatically be decrypted on-the-fly by Camel.
 This ensures that human eyes can't easily spot sensitive information
@@ -97,7 +97,7 @@ Decrypted text: tiger
 ---------------------
 
 The idea is then to use those encrypted values in your
-xref:properties-component.adoc[Properties] files. Notice how the password value is
+Properties files. Notice how the password value is
 encrypted and the value has the tokens surrounding `ENC(value here)`
 
 TIP: When running jasypt tooling, if you come across `java.lang.NoClassDefFoundError: org/jasypt/encryption/pbe/StandardPBEStringEncryptor` this means you have to include jasypt\{version\}.jar in your classpath. Example of adding jar to classpath may be copying jasypt\{version\}.jar to $JAVA_HOME\jre\lib\ext if you are going to run as `java -jar ...`. The latter may be adding jasypt\{version\}.jar to classpath using `-cp`, in that case you should provide main class to execute as eg: `jav [...]
@@ -154,7 +154,7 @@ The `password` option is then a matter of defining as follows:
 
 In Java DSL you need to configure Jasypt as a
 `JasyptPropertiesParser` instance and set it on the
-xref:properties-component.adoc[Properties] component as show below:
+Properties component as show below:
 
 The properties file `myproperties.properties` then contain the encrypted
 value, such as shown below. Notice how the password value is encrypted
@@ -163,7 +163,7 @@ and the value has the tokens surrounding `ENC(value here)`
 == Example with Spring XML
 
 In Spring XML you need to configure the `JasyptPropertiesParser` which
-is shown below. Then the Camel xref:properties-component.adoc[Properties]
+is shown below. Then the Camel Properties
 component is told to use `jasypt` as the properties parser, which means
 Jasypt has its chance to decrypt values looked up in
 the properties.
@@ -184,7 +184,7 @@ the properties.
 </bean>
 -----------------------------------------------------------------------------------------------------------
 
-The xref:properties-component.adoc[Properties] component can also be inlined
+The Properties component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer to
 Jasypt.
@@ -214,7 +214,7 @@ Jasypt.
 
 In Blueprint XML you need to configure
 the `JasyptPropertiesParser` which is shown below. Then the
-Camel xref:properties-component.adoc[Properties] component is told to
+Camel Properties component is told to
 use `jasypt` as the properties parser, which
 means Jasypt has its chance to decrypt values looked
 up in the properties.
@@ -254,7 +254,7 @@ up in the properties.
 </blueprint>
 ----------------------------------------------------------------------------------------------------------------
 
-The xref:properties-component.adoc[Properties] component can also be inlined
+The Properties component can also be inlined
 inside the `<camelContext>` tag which is shown below. Notice how we use
 the `propertiesParserRef` attribute to refer
 to Jasypt.
diff --git a/docs/components/modules/ROOT/pages/jdbc-component.adoc b/docs/components/modules/ROOT/pages/jdbc-component.adoc
index d10c5ca..d264a03 100644
--- a/docs/components/modules/ROOT/pages/jdbc-component.adoc
+++ b/docs/components/modules/ROOT/pages/jdbc-component.adoc
@@ -225,7 +225,7 @@ from("direct:hello")
 == Sample - Polling the database every minute
 
 If we want to poll a database using the JDBC component, we need to
-combine it with a polling scheduler such as the xref:timer-component.adoc[Timer]
+combine it with a polling scheduler such as the Timer
 or xref:quartz-component.adoc[Quartz] etc. In the following example, we retrieve
 data from the database every 60 seconds:
 
diff --git a/docs/components/modules/ROOT/pages/jgroups-component.adoc b/docs/components/modules/ROOT/pages/jgroups-component.adoc
index 469a4bb..784020d 100644
--- a/docs/components/modules/ROOT/pages/jgroups-component.adoc
+++ b/docs/components/modules/ROOT/pages/jgroups-component.adoc
@@ -193,7 +193,7 @@ method. The expression created by this factory method will return given
 delay value only if the Camel context is in the state different than
 `started`. This expression is particularly useful if you would like to
 use JGroups component for keeping singleton (master) route within the
-cluster. xref:controlbus-component.adoc[Control Bus] `start` command
+cluster. Control Bus `start` command
 won't initialize the singleton route if the Camel Context hasn't been
 yet started. So you need to delay a startup of the master route, to be
 sure that it has been initialized after the Camel Context startup.
diff --git a/docs/components/modules/ROOT/pages/jms-component.adoc b/docs/components/modules/ROOT/pages/jms-component.adoc
index 4cf2d3a..42063a9 100644
--- a/docs/components/modules/ROOT/pages/jms-component.adoc
+++ b/docs/components/modules/ROOT/pages/jms-component.adoc
@@ -650,7 +650,7 @@ from("file://orders").
 
 === Using Annotations
 
-Camel also has annotations so you can use xref:manual::pojo-consuming.adoc[POJO
+Camel also has annotations so you can use xref:latest@manual::pojo-consuming.adoc[POJO
 Consuming] and POJO Producing.
 
 === Spring DSL sample
@@ -679,7 +679,7 @@ the documentation.
 
 Normally, when using xref:jms-component.adoc[JMS] as the transport, it only
 transfers the body and headers as the payload. If you want to use
-xref:jms-component.adoc[JMS] with a xref:manual::dead-letter-channel.adoc[Dead Letter
+xref:jms-component.adoc[JMS] with a xref:latest@manual::dead-letter-channel.adoc[Dead Letter
 Channel], using a JMS queue as the Dead Letter Queue, then normally the
 caused Exception is not stored in the JMS message. You can, however, use
 the `transferExchange` option on the JMS dead letter queue to instruct
@@ -1386,7 +1386,7 @@ Transactions and [Request Reply] over JMS
 When using Request Reply over JMS you cannot
 use a single transaction; JMS will not send any messages until a commit
 is performed, so the server side won't receive anything at all until the
-transaction commits. Therefore to use xref:manual::requestReply-eip.adoc[Request
+transaction commits. Therefore to use xref:latest@manual::requestReply-eip.adoc[Request
 Reply] you must commit a transaction after sending the request and then
 use a separate transaction for receiving the response.
 
diff --git a/docs/components/modules/ROOT/pages/lzf-dataformat.adoc b/docs/components/modules/ROOT/pages/lzf-dataformat.adoc
index eb79915..ab3e1a0 100644
--- a/docs/components/modules/ROOT/pages/lzf-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/lzf-dataformat.adoc
@@ -4,7 +4,7 @@
 
 
 The
-LZF xref:manual::data-format.adoc[Data Format] is a message compression
+LZF xref:latest@manual::data-format.adoc[Data Format] is a message compression
 and de-compression format. It uses the
 LZF deflate algorithm. Messages marshalled using LZF compression can be
 unmarshalled using LZF decompression just prior to being consumed at the
diff --git a/docs/components/modules/ROOT/pages/mail-component.adoc b/docs/components/modules/ROOT/pages/mail-component.adoc
index bf36fd4..41c4b88 100644
--- a/docs/components/modules/ROOT/pages/mail-component.adoc
+++ b/docs/components/modules/ROOT/pages/mail-component.adoc
@@ -325,7 +325,7 @@ configuration.
 === Using the JSSE Configuration Utility
 
 The mail component supports SSL/TLS configuration
-through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
diff --git a/docs/components/modules/ROOT/pages/mvel-language.adoc b/docs/components/modules/ROOT/pages/mvel-language.adoc
index a5262c2..a5fed4c 100644
--- a/docs/components/modules/ROOT/pages/mvel-language.adoc
+++ b/docs/components/modules/ROOT/pages/mvel-language.adoc
@@ -84,7 +84,7 @@ The component supports 4 options, which are listed below.
 
 == Samples
 
-For example you could use Mvel inside a xref:manual::filter-eip.adoc[Message
+For example you could use Mvel inside a xref:latest@manual::filter-eip.adoc[Message
 Filter] in XML
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/mybatis-component.adoc b/docs/components/modules/ROOT/pages/mybatis-component.adoc
index ba27dca..d7107cf 100644
--- a/docs/components/modules/ROOT/pages/mybatis-component.adoc
+++ b/docs/components/modules/ROOT/pages/mybatis-component.adoc
@@ -305,9 +305,9 @@ See "ScheduledPollConsumer Options"
 on Polling Consumer for more options.
 
 Alternatively you can use another mechanism for triggering the scheduled
-polls, such as the xref:timer-component.adoc[Timer] or xref:timer-component.adoc[Quartz]
+polls, such as the Timer or Quartz
 components. In the sample below we poll the database, every 30 seconds
-using the xref:timer-component.adoc[Timer] component and send the data to the JMS
+using the Timer component and send the data to the JMS
 queue:
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/nagios-component.adoc b/docs/components/modules/ROOT/pages/nagios-component.adoc
index 7e7dfa9..5135934 100644
--- a/docs/components/modules/ROOT/pages/nagios-component.adoc
+++ b/docs/components/modules/ROOT/pages/nagios-component.adoc
@@ -166,5 +166,5 @@ Nagios. For example we can enable this from Java as follows:
 
 In Spring XML its just a matter of defining a Spring bean with the type
 `EventNotifier` and Camel will pick it up as documented here:
-xref:manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
+xref:latest@manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
 configuration of CamelContext using Spring].
diff --git a/docs/components/modules/ROOT/pages/netty-component.adoc b/docs/components/modules/ROOT/pages/netty-component.adoc
index 459079c..3c1b23d 100644
--- a/docs/components/modules/ROOT/pages/netty-component.adoc
+++ b/docs/components/modules/ROOT/pages/netty-component.adoc
@@ -376,7 +376,7 @@ RouteBuilder builder = new RouteBuilder() {
 Using the JSSE Configuration Utility
 
 The Netty component supports SSL/TLS configuration
-through the xref:manual::camel-configuration-utilities.adoc[Camel JSSE
+through the xref:latest@manual::camel-configuration-utilities.adoc[Camel JSSE
 Configuration Utility].  This utility greatly decreases the amount of
 component specific code you need to write and is configurable at the
 endpoint and component levels.  The following examples demonstrate how
diff --git a/docs/components/modules/ROOT/pages/ognl-language.adoc b/docs/components/modules/ROOT/pages/ognl-language.adoc
index c503585..ae5ef3e 100644
--- a/docs/components/modules/ROOT/pages/ognl-language.adoc
+++ b/docs/components/modules/ROOT/pages/ognl-language.adoc
@@ -86,7 +86,7 @@ The component supports 2 options, which are listed below.
 
 == Samples
 
-For example you could use OGNL inside a xref:manual::filter-eip.adoc[Message
+For example you could use OGNL inside a xref:latest@manual::filter-eip.adoc[Message
 Filter] in XML
 
 [source,java]
diff --git a/docs/components/modules/ROOT/pages/paho-component.adoc b/docs/components/modules/ROOT/pages/paho-component.adoc
index c4b3a8a..d035e55 100644
--- a/docs/components/modules/ROOT/pages/paho-component.adoc
+++ b/docs/components/modules/ROOT/pages/paho-component.adoc
@@ -158,7 +158,7 @@ byte[] payload = "message".getBytes();
 producerTemplate.sendBody("paho:topic", payload);
 ----
 
-But of course Camel build-in xref:manual::type-converter.adoc[type conversion
+But of course Camel build-in xref:latest@manual::type-converter.adoc[type conversion
 API] can perform the automatic data type transformations for you. In the
 example below Camel automatically converts binary payload into `String`
 (and conversely):
diff --git a/docs/components/modules/ROOT/pages/quartz-component.adoc b/docs/components/modules/ROOT/pages/quartz-component.adoc
index 061c570..09d8e1f 100644
--- a/docs/components/modules/ROOT/pages/quartz-component.adoc
+++ b/docs/components/modules/ROOT/pages/quartz-component.adoc
@@ -394,7 +394,7 @@ but it does not want to be fired now.
 
 The xref:quartz-component.adoc[Quartz] component provides a
 Polling Consumer scheduler which allows to
-use cron based scheduling for xref:manual::polling-consumer.adoc[Polling
+use cron based scheduling for xref:latest@manual::polling-consumer.adoc[Polling
 Consumer] such as the File and FTP
 consumers.
 
diff --git a/docs/components/modules/ROOT/pages/spel-language.adoc b/docs/components/modules/ROOT/pages/spel-language.adoc
index b1cc347..e125917 100644
--- a/docs/components/modules/ROOT/pages/spel-language.adoc
+++ b/docs/components/modules/ROOT/pages/spel-language.adoc
@@ -115,8 +115,8 @@ can invoke the "bar" method on this bean like this:
 
 === SpEL in enterprise integration patterns
 
-You can use SpEL as an expression for xref:manual::recipientList-eip.adoc[Recipient
-List] or as a predicate inside a xref:manual::filter-eip.adoc[Message
+You can use SpEL as an expression for xref:latest@manual::recipientList-eip.adoc[Recipient
+List] or as a predicate inside a xref:latest@manual::filter-eip.adoc[Message
 Filter]:
 
 [source,xml]
diff --git a/docs/components/modules/ROOT/pages/spring-boot.adoc b/docs/components/modules/ROOT/pages/spring-boot.adoc
index e358899..cb4c0fe 100644
--- a/docs/components/modules/ROOT/pages/spring-boot.adoc
+++ b/docs/components/modules/ROOT/pages/spring-boot.adoc
@@ -602,7 +602,7 @@ https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-tes
 
 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:manual::spring-testing.adoc[Camel Spring test annotations] to configure tests declaratively. This example uses the `@MockEndpoints` annotation to auto-mock an endpoint:
+You can also use xref:latest@manual::spring-testing.adoc[Camel Spring test annotations] to configure tests declaratively. This example uses the `@MockEndpoints` annotation to auto-mock an endpoint:
 
 [source,java]
 ----
diff --git a/docs/components/modules/ROOT/pages/spring-event-component.adoc b/docs/components/modules/ROOT/pages/spring-event-component.adoc
index 6e3b4b0..ab9a3e9 100644
--- a/docs/components/modules/ROOT/pages/spring-event-component.adoc
+++ b/docs/components/modules/ROOT/pages/spring-event-component.adoc
@@ -7,8 +7,8 @@ The Spring Event component provides access to the Spring
 `ApplicationEvent` objects. This allows you to publish
 `ApplicationEvent` objects to a Spring `ApplicationContext` or to
 consume them. You can then use
-xref:manual::enterprise-integration-patterns.adoc[Enterprise Integration
-Patterns] to process them such as xref:manual::filter-eip.adoc[Message
+xref:latest@manual::enterprise-integration-patterns.adoc[Enterprise Integration
+Patterns] to process them such as xref:latest@manual::filter-eip.adoc[Message
 Filter].
 
 == URI format
diff --git a/docs/components/modules/ROOT/pages/spring.adoc b/docs/components/modules/ROOT/pages/spring.adoc
index 332cf22..14c4ba5 100644
--- a/docs/components/modules/ROOT/pages/spring.adoc
+++ b/docs/components/modules/ROOT/pages/spring.adoc
@@ -8,7 +8,7 @@ http://www.springframework.org/[Spring Framework] in a number of ways.
 components like xref:jms-component.adoc[JMS] and xref:jms-component.adoc[JPA]
 * Camel works with Spring 2 XML processing with the
 Xml Configuration
-* Camel Spring XML Schema's is defined at xref:manual::xml-reference.adoc[Xml
+* Camel Spring XML Schema's is defined at xref:latest@manual::xml-reference.adoc[Xml
 Reference]
 * Camel provides powerful Bean Integration
 with any bean defined in a Spring ApplicationContext
@@ -20,8 +20,8 @@ instances or the CamelContext instance itself
 and auto-expose Spring beans as components and endpoints.
 * Allows you to reuse the Spring Testing
 framework to simplify your unit and integration testing using
-xref:manual::enterprise-integration-patterns.adoc[Enterprise Integration
-Patterns] and Camel's powerful xref:mock-component.adoc[Mock] and
+xref:latest@manual::enterprise-integration-patterns.adoc[Enterprise Integration
+Patterns] and Camel's powerful Mock and
 xref:test.adoc[Test] endpoints
 Camel supports Spring Boot using the `camel-spring-boot` component.
 
@@ -94,7 +94,7 @@ inline namespace declaration:
 === Advanced configuration using Spring
 
 See more details at
-xref:manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
+xref:latest@manual::advanced-configuration-of-camelcontext-using-spring.adoc[Advanced
 configuration of CamelContext using Spring]
 
 $### Using Java Code
@@ -224,7 +224,7 @@ above in the `<packageScan>` documentation.
 
 *Available as of Camel 2.3*
 
-When defining routes in Camel using xref:manual::xml-configuration.adoc[Xml
+When defining routes in Camel using xref:latest@manual::xml-configuration.adoc[Xml
 Configuration] you may want to define some routes in other XML files.
 For example you may have many routes and it may help to maintain the
 application if some of the routes are in separate XML files. You may
@@ -336,7 +336,7 @@ SpringCamelContext lazily fetching components from the spring context
 for the scheme name you use for Endpoint
 URIs.
 
-For more detail see xref:manual::faq/how-do-i-configure-endpoints.adoc[Configuring
+For more detail see xref:latest@manual::faq/how-do-i-configure-endpoints.adoc[Configuring
 Endpoints and Components].
 
 == CamelContextAware
@@ -345,7 +345,7 @@ If you want to be injected with the CamelContext
 in your POJO just implement the
 http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html[CamelContextAware
 interface]; then when Spring creates your POJO the CamelContext will be
-injected into your POJO. Also see the xref:manual::bean-integration.adoc[Bean
+injected into your POJO. Also see the xref:latest@manual::bean-integration.adoc[Bean
 Integration] for further injections.
 
 == Integration Testing
diff --git a/docs/components/modules/ROOT/pages/test-blueprint.adoc b/docs/components/modules/ROOT/pages/test-blueprint.adoc
index 1b3b800..886677e 100644
--- a/docs/components/modules/ROOT/pages/test-blueprint.adoc
+++ b/docs/components/modules/ROOT/pages/test-blueprint.adoc
@@ -114,7 +114,7 @@ services.put("myService", asService(myService, null));
 ------------------------------------------------------
 
 This allows us to use the service by calling a method on it from a Camel
-xref:bean-component.adoc[Bean] component in a route as shown:
+Bean component in a route as shown:
 
 [source,xml]
 --------------------------------
diff --git a/docs/components/modules/ROOT/pages/test-cdi.adoc b/docs/components/modules/ROOT/pages/test-cdi.adoc
index f3b2f0e..b74a554 100644
--- a/docs/components/modules/ROOT/pages/test-cdi.adoc
+++ b/docs/components/modules/ROOT/pages/test-cdi.adoc
@@ -629,7 +629,7 @@ Camel context bean provided by the Camel CDI component.
 can _advice_ an existing route before its being tested. It allows to
 add http://camel.apache.org/intercept.html[Intercept] or _weave_ routes
 for testing purpose, for example using
-the xref:mock-component.adoc[Mock] component.
+the Mock component.
 
 It is recommended to only advice routes which are not started already.
 To meet that requirement, you can use the `CamelContextStartingEvent`
diff --git a/docs/components/modules/ROOT/pages/test-spring.adoc b/docs/components/modules/ROOT/pages/test-spring.adoc
index 016191a..7b876fc 100644
--- a/docs/components/modules/ROOT/pages/test-spring.adoc
+++ b/docs/components/modules/ROOT/pages/test-spring.adoc
@@ -9,7 +9,7 @@ Allows to test Camel with Spring applications such as Spring XML files or Spring
 This documentation is old and needs to be updated
 ====
 
-xref:manual::testing.adoc[Testing] is a crucial part of any development or integration work. The Spring Framework offers a number of features that makes it easy to test while using Spring for Inversion of Control which works with JUnit 3.x, JUnit 4.x, and http://testng.org[TestNG].
+xref:latest@manual::testing.adoc[Testing] is a crucial part of any development or integration work. The Spring Framework offers a number of features that makes it easy to test while using Spring for Inversion of Control which works with JUnit 3.x, JUnit 4.x, and http://testng.org[TestNG].
 
 We can use Spring for IoC and the Camel xref:components::mock-component.adoc[Mock] and xref:components::test.adoc[Test] endpoints to create sophisticated integration/unit tests that are easy to run and debug inside your IDE.  There are three supported approaches for testing with Spring in Camel.
 [width="100%",cols="1,1,4,1",options="header",]
diff --git a/docs/components/modules/ROOT/pages/undertow-component.adoc b/docs/components/modules/ROOT/pages/undertow-component.adoc
index 1de50e9..6c9f946 100644
--- a/docs/components/modules/ROOT/pages/undertow-component.adoc
+++ b/docs/components/modules/ROOT/pages/undertow-component.adoc
@@ -206,7 +206,7 @@ If you need to expose an Undertow endpoint on all network interfaces, the
 `0.0.0.0` address should be used.
 
 To listen across an entire URI prefix, see
-xref:manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards].
+xref:latest@manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards].
 
 If you actually want to expose routes by HTTP and already have a
 Servlet, you should instead refer to the
diff --git a/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc b/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
index 43f3906..2e6b66d 100644
--- a/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/univocity-csv-dataformat.adoc
@@ -2,7 +2,7 @@
 
 *Available as of Camel version 2.15*
 
-This xref:manual::data-format.adoc[Data
+This xref:latest@manual::data-format.adoc[Data
 Format] uses http://www.univocity.com/pages/about-parsers[uniVocity-parsers]
 for reading and writing 3 kinds of tabular data text files:
 
diff --git a/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc b/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
index c674221..edc40b6 100644
--- a/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
+++ b/docs/components/modules/ROOT/pages/univocity-fixed-dataformat.adoc
@@ -2,7 +2,7 @@
 
 *Available as of Camel version 2.15*
 
-This xref:manual::data-format.adoc[Data
+This xref:latest@manual::data-format.adoc[Data
... 111 lines suppressed ...