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 2020/04/07 10:22:49 UTC

[camel] branch master updated: split FAQ into a separate module

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 28d76d8  split FAQ into a separate module
28d76d8 is described below

commit 28d76d87501e8ea34592818db3f886ba1834218f
Author: aashnajena <je...@gmail.com>
AuthorDate: Tue Apr 7 15:45:50 2020 +0530

    split FAQ into a separate module
---
 .../src/main/docs/beanstalk-component.adoc         |   2 +-
 .../camel-jetty/src/main/docs/jetty-component.adoc |   2 +-
 components/camel-spring/src/main/docs/spring.adoc  |   2 +-
 .../src/main/docs/undertow-component.adoc          |   2 +-
 .../src/main/docs/xslt-saxon-component.adoc        |   2 +-
 .../camel-xslt/src/main/docs/xslt-component.adoc   |   2 +-
 components/camel-zipkin/src/main/docs/zipkin.adoc  |   4 +-
 .../src/main/docs/properties-component.adoc        |   2 +-
 .../main/docs/modules/eips/pages/choice-eip.adoc   |   2 +-
 .../eips/pages/content-based-router-eip.adoc       |   2 +-
 .../docs/modules/eips/pages/message-router.adoc    |   2 +-
 .../modules/ROOT/pages/beanstalk-component.adoc    |   2 +-
 .../modules/ROOT/pages/jetty-component.adoc        |   2 +-
 .../modules/ROOT/pages/properties-component.adoc   |   2 +-
 docs/components/modules/ROOT/pages/spring.adoc     |   2 +-
 .../modules/ROOT/pages/undertow-component.adoc     |   2 +-
 .../modules/ROOT/pages/xslt-component.adoc         |   2 +-
 .../modules/ROOT/pages/xslt-saxon-component.adoc   |   2 +-
 docs/components/modules/ROOT/pages/zipkin.adoc     |   4 +-
 docs/gulpfile.js                                   |  10 +-
 docs/user-manual-nav.adoc.template                 | 196 ++++++++++-----------
 docs/user-manual/antora.yml                        |   2 +
 docs/user-manual/fix-eip-xrefs.sh                  | 188 --------------------
 docs/user-manual/modules/ROOT/nav.adoc             | 109 ------------
 docs/user-manual/modules/ROOT/pages/component.adoc |   2 +-
 .../modules/ROOT/pages/contributing.adoc           |   2 +-
 docs/user-manual/modules/ROOT/pages/examples.adoc  |   2 +-
 docs/user-manual/modules/ROOT/pages/faq.adoc       | 166 -----------------
 .../ROOT/pages/faq/how-do-i-debug-my-route.adoc    |  15 --
 .../ROOT/pages/faq/how-does-camel-work.adoc        |   5 -
 docs/user-manual/modules/ROOT/pages/index.adoc     |   6 +-
 docs/user-manual/modules/ROOT/pages/jndi.adoc      |   2 +-
 docs/user-manual/modules/ROOT/pages/support.adoc   |   8 +-
 docs/user-manual/modules/ROOT/pages/transport.adoc |   2 +-
 docs/user-manual/modules/ROOT/pages/uris.adoc      |   2 +-
 .../ROOT/pages/using-propertyplaceholder.adoc      |   2 +-
 .../modules/ROOT/pages/xml-configuration.adoc      |   2 +-
 docs/user-manual/modules/ROOT/references.adoc      |   5 +
 .../management/ManagedCustomProcessorTest.java     |   0
 docs/user-manual/modules/faq/nav.adoc              | 102 +++++++++++
 .../pages}/can-i-get-commercial-support.adoc       |   2 +-
 ...loader-issue-of-servicemix-camel-component.adoc |   0
 .../exception-beandefinitionstoreexception.adoc    |   0
 ...ption-javaxnamingnoinitialcontextexception.adoc |   2 +-
 ...tion-orgapachecamelnosuchendpointexception.adoc |   0
 .../exception-orgxmlsaxsaxparseexception.adoc      |   2 +-
 ...an-i-create-a-custom-component-or-endpoint.adoc |   2 +-
 ...on-ip-address-from-the-camel-cxf-consumer-.adoc |   0
 .../pages}/how-can-i-get-the-source-code.adoc      |   2 +-
 .../how-can-i-stop-a-route-from-a-route.adoc       |  14 +-
 ...ults-with-stacktraces-when-using-camel-cxf.adoc |   0
 .../pages}/how-do-i-become-a-committer.adoc        |   8 +-
 .../pages}/how-do-i-change-the-logging.adoc        |   0
 .../pages}/how-do-i-compile-the-code.adoc          |   2 +-
 .../pages}/how-do-i-configure-endpoints.adoc       |   0
 ...-endpoints-without-the-value-being-encoded.adoc |   4 +-
 ...size-for-producercache-or-producertemplate.adoc |   0
 ...ximum-endpoint-cache-size-for-camelcontext.adoc |   6 +-
 .../modules/faq/pages/how-do-i-debug-my-route.adoc |  15 ++
 .../faq => faq/pages}/how-do-i-disable-jmx.adoc    |   0
 .../pages}/how-do-i-edit-the-website.adoc          |   2 +-
 .../pages}/how-do-i-enable-debug-logging.adoc      |   2 +-
 ...reams-when-debug-logging-messages-in-camel.adoc |   0
 ...en-consuming-for-example-from-a-ftp-server.adoc |   2 +-
 ...how-do-i-import-rests-from-other-xml-files.adoc |   2 +-
 ...ow-do-i-import-routes-from-other-xml-files.adoc |   2 +-
 .../how-do-i-invoke-camel-routes-from-jbi.adoc     |   0
 .../pages}/how-do-i-let-jetty-match-wildcards.adoc |   0
 ...ow-do-i-make-my-jms-endpoint-transactional.adoc |   4 +-
 .../faq => faq/pages}/how-do-i-name-my-routes.adoc |   0
 .../pages}/how-do-i-restart-camelcontext.adoc      |   4 +-
 ...wn-exception-during-processing-an-exchange.adoc |   0
 .../how-do-i-retry-failed-messages-forever.adoc    |   0
 ...om-a-certain-point-back-or-an-entire-route.adoc |   0
 ...-contexttestsupport-class-in-my-unit-tests.adoc |   4 +-
 .../how-do-i-run-activemq-and-camel-in-jboss.adoc  |   0
 .../how-do-i-run-camel-using-java-webstart.adoc    |   0
 ...chars-when-debug-logging-messages-in-camel.adoc |   0
 ...do-i-set-the-mep-when-interacting-with-jbi.adoc |   0
 ...ify-time-period-in-a-human-friendly-syntax.adoc |   2 +-
 ...h-method-to-use-when-using-beans-in-routes.adoc |   6 +-
 .../pages}/how-do-i-use-a-big-uber-jar.adoc        |   0
 .../how-do-i-use-camel-inside-servicemix.adoc      |   0
 .../pages}/how-do-i-use-java-14-logging.adoc       |   0
 .../faq => faq/pages}/how-do-i-use-log4j.adoc      |   0
 ...spring-property-placeholder-with-camel-xml.adoc |   2 +-
 .../how-do-i-use-uris-with-parameters-in-xml.adoc  |   4 +-
 ...om-processor-which-sends-multiple-messages.adoc |   0
 ...direct-event-seda-and-vm-endpoints-compare.adoc |   0
 ...-do-the-timer-and-quartz-endpoints-compare.adoc |   0
 .../pages}/how-does-camel-compare-to-mule.adoc     |   8 +-
 .../how-does-camel-compare-to-servicemix-eip.adoc  |   2 +-
 .../how-does-camel-compare-to-servicemix.adoc      |   6 +-
 .../pages}/how-does-camel-compare-to-synapse.adoc  |   6 +-
 ...how-does-camel-look-up-beans-and-endpoints.adoc |  16 +-
 .../pages}/how-does-camel-work-with-activemq.adoc  |   2 +-
 .../how-does-camel-work-with-servicemix.adoc       |   2 +-
 .../modules/faq/pages/how-does-camel-work.adoc     |   5 +
 .../pages}/how-does-the-camel-api-compare-to.adoc  |   4 +-
 .../pages}/how-does-the-website-work.adoc          |   0
 ...hould-i-invoke-my-pojos-or-spring-services.adoc |   6 +-
 ...kage-applications-using-camel-and-activemq.adoc |   4 +-
 ...the-camel-cxf-endpoint-from-osgi-platform-.adoc |   0
 ...-avoid-sending-some-or-all-message-headers.adoc |   2 +-
 .../how-to-create-executable-jar-camel-main.adoc   |   2 +-
 ...e-a-static-camel-converter-method-in-scala.adoc |   0
 ...http-protocol-headers-in-the-camel-message.adoc |   0
 ...end-the-same-message-to-multiple-endpoints.adoc |   0
 ...-without-touching-the-spring-configuration.adoc |   0
 .../pages}/how-to-use-a-dynamic-uri-in-to.adoc     |   2 +-
 ...-extra-camel-componets-in-servicemix-camel.adoc |   0
 ...f-i-use-servicemix-when-should-i-use-camel.adoc |   2 +-
 .../Message-flow-in-Route.png                      | Bin
 .../flow.png                                       | Bin
 docs/user-manual/modules/faq/pages/index.adoc      | 166 +++++++++++++++++
 .../pages/faq => faq/pages}/is-camel-an-esb.adoc   |   0
 .../faq => faq/pages}/is-camel-ioc-friendly.adoc   |  10 +-
 .../pages/faq => faq/pages}/is-there-an-ide.adoc   |   6 +-
 ...when-adding-and-removing-routes-at-runtime.adoc |   0
 .../pages}/running-camel-standalone.adoc           |  14 +-
 ...-activemq-broker-or-in-another-application.adoc |   0
 .../pages}/using-camel-core-testsjar.adoc          |   2 +-
 .../using-getin-or-getout-methods-on-exchange.adoc |  18 +-
 .../pages}/what-are-the-dependencies.adoc          |   2 +-
 .../pages/faq => faq/pages}/what-is-a-router.adoc  |   8 +-
 .../pages/faq => faq/pages}/what-is-camel.adoc     |  30 ++--
 .../faq => faq/pages}/what-is-the-license.adoc     |   0
 .../faq => faq/pages}/what-jars-do-i-need.adoc     |   0
 .../pages}/what-platforms-are-supported.adoc       |   2 +-
 ...se-when-or-otherwise-in-a-java-camel-route.adoc |   2 +-
 .../pages}/why-cant-i-use-sign-in-my-password.adoc |   4 +-
 ...o-many-noclassdeffoundexception-on-startup.adoc |   2 +-
 ...my-message-lose-its-headers-during-routing.adoc |   2 +-
 ...use-too-many-threads-with-producertemplate.adoc |   2 +-
 ...-does-ftp-component-not-download-any-files.adoc |   0
 .../why-does-maven-not-download-dependencies.adoc  |   0
 ...-file-consumer-use-the-camel-error-handler.adoc |  14 +-
 ...jms-route-only-consume-one-message-at-once.adoc |   0
 ...ge-with-error-handler-not-work-as-expected.adoc |   4 +-
 .../pages}/why-is-my-message-body-empty.adoc       |   2 +-
 ...is-my-processor-not-showing-up-in-jconsole.adoc |   0
 ...-the-exception-null-when-i-use-onexception.adoc |   0
 .../faq => faq/pages}/why-the-name-camel.adoc      |   4 +-
 .../pages}/why-use-multiple-camelcontext.adoc      |   0
 144 files changed, 573 insertions(+), 755 deletions(-)

diff --git a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
index f01586f..1d4864c 100644
--- a/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
+++ b/components/camel-beanstalk/src/main/docs/beanstalk-component.adoc
@@ -50,7 +50,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:manual:faq:how-do-i-configure-endpoints.adoc[more
 details here].
 
 By the way, you cannot specify several tubes when you are writing jobs
diff --git a/components/camel-jetty/src/main/docs/jetty-component.adoc b/components/camel-jetty/src/main/docs/jetty-component.adoc
index d5a34d5..430af4f 100644
--- a/components/camel-jetty/src/main/docs/jetty-component.adoc
+++ b/components/camel-jetty/src/main/docs/jetty-component.adoc
@@ -205,7 +205,7 @@ 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
-xref:manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards].
+xref: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/components/camel-spring/src/main/docs/spring.adoc b/components/camel-spring/src/main/docs/spring.adoc
index 2f296b6..4f7463a 100644
--- a/components/camel-spring/src/main/docs/spring.adoc
+++ b/components/camel-spring/src/main/docs/spring.adoc
@@ -367,7 +367,7 @@ the above example), then you can refer to the component using
 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:manual:faq:how-do-i-configure-endpoints.adoc[Configuring
 Endpoints and Components].
 
 == CamelContextAware
diff --git a/components/camel-undertow/src/main/docs/undertow-component.adoc b/components/camel-undertow/src/main/docs/undertow-component.adoc
index 68628e0..7762baa 100644
--- a/components/camel-undertow/src/main/docs/undertow-component.adoc
+++ b/components/camel-undertow/src/main/docs/undertow-component.adoc
@@ -204,7 +204,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: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/components/camel-xslt-saxon/src/main/docs/xslt-saxon-component.adoc b/components/camel-xslt-saxon/src/main/docs/xslt-saxon-component.adoc
index 9eee085..baba559 100644
--- a/components/camel-xslt-saxon/src/main/docs/xslt-saxon-component.adoc
+++ b/components/camel-xslt-saxon/src/main/docs/xslt-saxon-component.adoc
@@ -244,7 +244,7 @@ With Spring XML:
 == Dynamic stylesheets
 
 To provide a dynamic stylesheet at runtime you can define a dynamic URI.
-See xref:manual::faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
+See xref:manual:faq:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
 to()] for more information.
 
 == Accessing warnings, errors and fatalErrors from XSLT ErrorListener
diff --git a/components/camel-xslt/src/main/docs/xslt-component.adoc b/components/camel-xslt/src/main/docs/xslt-component.adoc
index fb9ffee..8cf2314 100644
--- a/components/camel-xslt/src/main/docs/xslt-component.adoc
+++ b/components/camel-xslt/src/main/docs/xslt-component.adoc
@@ -198,7 +198,7 @@ You can explicitly specify `file:` or `classpath:` loading. The two loading type
 == Dynamic stylesheets
 
 To provide a dynamic stylesheet at runtime you can define a dynamic URI.
-See xref:manual::faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
+See xref:manual:faq:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
 to()] for more information.
 
 == Accessing warnings, errors and fatalErrors from XSLT ErrorListener
diff --git a/components/camel-zipkin/src/main/docs/zipkin.adoc b/components/camel-zipkin/src/main/docs/zipkin.adoc
index a0d9ee4..d43015a 100644
--- a/components/camel-zipkin/src/main/docs/zipkin.adoc
+++ b/components/camel-zipkin/src/main/docs/zipkin.adoc
@@ -77,7 +77,7 @@ The pattern uses the rules from Intercept.
 |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 xref:manual::faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
+You can limit the size by configuring the xref:manual:faq:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
 debug log size]. 
 
 |includeMessageBodyStreams 
@@ -85,7 +85,7 @@ debug log size].
 |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 xref:manual::faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
+You can limit the size by configuring the xref:manual:faq:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
 debug log size].  
 
 |===
diff --git a/core/camel-base/src/main/docs/properties-component.adoc b/core/camel-base/src/main/docs/properties-component.adoc
index c0362aa..3305467 100644
--- a/core/camel-base/src/main/docs/properties-component.adoc
+++ b/core/camel-base/src/main/docs/properties-component.adoc
@@ -43,7 +43,7 @@ This works much like you would do if using Spring's
 `<property-placeholder>` tag. However Spring have a limitation which
 prevents 3rd party frameworks to leverage Spring property placeholders
 to the fullest. See more at
-xref:manual::faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
+xref:manual:faq:how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
 I use Spring Property Placeholder with Camel XML].
 
 [TIP]
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
index f787d1f..676df54 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/choice-eip.adoc
@@ -46,7 +46,7 @@ RouteBuilder builder = new RouteBuilder() {
 
 [TIP]
 ====
-See xref:latest@manual:ROOT:faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
+See xref:latest@manual:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
 can I not use when or otherwise in a Java Camel route] if you have
 problems with the Java DSL, accepting using `when` or `otherwise`.
 ====
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/content-based-router-eip.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/content-based-router-eip.adoc
index f504e8f..a6ff7e0 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/content-based-router-eip.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/content-based-router-eip.adoc
@@ -36,7 +36,7 @@ RouteBuilder builder = new RouteBuilder() {
 [TIP]
 ====
 See
-xref:latest@manual:ROOT:faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
+xref:latest@manual:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
 can I not use when or otherwise in a Java Camel route] if you have
 problems with the Java DSL, accepting using `when` or `otherwise`.
 ====
diff --git a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
index 2a3a802..aa8204a 100644
--- a/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
+++ b/core/camel-core-engine/src/main/docs/modules/eips/pages/message-router.adoc
@@ -35,7 +35,7 @@ RouteBuilder builder = new RouteBuilder() {
 };
 ----
 
-TIP: See xref:latest@manual:ROOT:faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
+TIP: See xref:latest@manual:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why
 can I not use when or otherwise in a Java Camel route] if you have
 problems with the Java DSL, accepting using `when` or `otherwise`.
 
diff --git a/docs/components/modules/ROOT/pages/beanstalk-component.adoc b/docs/components/modules/ROOT/pages/beanstalk-component.adoc
index 5064897..0f3ac21 100644
--- a/docs/components/modules/ROOT/pages/beanstalk-component.adoc
+++ b/docs/components/modules/ROOT/pages/beanstalk-component.adoc
@@ -51,7 +51,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:manual:faq:how-do-i-configure-endpoints.adoc[more
 details here].
 
 By the way, you cannot specify several tubes when you are writing jobs
diff --git a/docs/components/modules/ROOT/pages/jetty-component.adoc b/docs/components/modules/ROOT/pages/jetty-component.adoc
index b713eaa..92ef397 100644
--- a/docs/components/modules/ROOT/pages/jetty-component.adoc
+++ b/docs/components/modules/ROOT/pages/jetty-component.adoc
@@ -206,7 +206,7 @@ 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
-xref:manual::faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards].
+xref: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/properties-component.adoc b/docs/components/modules/ROOT/pages/properties-component.adoc
index 0f7024e..0a2500d 100644
--- a/docs/components/modules/ROOT/pages/properties-component.adoc
+++ b/docs/components/modules/ROOT/pages/properties-component.adoc
@@ -44,7 +44,7 @@ This works much like you would do if using Spring's
 `<property-placeholder>` tag. However Spring have a limitation which
 prevents 3rd party frameworks to leverage Spring property placeholders
 to the fullest. See more at
-xref:manual::faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
+xref:manual:faq:how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
 I use Spring Property Placeholder with Camel XML].
 
 [TIP]
diff --git a/docs/components/modules/ROOT/pages/spring.adoc b/docs/components/modules/ROOT/pages/spring.adoc
index 86ee81a..731ed69 100644
--- a/docs/components/modules/ROOT/pages/spring.adoc
+++ b/docs/components/modules/ROOT/pages/spring.adoc
@@ -368,7 +368,7 @@ the above example), then you can refer to the component using
 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:manual:faq:how-do-i-configure-endpoints.adoc[Configuring
 Endpoints and Components].
 
 == CamelContextAware
diff --git a/docs/components/modules/ROOT/pages/undertow-component.adoc b/docs/components/modules/ROOT/pages/undertow-component.adoc
index 4ad4ec5..c09d983 100644
--- a/docs/components/modules/ROOT/pages/undertow-component.adoc
+++ b/docs/components/modules/ROOT/pages/undertow-component.adoc
@@ -205,7 +205,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: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/xslt-component.adoc b/docs/components/modules/ROOT/pages/xslt-component.adoc
index 50ab8e1..8532cb3 100644
--- a/docs/components/modules/ROOT/pages/xslt-component.adoc
+++ b/docs/components/modules/ROOT/pages/xslt-component.adoc
@@ -199,7 +199,7 @@ You can explicitly specify `file:` or `classpath:` loading. The two loading type
 == Dynamic stylesheets
 
 To provide a dynamic stylesheet at runtime you can define a dynamic URI.
-See xref:manual::faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
+See xref:manual:faq:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
 to()] for more information.
 
 == Accessing warnings, errors and fatalErrors from XSLT ErrorListener
diff --git a/docs/components/modules/ROOT/pages/xslt-saxon-component.adoc b/docs/components/modules/ROOT/pages/xslt-saxon-component.adoc
index ba33dc6..5f195fa 100644
--- a/docs/components/modules/ROOT/pages/xslt-saxon-component.adoc
+++ b/docs/components/modules/ROOT/pages/xslt-saxon-component.adoc
@@ -245,7 +245,7 @@ With Spring XML:
 == Dynamic stylesheets
 
 To provide a dynamic stylesheet at runtime you can define a dynamic URI.
-See xref:manual::faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
+See xref:manual:faq:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
 to()] for more information.
 
 == Accessing warnings, errors and fatalErrors from XSLT ErrorListener
diff --git a/docs/components/modules/ROOT/pages/zipkin.adoc b/docs/components/modules/ROOT/pages/zipkin.adoc
index ab98c5c..a91557f 100644
--- a/docs/components/modules/ROOT/pages/zipkin.adoc
+++ b/docs/components/modules/ROOT/pages/zipkin.adoc
@@ -78,7 +78,7 @@ The pattern uses the rules from Intercept.
 |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 xref:manual::faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
+You can limit the size by configuring the xref:manual:faq:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
 debug log size]. 
 
 |includeMessageBodyStreams 
@@ -86,7 +86,7 @@ debug log size].
 |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 xref:manual::faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
+You can limit the size by configuring the xref:manual:faq:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[max
 debug log size].  
 
 |===
diff --git a/docs/gulpfile.js b/docs/gulpfile.js
index 95e79e4..7aa5c3c 100644
--- a/docs/gulpfile.js
+++ b/docs/gulpfile.js
@@ -239,7 +239,7 @@ const extractExamples = function(file, enc, next) {
 }
 
 function deleteExamples(){
-    return del(['user-manual/modules/ROOT/examples/', 'components/modules/ROOT/examples/']);
+    return del(['user-manual/modules/ROOT/examples/', 'user-manual/modules/faq/examples/', 'components/modules/ROOT/examples/']);
 }
 
 function createUserManualExamples() {
@@ -248,6 +248,12 @@ function createUserManualExamples() {
         .pipe(dest('user-manual/modules/ROOT/examples/'));
 }
 
+function createFAQExamples() {
+    return src('user-manual/modules/faq/**/*.adoc')
+        .pipe(through2.obj(extractExamples))
+        .pipe(dest('user-manual/modules/faq/examples/'));
+}
+
 function createEIPExamples() {
     return src('../core/camel-core-engine/src/main/docs/modules/eips/**/*.adoc')
         .pipe(through2.obj(extractExamples))
@@ -271,7 +277,7 @@ const symlinks = parallel(
     series(deleteComponentImageSymlinks, createComponentImageSymlinks)
 );
 const nav = parallel(createComponentNav, createComponentDataFormatsNav, createComponentLanguagesNav, createEIPNav);
-const examples = series(deleteExamples, createUserManualExamples, createEIPExamples, createUserManualLanguageExamples, createComponentExamples);
+const examples = series(deleteExamples, createUserManualExamples, createFAQExamples, createEIPExamples, createUserManualLanguageExamples, createComponentExamples);
 
 exports.symlinks = symlinks;
 exports.nav = nav;
diff --git a/docs/user-manual-nav.adoc.template b/docs/user-manual-nav.adoc.template
index ae5d808..639b2ac 100644
--- a/docs/user-manual-nav.adoc.template
+++ b/docs/user-manual-nav.adoc.template
@@ -53,106 +53,106 @@
 * Supported expression languages -- see Components documentation
 * xref:(eips-vc}:enterprise-integration-patterns.adoc[Enterprise Integration Patterns]
 * Frequently asked questions
- ** xref:faq/can-i-get-commercial-support.adoc[Can I get commercial support?]
+ ** xref:faq:can-i-get-commercial-support.adoc[Can I get commercial support?]
  ** xref:support.adoc[How can I get help?]
- ** xref:faq/how-can-i-get-the-source-code.adoc[How can I get the source code?]
- ** xref:faq/how-does-camel-compare-to-mule.adoc[How does Camel compare to Mule?]
- ** xref:faq/how-does-camel-compare-to-servicemix.adoc[How does Camel compare to ServiceMix?]
- ** xref:faq/how-does-camel-compare-to-servicemix-eip.adoc[How does Camel compare to ServiceMix EIP?]
- ** xref:faq/how-does-camel-compare-to-synapse.adoc[How does Camel compare to Synapse?]
- ** xref:faq/how-does-camel-work.adoc[How does Camel work?]
- ** xref:faq/how-does-camel-work-with-activemq.adoc[How does Camel work with ActiveMQ?]
- ** xref:faq/how-does-camel-work-with-servicemix.adoc[How does Camel work with ServiceMix?]
- ** xref:faq/how-does-the-camel-api-compare-to.adoc[How does the Camel API compare to?]
- ** xref:faq/how-does-the-website-work.adoc[How does the website work?]
- ** xref:faq/how-do-i-become-a-committer.adoc[How do I become a committer?]
- ** xref:faq/how-do-i-compile-the-code.adoc[How do I compile the code?]
- ** xref:faq/how-do-i-edit-the-website.adoc[How do I edit the website?]
- ** xref:faq/how-do-i-run-camel-using-java-webstart.adoc[How do I run Camel using Java WebStart?]
- ** xref:faq/if-i-use-servicemix-when-should-i-use-camel.adoc[If I use ServiceMix when should I use Camel?]
- ** xref:faq/is-camel-an-esb.adoc[Is Camel an ESB?]
- ** xref:faq/is-camel-ioc-friendly.adoc[Is Camel IoC friendly?]
- ** xref:faq/running-camel-standalone.adoc[Running Camel standalone]
- ** xref:faq/what-are-the-dependencies.adoc[What are the dependencies?]
- ** xref:faq/what-is-a-router.adoc[What is a router?]
- ** xref:faq/what-is-camel.adoc[What is Camel?]
- ** xref:faq/what-is-the-license.adoc[What is the license?]
- ** xref:faq/what-jars-do-i-need.adoc[What jars do I need?]
+ ** xref:faq:how-can-i-get-the-source-code.adoc[How can I get the source code?]
+ ** xref:faq:how-does-camel-compare-to-mule.adoc[How does Camel compare to Mule?]
+ ** xref:faq:how-does-camel-compare-to-servicemix.adoc[How does Camel compare to ServiceMix?]
+ ** xref:faq:how-does-camel-compare-to-servicemix-eip.adoc[How does Camel compare to ServiceMix EIP?]
+ ** xref:faq:how-does-camel-compare-to-synapse.adoc[How does Camel compare to Synapse?]
+ ** xref:faq:how-does-camel-work.adoc[How does Camel work?]
+ ** xref:faq:how-does-camel-work-with-activemq.adoc[How does Camel work with ActiveMQ?]
+ ** xref:faq:how-does-camel-work-with-servicemix.adoc[How does Camel work with ServiceMix?]
+ ** xref:faq:how-does-the-camel-api-compare-to.adoc[How does the Camel API compare to?]
+ ** xref:faq:how-does-the-website-work.adoc[How does the website work?]
+ ** xref:faq:how-do-i-become-a-committer.adoc[How do I become a committer?]
+ ** xref:faq:how-do-i-compile-the-code.adoc[How do I compile the code?]
+ ** xref:faq:how-do-i-edit-the-website.adoc[How do I edit the website?]
+ ** xref:faq:how-do-i-run-camel-using-java-webstart.adoc[How do I run Camel using Java WebStart?]
+ ** xref:faq:if-i-use-servicemix-when-should-i-use-camel.adoc[If I use ServiceMix when should I use Camel?]
+ ** xref:faq:is-camel-an-esb.adoc[Is Camel an ESB?]
+ ** xref:faq:is-camel-ioc-friendly.adoc[Is Camel IoC friendly?]
+ ** xref:faq:running-camel-standalone.adoc[Running Camel standalone]
+ ** xref:faq:what-are-the-dependencies.adoc[What are the dependencies?]
+ ** xref:faq:what-is-a-router.adoc[What is a router?]
+ ** xref:faq:what-is-camel.adoc[What is Camel?]
+ ** xref:faq:what-is-the-license.adoc[What is the license?]
+ ** xref:faq:what-jars-do-i-need.adoc[What jars do I need?]
  ** xref:languages.adoc[What languages are supported?]
- ** xref:faq/what-platforms-are-supported.adoc[What platforms are supported?]
- ** xref:faq/why-the-name-camel.adoc[Why the name Camel?]
- ** xref:faq/classloader-issue-of-servicemix-camel-component.adoc[Classloader issue of servicemix-camel component]
- ** xref:faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[How do I specify which method to use when using beans in routes?]
- ** xref:faq/how-can-i-create-a-custom-component-or-endpoint.adoc[How can I create a custom component or endpoint?]
- ** xref:faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc[How can I get the remote connection IP address from the camel-cxf consumer ?]
- ** xref:faq/how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route from a route?]
- ** xref:faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc[How can webservice clients see remote faults with stacktraces when using camel-cxf?]
- ** xref:faq/how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look up beans and endpoints?]
+ ** xref:faq:what-platforms-are-supported.adoc[What platforms are supported?]
+ ** xref:faq:why-the-name-camel.adoc[Why the name Camel?]
+ ** xref:faq:classloader-issue-of-servicemix-camel-component.adoc[Classloader issue of servicemix-camel component]
+ ** xref:faq:how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[How do I specify which method to use when using beans in routes?]
+ ** xref:faq:how-can-i-create-a-custom-component-or-endpoint.adoc[How can I create a custom component or endpoint?]
+ ** xref:faq:how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc[How can I get the remote connection IP address from the camel-cxf consumer ?]
+ ** xref:faq:how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route from a route?]
+ ** xref:faq:how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc[How can webservice clients see remote faults with stacktraces when using camel-cxf?]
+ ** xref:faq:how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look up beans and endpoints?]
  ** xref:configuring-camel.adoc[How do I add a component?]
- ** xref:faq/how-do-i-change-the-logging.adoc[How do I change the logging?]
- ** xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
- ** xref:faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc[How do I configure password options on Camel endpoints without the value being encoded?]
- ** xref:faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc[How do I configure the default maximum cache size for ProducerCache or ProducerTemplate?]
- ** xref:faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How do I configure the maximum endpoint cache size for CamelContext?]
- ** xref:faq/how-do-i-debug-my-route.adoc[How do I debug my route?]
- ** xref:faq/how-do-i-disable-jmx.adoc[How do I disable JMX?]
- ** xref:faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How do I enable streams when debug logging messages in Camel?]
- ** xref:faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc[How do I handle failures when consuming for example from a FTP server?]
- ** xref:faq/how-do-i-import-rests-from-other-xml-files.adoc[How do I import rests from other XML files?]
- ** xref:faq/how-do-i-import-routes-from-other-xml-files.adoc[How do I import routes from other XML files?]
- ** xref:faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards?]
- ** xref:faq/how-do-i-name-my-routes.adoc[How do I name my routes?]
- ** xref:faq/how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
- ** xref:faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How do I retrieve the thrown Exception during processing an Exchange?]
- ** xref:faq/how-do-i-retry-failed-messages-forever.adoc[How do I retry failed messages forever?]
- ** xref:faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc[How do I retry processing a message from a certain point back or an entire route?]
- ** xref:faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How do I reuse the ContextTestSupport class in my unit tests?]
- ** xref:faq/how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ and Camel in JBoss?]
- ** xref:faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[How do I set the max chars when debug logging messages in Camel?]
- ** xref:faq/how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
- ** xref:faq/how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside ServiceMix?]
- ** xref:faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do I use Spring Property Placeholder with Camel XML?]
- ** xref:faq/how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs with parameters in XML?]
- ** xref:faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How do I write a custom Processor which sends multiple messages?]
- ** xref:faq/how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I invoke my POJOs or Spring Services?]
- ** xref:faq/how-should-i-package-applications-using-camel-and-activemq.adoc[How should I package applications using Camel and ActiveMQ?]
- ** xref:faq/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc[How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform?]
- ** xref:faq/how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?]
- ** xref:faq/how-to-define-a-static-camel-converter-method-in-scala.adoc[How to define a static Camel converter method in Scala?]
- ** xref:faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?]
- ** xref:faq/how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send the same message to multiple endpoints?]
- ** xref:faq/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
- ** xref:faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
- ** xref:faq/is-there-an-ide.adoc[Is there an IDE?]
- ** xref:faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc[Should I deploy Camel inside the ActiveMQ broker or in another application?]
- ** xref:faq/using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
- ** xref:faq/using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
- ** xref:faq/why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
- ** xref:faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
- ** xref:faq/why-does-ftp-component-not-download-any-files.adoc[Why does FTP component not download any files?]
- ** xref: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[Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?]
- ** xref:faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why does useOriginalMessage with error handler not work as expected?]
- ** xref:faq/why-do-my-message-lose-its-headers-during-routing.adoc[Why do my message lose its headers during routing?]
- ** xref:faq/why-is-my-message-body-empty.adoc[Why is my message body empty?]
- ** xref:faq/why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my processor not showing up in JConsole?]
- ** xref:faq/why-is-the-exception-null-when-i-use-onexception.adoc[Why is the exception null when I use onException?]
- ** xref:faq/why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
- ** xref:faq/how-do-i-enable-debug-logging.adoc[How do I enable debug logging?]
- ** xref:faq/how-do-i-use-java-14-logging.adoc[How do I use Java 1.4 logging?]
- ** xref:faq/how-do-i-use-log4j.adoc[How do I use log4j?]
- ** xref:faq/how-do-i-invoke-camel-routes-from-jbi.adoc[How do I invoke Camel routes from JBI?]
- ** xref:faq/how-do-i-make-my-jms-endpoint-transactional.adoc[How Do I Make My JMS Endpoint Transactional?]
- ** xref:faq/how-do-i-set-the-mep-when-interacting-with-jbi.adoc[How do I set the MEP when interacting with JBI?]
- ** xref:faq/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc[How do the direct, event, seda and vm endpoints compare?]
- ** xref:faq/how-do-the-timer-and-quartz-endpoints-compare.adoc[How do the Timer and Quartz endpoints compare?]
- ** xref:faq/why-does-my-jms-route-only-consume-one-message-at-once.adoc[Why does my JMS route only consume one message at once?]
- ** xref:faq/exception-beandefinitionstoreexception.adoc[Exception - BeanDefinitionStoreException]
- ** xref:faq/exception-javaxnamingnoinitialcontextexception.adoc[Exception - javax.naming.NoInitialContextException]
- ** xref:faq/exception-orgapachecamelnosuchendpointexception.adoc[Exception - org.apache.camel.NoSuchEndpointException]
- ** xref:faq/exception-orgxmlsaxsaxparseexception.adoc[Exception - org.xml.sax.SAXParseException]
- ** xref:faq/memory-leak-when-adding-and-removing-routes-at-runtime.adoc[Memory leak when adding and removing routes at runtime]
- ** xref:faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc[Why do Camel throw so many NoClassDefFoundException on startup?]
- ** xref:faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc[Why does Camel use too many threads with ProducerTemplate?]
- ** xref:faq/why-does-maven-not-download-dependencies.adoc[Why does maven not download dependencies?]
+ ** xref:faq:how-do-i-change-the-logging.adoc[How do I change the logging?]
+ ** xref:faq:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+ ** xref:faq:how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc[How do I configure password options on Camel endpoints without the value being encoded?]
+ ** xref:faq:how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc[How do I configure the default maximum cache size for ProducerCache or ProducerTemplate?]
+ ** xref:faq:how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How do I configure the maximum endpoint cache size for CamelContext?]
+ ** xref:faq:how-do-i-debug-my-route.adoc[How do I debug my route?]
+ ** xref:faq:how-do-i-disable-jmx.adoc[How do I disable JMX?]
+ ** xref:faq:how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How do I enable streams when debug logging messages in Camel?]
+ ** xref:faq:how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc[How do I handle failures when consuming for example from a FTP server?]
+ ** xref:faq:how-do-i-import-rests-from-other-xml-files.adoc[How do I import rests from other XML files?]
+ ** xref:faq:how-do-i-import-routes-from-other-xml-files.adoc[How do I import routes from other XML files?]
+ ** xref:faq:how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards?]
+ ** xref:faq:how-do-i-name-my-routes.adoc[How do I name my routes?]
+ ** xref:faq:how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
+ ** xref:faq:how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How do I retrieve the thrown Exception during processing an Exchange?]
+ ** xref:faq:how-do-i-retry-failed-messages-forever.adoc[How do I retry failed messages forever?]
+ ** xref:faq:how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc[How do I retry processing a message from a certain point back or an entire route?]
+ ** xref:faq:how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How do I reuse the ContextTestSupport class in my unit tests?]
+ ** xref:faq:how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ and Camel in JBoss?]
+ ** xref:faq:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[How do I set the max chars when debug logging messages in Camel?]
+ ** xref:faq:how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
+ ** xref:faq:how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside ServiceMix?]
+ ** xref:faq:how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do I use Spring Property Placeholder with Camel XML?]
+ ** xref:faq:how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs with parameters in XML?]
+ ** xref:faq:how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How do I write a custom Processor which sends multiple messages?]
+ ** xref:faq:how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I invoke my POJOs or Spring Services?]
+ ** xref:faq:how-should-i-package-applications-using-camel-and-activemq.adoc[How should I package applications using Camel and ActiveMQ?]
+ ** xref:faq:how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc[How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform?]
+ ** xref:faq:how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?]
+ ** xref:faq:how-to-define-a-static-camel-converter-method-in-scala.adoc[How to define a static Camel converter method in Scala?]
+ ** xref:faq:how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?]
+ ** xref:faq:how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send the same message to multiple endpoints?]
+ ** xref:faq:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
+ ** xref:faq:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
+ ** xref:faq:is-there-an-ide.adoc[Is there an IDE?]
+ ** xref:faq:should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc[Should I deploy Camel inside the ActiveMQ broker or in another application?]
+ ** xref:faq:using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
+ ** xref:faq:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
+ ** xref:faq:why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
+ ** xref:faq:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
+ ** xref:faq:why-does-ftp-component-not-download-any-files.adoc[Why does FTP component not download any files?]
+ ** xref: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[Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?]
+ ** xref:faq:why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why does useOriginalMessage with error handler not work as expected?]
+ ** xref:faq:why-do-my-message-lose-its-headers-during-routing.adoc[Why do my message lose its headers during routing?]
+ ** xref:faq:why-is-my-message-body-empty.adoc[Why is my message body empty?]
+ ** xref:faq:why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my processor not showing up in JConsole?]
+ ** xref:faq:why-is-the-exception-null-when-i-use-onexception.adoc[Why is the exception null when I use onException?]
+ ** xref:faq:why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
+ ** xref:faq:how-do-i-enable-debug-logging.adoc[How do I enable debug logging?]
+ ** xref:faq:how-do-i-use-java-14-logging.adoc[How do I use Java 1.4 logging?]
+ ** xref:faq:how-do-i-use-log4j.adoc[How do I use log4j?]
+ ** xref:faq:how-do-i-invoke-camel-routes-from-jbi.adoc[How do I invoke Camel routes from JBI?]
+ ** xref:faq:how-do-i-make-my-jms-endpoint-transactional.adoc[How Do I Make My JMS Endpoint Transactional?]
+ ** xref:faq:how-do-i-set-the-mep-when-interacting-with-jbi.adoc[How do I set the MEP when interacting with JBI?]
+ ** xref:faq:how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc[How do the direct, event, seda and vm endpoints compare?]
+ ** xref:faq:how-do-the-timer-and-quartz-endpoints-compare.adoc[How do the Timer and Quartz endpoints compare?]
+ ** xref:faq:why-does-my-jms-route-only-consume-one-message-at-once.adoc[Why does my JMS route only consume one message at once?]
+ ** xref:faq:exception-beandefinitionstoreexception.adoc[Exception - BeanDefinitionStoreException]
+ ** xref:faq:exception-javaxnamingnoinitialcontextexception.adoc[Exception - javax.naming.NoInitialContextException]
+ ** xref:faq:exception-orgapachecamelnosuchendpointexception.adoc[Exception - org.apache.camel.NoSuchEndpointException]
+ ** xref:faq:exception-orgxmlsaxsaxparseexception.adoc[Exception - org.xml.sax.SAXParseException]
+ ** xref:faq:memory-leak-when-adding-and-removing-routes-at-runtime.adoc[Memory leak when adding and removing routes at runtime]
+ ** xref:faq:why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc[Why do Camel throw so many NoClassDefFoundException on startup?]
+ ** xref:faq:why-does-camel-use-too-many-threads-with-producertemplate.adoc[Why does Camel use too many threads with ProducerTemplate?]
+ ** xref:faq:why-does-maven-not-download-dependencies.adoc[Why does maven not download dependencies?]
 * xref:camel-3-migration-guide.adoc[Camel 2.x to 3.0 Migration Guide]
 * xref:camel-3x-upgrade-guide.adoc[Camel 3.x Upgrade Guide]
diff --git a/docs/user-manual/antora.yml b/docs/user-manual/antora.yml
index c24e36c..91ad16a 100644
--- a/docs/user-manual/antora.yml
+++ b/docs/user-manual/antora.yml
@@ -20,3 +20,5 @@ title: User manual
 version: latest
 nav:
 - modules/ROOT/nav.adoc
+- modules/faq/nav.adoc
+- modules/ROOT/references.adoc
\ No newline at end of file
diff --git a/docs/user-manual/fix-eip-xrefs.sh b/docs/user-manual/fix-eip-xrefs.sh
deleted file mode 100755
index b768820..0000000
--- a/docs/user-manual/fix-eip-xrefs.sh
+++ /dev/null
@@ -1,188 +0,0 @@
-#!/bin/sh
-
-#version: latest component: manual file: undefined path modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc lineno: undefined message: Unresolved page ID intercept
-sed -i -e 's/xref:intercept/xref:{eip-vc}:eips:intercept/g' modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc lineno: undefined message: Unresolved page ID intercept
-sed -i -e 's/xref:intercept/xref:{eip-vc}:eips:intercept/g' modules/ROOT/pages/advanced-configuration-of-camelcontext-using-spring.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/architecture.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/architecture.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/async.adoc lineno: undefined message: Unresolved page ID event-message
-sed -i -e 's/xref:event-message/xref:{eip-vc}:eips:event-message/g' modules/ROOT/pages/async.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/asynchronous-routing-engine.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/asynchronous-routing-engine.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/backlog-tracer.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/backlog-tracer.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/bam.adoc lineno: undefined message: Unresolved page ID correlation-identifier
-sed -i -e 's/xref:correlation-identifier/xref:{eip-vc}:eips:correlation-identifier/g' modules/ROOT/pages/bam.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/batch-consumer.adoc lineno: undefined message: Unresolved page ID polling-consumer
-sed -i -e 's/xref:polling-consumer/xref:{eip-vc}:eips:polling-consumer/g' modules/ROOT/pages/batch-consumer.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/bean-binding.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/bean-binding.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/bean-binding.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/bean-binding.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/bean-binding.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/bean-binding.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/bean-integration.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/bean-integration.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/binding.adoc lineno: undefined message: Unresolved page ID content-enricher
-sed -i -e 's/xref:content-enricher/xref:{eip-vc}:eips:content-enricher/g' modules/ROOT/pages/binding.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/camel-3x-upgrade-guide.adoc lineno: undefined message: Unresolved page ID message-history
-sed -i -e 's/xref:message-history/xref:{eip-vc}:eips:message-history/g' modules/ROOT/pages/camel-3x-upgrade-guide.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/camel-maven-plugin.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/camel-maven-plugin.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/data-format.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/data-format.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/data-format.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/data-format.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/defaulterrorhandler.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/defaulterrorhandler.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/defaulterrorhandler.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/defaulterrorhandler.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/dsl.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/dsl.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handler.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/error-handler.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handler.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/error-handler.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handling-in-camel.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/error-handling-in-camel.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handling-in-camel.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/error-handling-in-camel.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handling-in-camel.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/error-handling-in-camel.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handling-in-camel.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/error-handling-in-camel.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/error-handling-in-camel.adoc lineno: undefined message: Unresolved page ID transactional-client
-sed -i -e 's/xref:transactional-client/xref:{eip-vc}:eips:transactional-client/g' modules/ROOT/pages/error-handling-in-camel.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/examples.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/examples.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exception-clause.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/exception-clause.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/exchange-pattern.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/exchange-pattern.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/expression.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/expression.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/getting-started.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/getting-started.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/hiding-middleware.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/hiding-middleware.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/index.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/index.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/index.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/index.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/index.adoc lineno: undefined message: Unresolved page ID intercept
-sed -i -e 's/xref:intercept/xref:{eip-vc}:eips:intercept/g' modules/ROOT/pages/index.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/languages.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/languages.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/parameter-binding-annotations.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/parameter-binding-annotations.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/pojo-consuming.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/pojo-consuming.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/predicate.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/predicate.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/processor.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/processor.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID request-reply
-sed -i -e 's/xref:request-reply/xref:{eip-vc}:eips:request-reply/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID event-message
-sed -i -e 's/xref:event-message/xref:{eip-vc}:eips:event-message/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-remoting.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/spring-remoting.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-testing.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/spring-testing.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/spring-xml-extensions.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/spring-xml-extensions.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/threading-model.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/threading-model.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/user-stories.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/user-stories.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/using-exchange-pattern-annotations.adoc lineno: undefined message: Unresolved page ID request-reply
-sed -i -e 's/xref:request-reply/xref:{eip-vc}:eips:request-reply/g' modules/ROOT/pages/using-exchange-pattern-annotations.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/using-exchange-pattern-annotations.adoc lineno: undefined message: Unresolved page ID event-message
-sed -i -e 's/xref:event-message/xref:{eip-vc}:eips:event-message/g' modules/ROOT/pages/using-exchange-pattern-annotations.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/walk-through-another-example.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/walk-through-another-example.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/xml-configuration.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/xml-configuration.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc lineno: undefined message: Unresolved page ID polling-consumer
-sed -i -e 's/xref:polling-consumer/xref:{eip-vc}:eips:polling-consumer/g' modules/ROOT/pages/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-do-i-make-my-jms-endpoint-transactional.adoc lineno: undefined message: Unresolved page ID transactional-client
-sed -i -e 's/xref:transactional-client/xref:{eip-vc}:eips:transactional-client/g' modules/ROOT/pages/faq/how-do-i-make-my-jms-endpoint-transactional.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-do-i-retry-failed-messages-forever.adoc lineno: undefined message: Unresolved page ID dead-letter-channel
-sed -i -e 's/xref:dead-letter-channel/xref:{eip-vc}:eips:dead-letter-channel/g' modules/ROOT/pages/faq/how-do-i-retry-failed-messages-forever.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-compare-to-mule.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-compare-to-mule.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix-eip.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix-eip.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-compare-to-synapse.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-compare-to-synapse.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc lineno: undefined message: Unresolved page ID message-translator
-sed -i -e 's/xref:message-translator/xref:{eip-vc}:eips:message-translator/g' modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-does-camel-work-with-servicemix.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-does-camel-work-with-servicemix.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/how-should-i-package-applications-using-camel-and-activemq.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/how-should-i-package-applications-using-camel-and-activemq.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/if-i-use-servicemix-when-should-i-use-camel.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/if-i-use-servicemix-when-should-i-use-camel.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc lineno: undefined message: Unresolved page ID event-message
-sed -i -e 's/xref:event-message/xref:{eip-vc}:eips:event-message/g' modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc lineno: undefined message: Unresolved page ID request-reply
-sed -i -e 's/xref:request-reply/xref:{eip-vc}:eips:request-reply/g' modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/what-is-a-router.adoc lineno: undefined message: Unresolved page ID message
-sed -i -e 's/xref:message/xref:{eip-vc}:eips:message/g' modules/ROOT/pages/faq/what-is-a-router.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/what-is-a-router.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/what-is-a-router.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/what-is-a-router.adoc lineno: undefined message: Unresolved page ID polling-consumer
-sed -i -e 's/xref:polling-consumer/xref:{eip-vc}:eips:polling-consumer/g' modules/ROOT/pages/faq/what-is-a-router.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/what-is-a-router.adoc lineno: undefined message: Unresolved page ID transactional-client
-sed -i -e 's/xref:transactional-client/xref:{eip-vc}:eips:transactional-client/g' modules/ROOT/pages/faq/what-is-a-router.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
-#version: latest component: manual file: undefined path modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc lineno: undefined message: Unresolved page ID enterprise-integration-patterns
-sed -i -e 's/xref:enterprise-integration-patterns/xref:{eip-vc}:eips:enterprise-integration-patterns/g' modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
diff --git a/docs/user-manual/modules/ROOT/nav.adoc b/docs/user-manual/modules/ROOT/nav.adoc
index 3742ab0..22234de 100644
--- a/docs/user-manual/modules/ROOT/nav.adoc
+++ b/docs/user-manual/modules/ROOT/nav.adoc
@@ -97,114 +97,5 @@
 ** xref:java-dsl.adoc[Java DSL]
 ** xref:spring.adoc[Spring support]
 * xref:using-osgi-blueprint-with-camel.adoc[Using OSGi blueprint with Camel]
-* Frequently asked questions
-** xref:faq/can-i-get-commercial-support.adoc[Can I get commercial support?]
-** xref:support.adoc[How can I get help?]
-** xref:faq/how-can-i-get-the-source-code.adoc[How can I get the source code?]
-** xref:faq/how-does-camel-compare-to-mule.adoc[How does Camel compare to Mule?]
-** xref:faq/how-does-camel-compare-to-servicemix.adoc[How does Camel compare to ServiceMix?]
-** xref:faq/how-does-camel-compare-to-servicemix-eip.adoc[How does Camel compare to ServiceMix EIP?]
-** xref:faq/how-does-camel-compare-to-synapse.adoc[How does Camel compare to Synapse?]
-** xref:faq/how-does-camel-work.adoc[How does Camel work?]
-** xref:faq/how-does-camel-work-with-activemq.adoc[How does Camel work with ActiveMQ?]
-** xref:faq/how-does-camel-work-with-servicemix.adoc[How does Camel work with ServiceMix?]
-** xref:faq/how-does-the-camel-api-compare-to.adoc[How does the Camel API compare to?]
-** xref:faq/how-does-the-website-work.adoc[How does the website work?]
-** xref:faq/how-do-i-become-a-committer.adoc[How do I become a committer?]
-** xref:faq/how-do-i-compile-the-code.adoc[How do I compile the code?]
-** xref:faq/how-do-i-edit-the-website.adoc[How do I edit the website?]
-** xref:faq/how-do-i-run-camel-using-java-webstart.adoc[How do I run Camel using Java WebStart?]
-** xref:faq/if-i-use-servicemix-when-should-i-use-camel.adoc[If I use ServiceMix when should I use Camel?]
-** xref:faq/is-camel-an-esb.adoc[Is Camel an ESB?]
-** xref:faq/is-camel-ioc-friendly.adoc[Is Camel IoC friendly?]
-** xref:faq/running-camel-standalone.adoc[Running Camel standalone]
-** xref:faq/what-are-the-dependencies.adoc[What are the dependencies?]
-** xref:faq/what-is-a-router.adoc[What is a router?]
-** xref:faq/what-is-camel.adoc[What is Camel?]
-** xref:faq/what-is-the-license.adoc[What is the license?]
-** xref:faq/what-jars-do-i-need.adoc[What jars do I need?]
-** xref:languages.adoc[What languages are supported?]
-** xref:faq/what-platforms-are-supported.adoc[What platforms are supported?]
-** xref:faq/why-the-name-camel.adoc[Why the name Camel?]
-** xref:faq/classloader-issue-of-servicemix-camel-component.adoc[Classloader issue of servicemix-camel component]
-** xref:faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[How do I specify which method to use when using beans in routes?]
-** xref:faq/how-can-i-create-a-custom-component-or-endpoint.adoc[How can I create a custom component or endpoint?]
-** xref:faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc[How can I get the remote connection IP address from the camel-cxf consumer ?]
-** xref:faq/how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route from a route?]
-** xref:faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc[How can webservice clients see remote faults with stacktraces when using camel-cxf?]
-** xref:faq/how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look up beans and endpoints?]
-** xref:configuring-camel.adoc[How do I add a component?]
-** xref:faq/how-do-i-change-the-logging.adoc[How do I change the logging?]
-** xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
-** xref:faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc[How do I configure password options on Camel endpoints without the value being encoded?]
-** xref:faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc[How do I configure the default maximum cache size for ProducerCache or ProducerTemplate?]
-** xref:faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How do I configure the maximum endpoint cache size for CamelContext?]
-** xref:faq/how-do-i-debug-my-route.adoc[How do I debug my route?]
-** xref:faq/how-do-i-disable-jmx.adoc[How do I disable JMX?]
-** xref:faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How do I enable streams when debug logging messages in Camel?]
-** xref:faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc[How do I handle failures when consuming for example from a FTP server?]
-** xref:faq/how-do-i-import-rests-from-other-xml-files.adoc[How do I import rests from other XML files?]
-** xref:faq/how-do-i-import-routes-from-other-xml-files.adoc[How do I import routes from other XML files?]
-** xref:faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards?]
-** xref:faq/how-do-i-name-my-routes.adoc[How do I name my routes?]
-** xref:faq/how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
-** xref:faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How do I retrieve the thrown Exception during processing an Exchange?]
-** xref:faq/how-do-i-retry-failed-messages-forever.adoc[How do I retry failed messages forever?]
-** xref:faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc[How do I retry processing a message from a certain point back or an entire route?]
-** xref:faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How do I reuse the ContextTestSupport class in my unit tests?]
-** xref:faq/how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ and Camel in JBoss?]
-** xref:faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[How do I set the max chars when debug logging messages in Camel?]
-** xref:faq/how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
-** xref:faq/how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside ServiceMix?]
-** xref:faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do I use Spring Property Placeholder with Camel XML?]
-** xref:faq/how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs with parameters in XML?]
-** xref:faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How do I write a custom Processor which sends multiple messages?]
-** xref:faq/how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I invoke my POJOs or Spring Services?]
-** xref:faq/how-should-i-package-applications-using-camel-and-activemq.adoc[How should I package applications using Camel and ActiveMQ?]
-** xref:faq/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc[How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform?]
-** xref:faq/how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?]
-** xref:faq/how-to-define-a-static-camel-converter-method-in-scala.adoc[How to define a static Camel converter method in Scala?]
-** xref:faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?]
-** xref:faq/how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send the same message to multiple endpoints?]
-** xref:faq/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
-** xref:faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
-** xref:faq/is-there-an-ide.adoc[Is there an IDE?]
-** xref:faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc[Should I deploy Camel inside the ActiveMQ broker or in another application?]
-** xref:faq/using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
-** xref:faq/using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
-** xref:faq/why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
-** xref:faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
-** xref:faq/why-does-ftp-component-not-download-any-files.adoc[Why does FTP component not download any files?]
-** xref: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[Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?]
-** xref:faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why does useOriginalMessage with error handler not work as expected?]
-** xref:faq/why-do-my-message-lose-its-headers-during-routing.adoc[Why do my message lose its headers during routing?]
-** xref:faq/why-is-my-message-body-empty.adoc[Why is my message body empty?]
-** xref:faq/why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my processor not showing up in JConsole?]
-** xref:faq/why-is-the-exception-null-when-i-use-onexception.adoc[Why is the exception null when I use onException?]
-** xref:faq/why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
-** xref:faq/how-do-i-enable-debug-logging.adoc[How do I enable debug logging?]
-** xref:faq/how-do-i-use-java-14-logging.adoc[How do I use Java 1.4 logging?]
-** xref:faq/how-do-i-use-log4j.adoc[How do I use log4j?]
-** xref:faq/how-do-i-invoke-camel-routes-from-jbi.adoc[How do I invoke Camel routes from JBI?]
-** xref:faq/how-do-i-make-my-jms-endpoint-transactional.adoc[How Do I Make My JMS Endpoint Transactional?]
-** xref:faq/how-do-i-set-the-mep-when-interacting-with-jbi.adoc[How do I set the MEP when interacting with JBI?]
-** xref:faq/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc[How do the direct, event, seda and vm endpoints compare?]
-** xref:faq/how-do-the-timer-and-quartz-endpoints-compare.adoc[How do the Timer and Quartz endpoints compare?]
-** xref:faq/why-does-my-jms-route-only-consume-one-message-at-once.adoc[Why does my JMS route only consume one message at once?]
-** xref:faq/exception-beandefinitionstoreexception.adoc[Exception - BeanDefinitionStoreException]
-** xref:faq/exception-javaxnamingnoinitialcontextexception.adoc[Exception - javax.naming.NoInitialContextException]
-** xref:faq/exception-orgapachecamelnosuchendpointexception.adoc[Exception - org.apache.camel.NoSuchEndpointException]
-** xref:faq/exception-orgxmlsaxsaxparseexception.adoc[Exception - org.xml.sax.SAXParseException]
-** xref:faq/memory-leak-when-adding-and-removing-routes-at-runtime.adoc[Memory leak when adding and removing routes at runtime]
-** xref:faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc[Why do Camel throw so many NoClassDefFoundException on startup?]
-** xref:faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc[Why does Camel use too many threads with ProducerTemplate?]
-** xref:faq/why-does-maven-not-download-dependencies.adoc[Why does maven not download dependencies?]
 * xref:camel-3-migration-guide.adoc[Camel 2.x to 3.0 Migration Guide]
 * xref:camel-3x-upgrade-guide.adoc[Camel 3.x Upgrade Guide]
-
-
-* *Reference*
-* xref:latest@components::index.adoc[Components]
-* xref:latest@components:dataformats:index.adoc[Data Formats]
-* xref:latest@components:languages:index.adoc[Supported expression languages]
-* xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration Patterns]
diff --git a/docs/user-manual/modules/ROOT/pages/component.adoc b/docs/user-manual/modules/ROOT/pages/component.adoc
index 2e9da36..2c04891 100644
--- a/docs/user-manual/modules/ROOT/pages/component.adoc
+++ b/docs/user-manual/modules/ROOT/pages/component.adoc
@@ -15,7 +15,7 @@ Camel includes the following Component implementations via xref:uris.adoc[URIs].
 
 [IMPORTANT]
 ====
-Make sure to read xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+Make sure to read xref:faq:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
 to learn more about configuring endpoints. For
 example how to refer to beans in the xref:registry.adoc[Registry] or how
 to use raw values for password options, and using
diff --git a/docs/user-manual/modules/ROOT/pages/contributing.adoc b/docs/user-manual/modules/ROOT/pages/contributing.adoc
index b78fd98..0ccb97d 100644
--- a/docs/user-manual/modules/ROOT/pages/contributing.adoc
+++ b/docs/user-manual/modules/ROOT/pages/contributing.adoc
@@ -79,7 +79,7 @@ To edit the documentation:
  ** Create a commit and raise a Pull Request
 * If you want to add more documentation check for .adoc in codebase
 
-For more information see https://camel.apache.org/manual/latest/faq/how-does-the-website-work.html[How does the website work] or https://camel.apache.org/manual/latest/faq/how-do-i-edit-the-website.html[How do I edit the website for more details].
+For more information see xref:faq:how-does-the-website-work.adoc[How does the website work] or xref:faq:how-do-i-edit-the-website.adoc[How do I edit the website for more details].
 
 [#if-you-find-a-bug-or-problem]
 == If you find a bug or problem
diff --git a/docs/user-manual/modules/ROOT/pages/examples.adoc b/docs/user-manual/modules/ROOT/pages/examples.adoc
index aa90308..e1a13dc 100644
--- a/docs/user-manual/modules/ROOT/pages/examples.adoc
+++ b/docs/user-manual/modules/ROOT/pages/examples.adoc
@@ -5,7 +5,7 @@ looked at the xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise
 Integration Patterns], you might want to try out some examples.
 
 Before starting to work on example you may want to
-xref:faq/what-are-the-dependencies.adoc[check the requirements for working
+xref:faq:what-are-the-dependencies.adoc[check the requirements for working
 with Camel]. Then xref:running-examples.adoc[Running Examples] describes
 how to get the examples to run
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq.adoc b/docs/user-manual/modules/ROOT/pages/faq.adoc
deleted file mode 100644
index c4d2768..0000000
--- a/docs/user-manual/modules/ROOT/pages/faq.adoc
+++ /dev/null
@@ -1,166 +0,0 @@
-[[FAQ-FAQ]]
-= FAQ
-
-Here are a list of commonly asked questions and answers. If you have any
-questions which are not on this list, please talk to us on the
-xref:mailing-lists.adoc[Mailing Lists].
-
-We xref:contributing.adoc[welcome contributions] and
-this entire website is in
-xref:faq/how-does-the-website-work.adoc[the GitHub repository you can send a pull request],
-so please join in and help us make the documentation better!
-
-[[FAQ-GeneralQuestions]]
-== General Questions
-
-General questions about Camel
-
-* xref:faq/can-i-get-commercial-support.adoc[Can I get commercial support?]
-* xref:support.adoc[How can I get help?]
-* xref:faq/how-can-i-get-the-source-code.adoc[How can I get the source code?]
-* xref:faq/how-does-camel-compare-to-mule.adoc[How does Camel compare to
-Mule?]
-* xref:faq/how-does-camel-compare-to-servicemix.adoc[How does Camel compare
-to ServiceMix?]
-* xref:faq/how-does-camel-compare-to-servicemix-eip.adoc[How does Camel
-compare to ServiceMix EIP?]
-* xref:faq/how-does-camel-compare-to-synapse.adoc[How does Camel compare to
-Synapse?]
-* xref:faq/how-does-camel-work.adoc[How does Camel work?]
-* xref:faq/how-does-camel-work-with-activemq.adoc[How does Camel work with
-ActiveMQ?]
-* xref:faq/how-does-camel-work-with-servicemix.adoc[How does Camel work with
-ServiceMix?]
-* xref:faq/how-does-the-camel-api-compare-to.adoc[How does the Camel API
-compare to?]
-* xref:faq/how-does-the-website-work.adoc[How does the website work?]
-* xref:faq/how-do-i-become-a-committer.adoc[How do I become a committer?]
-* xref:faq/how-do-i-compile-the-code.adoc[How do I compile the code?]
-* xref:faq/how-do-i-edit-the-website.adoc[How do I edit the website?]
-* xref:faq/how-do-i-run-camel-using-java-webstart.adoc[How do I run Camel
-using Java WebStart?]
-* xref:faq/if-i-use-servicemix-when-should-i-use-camel.adoc[If I use
-ServiceMix when should I use Camel?]
-* xref:faq/is-camel-an-esb.adoc[Is Camel an ESB?]
-* xref:faq/is-camel-ioc-friendly.adoc[Is Camel IoC friendly?]
-* xref:faq/running-camel-standalone.adoc[Running Camel standalone]
-* xref:faq/what-are-the-dependencies.adoc[What are the dependencies?]
-* xref:faq/what-is-a-router.adoc[What is a router?]
-* xref:faq/what-is-camel.adoc[What is Camel?]
-* xref:faq/what-is-the-license.adoc[What is the license?]
-* xref:faq/what-jars-do-i-need.adoc[What jars do I need?]
-* xref:languages.adoc[What languages are supported?]
-* xref:faq/what-platforms-are-supported.adoc[What platforms are supported?]
-* xref:faq/why-the-name-camel.adoc[Why the name Camel?]
-
-[[FAQ-UsingCamelQuestions]]
-== Using Camel Questions
-
-Questions on using Apache Camel
-
-* xref:faq/classloader-issue-of-servicemix-camel-component.adoc[Classloader issue of servicemix-camel component]
-* xref:faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[How do I specify which method to use when using beans in routes?]
-* xref:faq/how-can-i-create-a-custom-component-or-endpoint.adoc[How can I create a custom component or endpoint?]
-* xref:faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc[How can I get the remote connection IP address from the camel-cxf consumer ?]
-* xref:faq/how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route from a route?]
-* xref:faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc[How can webservice clients see remote faults with stacktraces when using camel-cxf?]
-* xref:faq/how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look up beans and endpoints?]
-* xref:configuring-camel.adoc[How do I add a component?]
-* xref:faq/how-do-i-change-the-logging.adoc[How do I change the logging?]
-* xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
-* xref:faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc[How do I configure password options on Camel endpoints without the value being encoded?]
-* xref:faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc[How do I configure the default maximum cache size for ProducerCache or ProducerTemplate?]
-* xref:faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How do I configure the maximum endpoint cache size for CamelContext?]
-* xref:faq/how-do-i-debug-my-route.adoc[How do I debug my route?]
-* xref:faq/how-do-i-disable-jmx.adoc[How do I disable JMX?]
-* xref:faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How do I enable streams when debug logging messages in Camel?]
-* xref:faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc[How do I handle failures when consuming for example from a FTP server?]
-* xref:faq/how-do-i-import-rests-from-other-xml-files.adoc[How do I import rests from other XML files?]
-* xref:faq/how-do-i-import-routes-from-other-xml-files.adoc[How do I import routes from other XML files?]
-* xref:faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards?]
-* xref:faq/how-do-i-name-my-routes.adoc[How do I name my routes?]
-* xref:faq/how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
-* xref:faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How do I retrieve the thrown Exception during processing an Exchange?]
-* xref:faq/how-do-i-retry-failed-messages-forever.adoc[How do I retry failed messages forever?]
-* xref:faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc[How do I retry processing a message from a certain point back or an entire route?]
-* xref:faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How do I reuse the ContextTestSupport class in my unit tests?]
-* xref:faq/how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ and Camel in JBoss?]
-* xref:faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[How do I set the max chars when debug logging messages in Camel?]
-* xref:faq/how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
-* xref:faq/how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside ServiceMix?]
-* xref:faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do I use Spring Property Placeholder with Camel XML?]
-* xref:faq/how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs with parameters in XML?]
-* xref:faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How do I write a custom Processor which sends multiple messages?]
-* xref:faq/how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I invoke my POJOs or Spring Services?]
-* xref:faq/how-should-i-package-applications-using-camel-and-activemq.adoc[How should I package applications using Camel and ActiveMQ?]
-* xref:faq/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc[How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform?]
-* xref:faq/how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?]
-* xref:faq/how-to-create-executable-jar-camel-main.adoc[How to create executable JAR for camel-main project?]
-* xref:faq/how-to-define-a-static-camel-converter-method-in-scala.adoc[How to define a static Camel converter method in Scala?]
-* xref:faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?]
-* xref:faq/how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send the same message to multiple endpoints?]
-* xref:faq/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
-* xref:faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
-* xref:faq/how-to-use-extra-camel-componets-in-servicemix-camel.adoc[How to use extra Camel componets in servicemix-camel?]
-* xref:faq/is-there-an-ide.adoc[Is there an IDE?]
-* xref:faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc[Should I deploy Camel inside the ActiveMQ broker or in another application?]
-* xref:faq/using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
-* xref:faq/using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
-* xref:faq/why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
-* xref:faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
-* xref:faq/why-does-ftp-component-not-download-any-files.adoc[Why does FTP component not download any files?]
-* xref: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[Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?]
-* xref:faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why does useOriginalMessage with error handler not work as expected?]
-* xref:faq/why-do-my-message-lose-its-headers-during-routing.adoc[Why do my message lose its headers during routing?]
-* xref:faq/why-is-my-message-body-empty.adoc[Why is my message body empty?]
-* xref:faq/why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my processor not showing up in JConsole?]
-* xref:faq/why-is-the-exception-null-when-i-use-onexception.adoc[Why is the exception null when I use onException?]
-* xref:faq/why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
-
-[[FAQ-LoggingQuestions]]
-== Logging Questions
-
-Questions on logging output from Camel to a console, using the
-xref:components::log-component.adoc[Log] endpoint or JDK 1.4 logging or Log4j etc
-
-* xref:faq/how-do-i-enable-debug-logging.adoc[How do I enable debug logging?]
-* xref:faq/how-do-i-use-java-14-logging.adoc[How do I use Java 1.4 logging?]
-* xref:faq/how-do-i-use-log4j.adoc[How do I use log4j?]
-
-[[FAQ-CamelEndpointQuestions]]
-== Camel Endpoint Questions
-
-Questions on using the various Camel xref:components::index.adoc[Components]
-and xref:endpoint.adoc[Endpoint] implementations
-
-* xref:faq/how-do-i-invoke-camel-routes-from-jbi.adoc[How do I invoke Camel routes from JBI?]
-* xref:faq/how-do-i-make-my-jms-endpoint-transactional.adoc[How Do I Make My JMS Endpoint Transactional?]
-* xref:faq/how-do-i-set-the-mep-when-interacting-with-jbi.adoc[How do I set the MEP when interacting with JBI?]
-* xref:faq/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc[How do the direct, event, seda and vm endpoints compare?]
-* xref:faq/how-do-the-timer-and-quartz-endpoints-compare.adoc[How do the Timer and Quartz endpoints compare?]
-
-[[FAQ-ComponentQuestions]]
-== Component Questions
-
-Questions on using specific components
-
-[[FAQ-JMSQuestions]]
-=== JMS Questions
-
-Questions on using the xref:components::jms-component.adoc[JMS] endpoints in Camel
-
-* xref:faq/why-does-my-jms-route-only-consume-one-message-at-once.adoc[Why does my JMS route only consume one message at once?]
-
-[[FAQ-CommonProblems]]
-== Common Problems
-
-Common Problems that people have when riding the Camel
-
-* xref:faq/exception-beandefinitionstoreexception.adoc[Exception - BeanDefinitionStoreException]
-* xref:faq/exception-javaxnamingnoinitialcontextexception.adoc[Exception - javax.naming.NoInitialContextException]
-* xref:faq/exception-orgapachecamelnosuchendpointexception.adoc[Exception - org.apache.camel.NoSuchEndpointException]
-* xref:faq/exception-orgxmlsaxsaxparseexception.adoc[Exception - org.xml.sax.SAXParseException]
-* xref:faq/memory-leak-when-adding-and-removing-routes-at-runtime.adoc[Memory leak when adding and removing routes at runtime]
-* xref:faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc[Why do Camel throw so many NoClassDefFoundException on startup?]
-* xref:faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc[Why does Camel use too many threads with ProducerTemplate?]
-* xref:faq/why-does-maven-not-download-dependencies.adoc[Why does maven not download dependencies?]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-debug-my-route.adoc b/docs/user-manual/modules/ROOT/pages/faq/how-do-i-debug-my-route.adoc
deleted file mode 100644
index 4653a5d..0000000
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-debug-my-route.adoc
+++ /dev/null
@@ -1,15 +0,0 @@
-[[HowdoIdebugmyroute-HowdoIdebugmyroute]]
-= How do I debug my route?
-
-If you've created a route and its not doing what you think it is you
-could try using one of these features from version 1.4 onwards:
-
-* xref:tracer.adoc[Tracer] to trace in commons-logging / log4j each step
-that Camel takes
-* xref:debugger.adoc[Debugger] to let you set breakpoints at points in
-the route and examine historic message exchanges
-* xref:debugger.adoc[Debug] from your unit test if you use the Camel
-`camel-test` component
-
-Some xref:user-stories.adoc[third party tools] offers Apache Camel route
-debugging.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work.adoc b/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work.adoc
deleted file mode 100644
index d170e28..0000000
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work.adoc
+++ /dev/null
@@ -1,5 +0,0 @@
-[[HowdoesCamelwork-HowdoesCamelwork]]
-= How does Camel work?
-
-Please see the xref:architecture.adoc[Architecture] for details of how
-things work.
diff --git a/docs/user-manual/modules/ROOT/pages/index.adoc b/docs/user-manual/modules/ROOT/pages/index.adoc
index da01ed7..fe4300a 100644
--- a/docs/user-manual/modules/ROOT/pages/index.adoc
+++ b/docs/user-manual/modules/ROOT/pages/index.adoc
@@ -12,7 +12,7 @@ xref:xml-configuration.adoc[XML Configuration] files.
 This means you get smart completion of
 routing rules in your IDE, whether in a Java or XML editor.
 
-For a deeper and better understanding of Apache Camel, an xref:faq/what-is-camel.adoc[Introduction] is provided.
+For a deeper and better understanding of Apache Camel, an xref:faq:what-is-camel.adoc[Introduction] is provided.
 
 
 
@@ -28,7 +28,7 @@ For a deeper and better understanding of Apache Camel, an xref:faq/what-is-camel
 
 * xref:getting-started.adoc[Getting Started]
 * xref:book-getting-started.adoc[Longer Getting Started Guide]
-* xref:faq.adoc[FAQ]
+* xref:faq:index.adoc[FAQ]
 * https://github.com/apache/camel/blob/master/NOTICE.txt[Legal Notice]
 
 == Documentation
@@ -52,7 +52,7 @@ For a deeper and better understanding of Apache Camel, an xref:faq/what-is-camel
 * xref:camel-boot.adoc[Camel Boot]
 * xref:components::cdi.adoc[Working with Camel and CDI]
 * xref:spring.adoc[Working with Camel and Spring]
-* xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+* xref:faq:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
 * xref:bean-integration.adoc[Bean Integration]
 * xref:configuring-camel.adoc[Configuring Camel]
 * xref:configuring-route-startup-ordering-and-autostartup.adoc[Configuring route startup ordering and autostartup]
diff --git a/docs/user-manual/modules/ROOT/pages/jndi.adoc b/docs/user-manual/modules/ROOT/pages/jndi.adoc
index bca1a55..fdd09e0 100644
--- a/docs/user-manual/modules/ROOT/pages/jndi.adoc
+++ b/docs/user-manual/modules/ROOT/pages/jndi.adoc
@@ -9,7 +9,7 @@ which uses the JNDI InitialContext as the registry.
 
 This means you need to configure some JNDI provider to be able to use
 this. This is described in this
-xref:faq/exception-javaxnamingnoinitialcontextexception.adoc[FAQ entry],
+xref:faq:exception-javaxnamingnoinitialcontextexception.adoc[FAQ entry],
 but essentially you just need to create a file called `jndi.properties` on
 the classpath and configure it with the JNDI provider you wish.
 
diff --git a/docs/user-manual/modules/ROOT/pages/support.adoc b/docs/user-manual/modules/ROOT/pages/support.adoc
index 21669a2..fc81b0b 100644
--- a/docs/user-manual/modules/ROOT/pages/support.adoc
+++ b/docs/user-manual/modules/ROOT/pages/support.adoc
@@ -25,7 +25,7 @@ bullets advised there first.
 We prefer people to get in touch first using the
 xref:mailing-lists.adoc[mailing list], or
 https://gitter.im/apache/apache-camel[Gitter chat]. Or take time to read
-xref:faq.adoc[FAQs], or search in the mailing list archives to find answers.
+xref:faq:index.adoc[FAQs], or search in the mailing list archives to find answers.
 Unfortunately some people create a JIRA ticket as first thing. *Please
 don't do that!* Only if you are sure it really is a bug, etc. JIRA tickets
 create noise for the Camel team to react on issues that are not bugs
@@ -35,7 +35,7 @@ Also on the mailing lists there are more people active to help you better.
 ====
 
 * http://issues.apache.org/jira/browse/CAMEL[Issue Tracker]
-* xref:faq.adoc[FAQ]
+* xref:faq:index.adoc[FAQ]
 
 [[Support-Alternativediscussionforums]]
 == Alternative discussion forums
@@ -62,7 +62,7 @@ https://github.com/apache/camel/tree/master/components#components
 == How to get help
 
 Before you report a problem, you may wish to read the
-xref:faq.adoc[FAQ].
+xref:faq:index.adoc[FAQ].
 When you report an issue, please be sure to include as much information
 as possible. The more we know, the easier it is to reach an effective
 solution quickly.
@@ -85,7 +85,7 @@ other exceptions and the exception right near the bottom explains the
 actual error, not the first few lines at the top. It's very easy for us
 to skim-read past unnecessary parts of a stack trace.
 * log output can be useful too; sometimes
-xref:faq/how-do-i-change-the-logging.adoc[enabling DEBUG logging] can help
+xref:faq:how-do-i-change-the-logging.adoc[enabling DEBUG logging] can help
 * your code & configuration files are often useful
 * did it work before? what have you changed to break it?
 * try upgrading to the latest release and see if it's fixed there
diff --git a/docs/user-manual/modules/ROOT/pages/transport.adoc b/docs/user-manual/modules/ROOT/pages/transport.adoc
index e1bcf6f..1af3d2e 100644
--- a/docs/user-manual/modules/ROOT/pages/transport.adoc
+++ b/docs/user-manual/modules/ROOT/pages/transport.adoc
@@ -12,7 +12,7 @@ Camel includes the following Component implementations via xref:uris.adoc[URIs].
 
 [IMPORTANT]
 ====
-Make sure to read xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+Make sure to read xref:faq:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
 to learn more about configuring endpoints. For
 example how to refer to beans in the xref:registry.adoc[Registry] or how
 to use raw values for password options, and using
diff --git a/docs/user-manual/modules/ROOT/pages/uris.adoc b/docs/user-manual/modules/ROOT/pages/uris.adoc
index 0c0e600..ddb8961 100644
--- a/docs/user-manual/modules/ROOT/pages/uris.adoc
+++ b/docs/user-manual/modules/ROOT/pages/uris.adoc
@@ -8,7 +8,7 @@ refer to them within xref:routes.adoc[Routes].
 [IMPORTANT]
 ====
 Make sure to read
-xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints]
+xref:faq:how-do-i-configure-endpoints.adoc[How do I configure endpoints]
 to learn more about configuring endpoints. For
 example how to refer to beans in the xref:registry.adoc[Registry] or how
 to use raw values for password options, and using
diff --git a/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc b/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc
index ca7625a..774c78f 100644
--- a/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc
+++ b/docs/user-manual/modules/ROOT/pages/using-propertyplaceholder.adoc
@@ -11,7 +11,7 @@ limitation that prevents third-party frameworks from fully leveraging
 Spring property placeholders.
 
 For more details see:
-xref:faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
+xref:faq:how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
 I use Spring Property Placeholder with Camel XML].
 
 [[UsingPropertyPlaceholder-BridgingSpringandCamelPropertyPlaceholders]]
diff --git a/docs/user-manual/modules/ROOT/pages/xml-configuration.adoc b/docs/user-manual/modules/ROOT/pages/xml-configuration.adoc
index 6f9497b..4797fa4 100644
--- a/docs/user-manual/modules/ROOT/pages/xml-configuration.adoc
+++ b/docs/user-manual/modules/ROOT/pages/xml-configuration.adoc
@@ -9,7 +9,7 @@ language.
 Camel XML uses xref:components::spring.adoc[Spring] 2 namespaces; so that you can
 configure your routing rules within your 
 xref:components::spring.adoc[Spring XML configuration file]; you can also use
-xref:faq/how-do-i-configure-endpoints.adoc[Java code to configure components and endpoints].
+xref:faq:how-do-i-configure-endpoints.adoc[Java code to configure components and endpoints].
 
 For examples on how to use Camel XML, see the
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration Patterns] or refer to the xref:components::spring.adoc[Spring Support].
diff --git a/docs/user-manual/modules/ROOT/references.adoc b/docs/user-manual/modules/ROOT/references.adoc
new file mode 100644
index 0000000..0e6048d
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/references.adoc
@@ -0,0 +1,5 @@
+* *Reference*
+* xref:latest@components::index.adoc[Components]
+* xref:latest@components:dataformats:index.adoc[Data Formats]
+* xref:latest@components:languages:index.adoc[Supported expression languages]
+* xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration Patterns]
diff --git a/docs/user-manual/modules/ROOT/examples/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java b/docs/user-manual/modules/faq/examples/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java
similarity index 100%
rename from docs/user-manual/modules/ROOT/examples/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java
rename to docs/user-manual/modules/faq/examples/core/camel-management/src/test/java/org/apache/camel/management/ManagedCustomProcessorTest.java
diff --git a/docs/user-manual/modules/faq/nav.adoc b/docs/user-manual/modules/faq/nav.adoc
new file mode 100644
index 0000000..2d9eea3
--- /dev/null
+++ b/docs/user-manual/modules/faq/nav.adoc
@@ -0,0 +1,102 @@
+* xref:index.adoc[FAQ]
+** xref:can-i-get-commercial-support.adoc[Can I get commercial support?]
+** xref:ROOT:support.adoc[How can I get help?]
+** xref:how-can-i-get-the-source-code.adoc[How can I get the source code?]
+** xref:how-does-camel-compare-to-mule.adoc[How does Camel compare to Mule?]
+** xref:how-does-camel-compare-to-servicemix.adoc[How does Camel compare to ServiceMix?]
+** xref:how-does-camel-compare-to-servicemix-eip.adoc[How does Camel compare to ServiceMix EIP?]
+** xref:how-does-camel-compare-to-synapse.adoc[How does Camel compare to Synapse?]
+** xref:how-does-camel-work.adoc[How does Camel work?]
+** xref:how-does-camel-work-with-activemq.adoc[How does Camel work with ActiveMQ?]
+** xref:how-does-camel-work-with-servicemix.adoc[How does Camel work with ServiceMix?]
+** xref:how-does-the-camel-api-compare-to.adoc[How does the Camel API compare to?]
+** xref:how-does-the-website-work.adoc[How does the website work?]
+** xref:how-do-i-become-a-committer.adoc[How do I become a committer?]
+** xref:how-do-i-compile-the-code.adoc[How do I compile the code?]
+** xref:how-do-i-edit-the-website.adoc[How do I edit the website?]
+** xref:how-do-i-run-camel-using-java-webstart.adoc[How do I run Camel using Java WebStart?]
+** xref:if-i-use-servicemix-when-should-i-use-camel.adoc[If I use ServiceMix when should I use Camel?]
+** xref:is-camel-an-esb.adoc[Is Camel an ESB?]
+** xref:is-camel-ioc-friendly.adoc[Is Camel IoC friendly?]
+** xref:running-camel-standalone.adoc[Running Camel standalone]
+** xref:what-are-the-dependencies.adoc[What are the dependencies?]
+** xref:what-is-a-router.adoc[What is a router?]
+** xref:what-is-camel.adoc[What is Camel?]
+** xref:what-is-the-license.adoc[What is the license?]
+** xref:what-jars-do-i-need.adoc[What jars do I need?]
+** xref:ROOT:languages.adoc[What languages are supported?]
+** xref:what-platforms-are-supported.adoc[What platforms are supported?]
+** xref:why-the-name-camel.adoc[Why the name Camel?]
+** xref:classloader-issue-of-servicemix-camel-component.adoc[Classloader issue of servicemix-camel component]
+** xref:how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[How do I specify which method to use when using beans in routes?]
+** xref:how-can-i-create-a-custom-component-or-endpoint.adoc[How can I create a custom component or endpoint?]
+** xref:how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc[How can I get the remote connection IP address from the camel-cxf consumer ?]
+** xref:how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route from a route?]
+** xref:how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc[How can webservice clients see remote faults with stacktraces when using camel-cxf?]
+** xref:how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look up beans and endpoints?]
+** xref:ROOT:configuring-camel.adoc[How do I add a component?]
+** xref:how-do-i-change-the-logging.adoc[How do I change the logging?]
+** xref:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+** xref:how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc[How do I configure password options on Camel endpoints without the value being encoded?]
+** xref:how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc[How do I configure the default maximum cache size for ProducerCache or ProducerTemplate?]
+** xref:how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How do I configure the maximum endpoint cache size for CamelContext?]
+** xref:how-do-i-debug-my-route.adoc[How do I debug my route?]
+** xref:how-do-i-disable-jmx.adoc[How do I disable JMX?]
+** xref:how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How do I enable streams when debug logging messages in Camel?]
+** xref:how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc[How do I handle failures when consuming for example from a FTP server?]
+** xref:how-do-i-import-rests-from-other-xml-files.adoc[How do I import rests from other XML files?]
+** xref:how-do-i-import-routes-from-other-xml-files.adoc[How do I import routes from other XML files?]
+** xref:how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards?]
+** xref:how-do-i-name-my-routes.adoc[How do I name my routes?]
+** xref:how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
+** xref:how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How do I retrieve the thrown Exception during processing an Exchange?]
+** xref:how-do-i-retry-failed-messages-forever.adoc[How do I retry failed messages forever?]
+** xref:how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc[How do I retry processing a message from a certain point back or an entire route?]
+** xref:how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How do I reuse the ContextTestSupport class in my unit tests?]
+** xref:how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ and Camel in JBoss?]
+** xref:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[How do I set the max chars when debug logging messages in Camel?]
+** xref:how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
+** xref:how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside ServiceMix?]
+** xref:how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do I use Spring Property Placeholder with Camel XML?]
+** xref:how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs with parameters in XML?]
+** xref:how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How do I write a custom Processor which sends multiple messages?]
+** xref:how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I invoke my POJOs or Spring Services?]
+** xref:how-should-i-package-applications-using-camel-and-activemq.adoc[How should I package applications using Camel and ActiveMQ?]
+** xref:how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc[How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform?]
+** xref:how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?]
+** xref:how-to-define-a-static-camel-converter-method-in-scala.adoc[How to define a static Camel converter method in Scala?]
+** xref:how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?]
+** xref:how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send the same message to multiple endpoints?]
+** xref:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
+** xref:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
+** xref:is-there-an-ide.adoc[Is there an IDE?]
+** xref:should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc[Should I deploy Camel inside the ActiveMQ broker or in another application?]
+** xref:using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
+** xref:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
+** xref:why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
+** xref:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
+** xref:why-does-ftp-component-not-download-any-files.adoc[Why does FTP component not download any files?]
+** xref:why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc[Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?]
+** xref:why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why does useOriginalMessage with error handler not work as expected?]
+** xref:why-do-my-message-lose-its-headers-during-routing.adoc[Why do my message lose its headers during routing?]
+** xref:why-is-my-message-body-empty.adoc[Why is my message body empty?]
+** xref:why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my processor not showing up in JConsole?]
+** xref:why-is-the-exception-null-when-i-use-onexception.adoc[Why is the exception null when I use onException?]
+** xref:why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
+** xref:how-do-i-enable-debug-logging.adoc[How do I enable debug logging?]
+** xref:how-do-i-use-java-14-logging.adoc[How do I use Java 1.4 logging?]
+** xref:how-do-i-use-log4j.adoc[How do I use log4j?]
+** xref:how-do-i-invoke-camel-routes-from-jbi.adoc[How do I invoke Camel routes from JBI?]
+** xref:how-do-i-make-my-jms-endpoint-transactional.adoc[How Do I Make My JMS Endpoint Transactional?]
+** xref:how-do-i-set-the-mep-when-interacting-with-jbi.adoc[How do I set the MEP when interacting with JBI?]
+** xref:how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc[How do the direct, event, seda and vm endpoints compare?]
+** xref:how-do-the-timer-and-quartz-endpoints-compare.adoc[How do the Timer and Quartz endpoints compare?]
+** xref:why-does-my-jms-route-only-consume-one-message-at-once.adoc[Why does my JMS route only consume one message at once?]
+** xref:exception-beandefinitionstoreexception.adoc[Exception - BeanDefinitionStoreException]
+** xref:exception-javaxnamingnoinitialcontextexception.adoc[Exception - javax.naming.NoInitialContextException]
+** xref:exception-orgapachecamelnosuchendpointexception.adoc[Exception - org.apache.camel.NoSuchEndpointException]
+** xref:exception-orgxmlsaxsaxparseexception.adoc[Exception - org.xml.sax.SAXParseException]
+** xref:memory-leak-when-adding-and-removing-routes-at-runtime.adoc[Memory leak when adding and removing routes at runtime]
+** xref:why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc[Why do Camel throw so many NoClassDefFoundException on startup?]
+** xref:why-does-camel-use-too-many-threads-with-producertemplate.adoc[Why does Camel use too many threads with ProducerTemplate?]
+** xref:why-does-maven-not-download-dependencies.adoc[Why does maven not download dependencies?]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/can-i-get-commercial-support.adoc b/docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc
similarity index 53%
rename from docs/user-manual/modules/ROOT/pages/faq/can-i-get-commercial-support.adoc
rename to docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc
index 3b50202..0defe1d 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/can-i-get-commercial-support.adoc
+++ b/docs/user-manual/modules/faq/pages/can-i-get-commercial-support.adoc
@@ -1,4 +1,4 @@
 [[CanIgetcommercialsupport-CanIgetcommercialsupport]]
 = Can I get commercial support?
 
-Absolutely, see our xref:support.adoc[Support] page for more details.
+Absolutely, see our xref:ROOT:support.adoc[Support] page for more details.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/classloader-issue-of-servicemix-camel-component.adoc b/docs/user-manual/modules/faq/pages/classloader-issue-of-servicemix-camel-component.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/classloader-issue-of-servicemix-camel-component.adoc
rename to docs/user-manual/modules/faq/pages/classloader-issue-of-servicemix-camel-component.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/exception-beandefinitionstoreexception.adoc b/docs/user-manual/modules/faq/pages/exception-beandefinitionstoreexception.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/exception-beandefinitionstoreexception.adoc
rename to docs/user-manual/modules/faq/pages/exception-beandefinitionstoreexception.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/exception-javaxnamingnoinitialcontextexception.adoc b/docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc
similarity index 94%
rename from docs/user-manual/modules/ROOT/pages/faq/exception-javaxnamingnoinitialcontextexception.adoc
rename to docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc
index 5d288fb..e0670de 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/exception-javaxnamingnoinitialcontextexception.adoc
+++ b/docs/user-manual/modules/faq/pages/exception-javaxnamingnoinitialcontextexception.adoc
@@ -24,7 +24,7 @@ You might get an exception like this:
 ----
 
 This is because if you are not using Spring then the default
-xref:registry.adoc[Registry] implementation uses xref:jndi.adoc[JNDI].
+xref:ROOT:registry.adoc[Registry] implementation uses xref:ROOT:jndi.adoc[JNDI].
 
 A simple workaround for this is to specify a JNDI provider. An easy fix
 is to create a file called `jndi.properties` on the classpath and give
diff --git a/docs/user-manual/modules/ROOT/pages/faq/exception-orgapachecamelnosuchendpointexception.adoc b/docs/user-manual/modules/faq/pages/exception-orgapachecamelnosuchendpointexception.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/exception-orgapachecamelnosuchendpointexception.adoc
rename to docs/user-manual/modules/faq/pages/exception-orgapachecamelnosuchendpointexception.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/exception-orgxmlsaxsaxparseexception.adoc b/docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc
similarity index 91%
rename from docs/user-manual/modules/ROOT/pages/faq/exception-orgxmlsaxsaxparseexception.adoc
rename to docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc
index e5a4066..e4e0b42 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/exception-orgxmlsaxsaxparseexception.adoc
+++ b/docs/user-manual/modules/faq/pages/exception-orgxmlsaxsaxparseexception.adoc
@@ -11,7 +11,7 @@ XML.
 Because of this, you have to replace all & in your URIs by `+&amp;+` when
 using the Spring XML syntax to configure Camel routes.
 
-An example: this snippet of code in the xref:dsl.adoc[DSL]...
+An example: this snippet of code in the xref:ROOT:dsl.adoc[DSL]...
 
 [source,java]
 ----
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-create-a-custom-component-or-endpoint.adoc b/docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc
similarity index 76%
rename from docs/user-manual/modules/ROOT/pages/faq/how-can-i-create-a-custom-component-or-endpoint.adoc
rename to docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc
index 5c70e72..3f72e8b 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-create-a-custom-component-or-endpoint.adoc
+++ b/docs/user-manual/modules/faq/pages/how-can-i-create-a-custom-component-or-endpoint.adoc
@@ -1,7 +1,7 @@
 [[HowcanIcreateacustomcomponentorendpoint-HowcanIcreateacustomcomponentorendpoint]]
 = How can I create a custom component or endpoint?
 
-Please read xref:writing-components.adoc[Writing Components] for a
+Please read xref:ROOT:writing-components.adoc[Writing Components] for a
 background in how to implement a new component or endpoint. Its really
 easy to do! :smile:
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc b/docs/user-manual/modules/faq/pages/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
rename to docs/user-manual/modules/faq/pages/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-get-the-source-code.adoc b/docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc
similarity index 95%
rename from docs/user-manual/modules/ROOT/pages/faq/how-can-i-get-the-source-code.adoc
rename to docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc
index a147a93..4cafbc4 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-get-the-source-code.adoc
+++ b/docs/user-manual/modules/faq/pages/how-can-i-get-the-source-code.adoc
@@ -47,4 +47,4 @@ https://github.com/apache/camel/
 [[HowcanIgetthesourcecode-Buildingthecode]]
 == Building the code
 
-To then build the code see xref:building.adoc[Building].
+To then build the code see xref:ROOT:building.adoc[Building].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-stop-a-route-from-a-route.adoc b/docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc
similarity index 81%
rename from docs/user-manual/modules/ROOT/pages/faq/how-can-i-stop-a-route-from-a-route.adoc
rename to docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc
index ae96099..224d3f0 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-can-i-stop-a-route-from-a-route.adoc
+++ b/docs/user-manual/modules/faq/pages/how-can-i-stop-a-route-from-a-route.adoc
@@ -1,14 +1,14 @@
 [[HowcanIstoparoutefromaroute-HowcanIstoparoutefromaroute]]
 = How can I stop a route from a route
 
-The xref:camelcontext.adoc[CamelContext] provides API for managing
+The xref:ROOT:camelcontext.adoc[CamelContext] provides API for managing
 routes at runtime. It has a `stopRoute(id)` and `startRoute(id)`
 methods.
 
 Stopping a route during routing an existing message is a bit tricky. The
-reason for that is Camel will xref:graceful-shutdown.adoc[Graceful
+reason for that is Camel will xref:ROOT:graceful-shutdown.adoc[Graceful
 Shutdown] the route you are stopping. And if you do that while a message
-is being routed the xref:graceful-shutdown.adoc[Graceful Shutdown] will
+is being routed the xref:ROOT:graceful-shutdown.adoc[Graceful Shutdown] will
 try to wait until that message has been processed.
 
 The best practice for stopping a route from a route, is to either:
@@ -43,20 +43,20 @@ shown:
 == Alternative solutions
 
 Camel provides another feature for managing routes at runtime which is
-xref:route-policy.adoc[RoutePolicy].
+xref:ROOT:route-policy.adoc[RoutePolicy].
 
-And xref:camelcontext.adoc[CamelContext] also provides API for
+And xref:ROOT:camelcontext.adoc[CamelContext] also provides API for
 suspend/resume of routes, and shutdown as well.
 
 * suspend/resume is faster than stop/start. For example a HTTP server
 will still run but deny any incoming requests.
 Whereas if it was stopped the HTTP listener would have been stopped.
 * shutdown means the route is being removed from
-xref:camelcontext.adoc[CamelContext] and cannot be started again. Its
+xref:ROOT:camelcontext.adoc[CamelContext] and cannot be started again. Its
 also removed from JMX.
 A route must have been stopped prior to be shutdown.
 
-See more details about the xref:lifecycle.adoc[Lifecycle].
+See more details about the xref:ROOT:lifecycle.adoc[Lifecycle].
 
 [NOTE]
 ====
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc b/docs/user-manual/modules/faq/pages/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
rename to docs/user-manual/modules/faq/pages/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-become-a-committer.adoc b/docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc
similarity index 89%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-become-a-committer.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc
index 864816c..001b5b3 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-become-a-committer.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-become-a-committer.adoc
@@ -2,17 +2,17 @@
 = How can I become a committer
 
 First of all you need to get involved and
-xref:contributing.adoc[Contribute] via the mail list, forums, edit the
+xref:ROOT:contributing.adoc[Contribute] via the mail list, forums, edit the
 documentation, work on the issue tracker and submit patches.
 
 Once you're contributing and your work is good, one of our
-xref:team.adoc[Team] may invite you to be a committer (after we've
+xref:ROOT:team.adoc[Team] may invite you to be a committer (after we've
 called a vote). When that happens, if you accept, the following process
 kicks into place...
 
 Note that becoming a committer is not just about submitting some
 patches; its also about helping out on the development and user
-xref:mailing-lists.adoc[Discussion Forums],
+xref:ROOT:mailing-lists.adoc[Discussion Forums],
 helping with documentation and the issue tracker.
 
 [[HowdoIbecomeacommitter-Becomingacommittersteps]]
@@ -34,7 +34,7 @@ to have your account created; we'll also need to know
 [[HowdoIbecomeacommitter-GettingstartedatApache]]
 == Getting started at Apache
 
-Firstly add yourself to the xref:team.adoc[Team] page
+Firstly add yourself to the xref:ROOT:team.adoc[Team] page
 
 Now go read the instructions on the
 http://www.apache.org/dev/new-committers-guide.html[new committers guide].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-change-the-logging.adoc b/docs/user-manual/modules/faq/pages/how-do-i-change-the-logging.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-change-the-logging.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-change-the-logging.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-compile-the-code.adoc b/docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc
similarity index 67%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-compile-the-code.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc
index 806b7e9..1ab9065 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-compile-the-code.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-compile-the-code.adoc
@@ -1,4 +1,4 @@
 [[HowdoIcompilethecode-HowdoIcompilefromthesourcecode]]
 = How do I compile from the source code?
 
-See the xref:building.adoc[Building] page.
+See the xref:ROOT:building.adoc[Building] page.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-endpoints.adoc b/docs/user-manual/modules/faq/pages/how-do-i-configure-endpoints.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-endpoints.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-configure-endpoints.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc b/docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
similarity index 77%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
index f882f68..7b3c1cf 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
@@ -1,12 +1,12 @@
 [[HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded-HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded]]
 = How do I configure password options on Camel endpoints without the value being encoded?
 
-When you configure Camel endpoints using xref:uris.adoc[URIs] then the
+When you configure Camel endpoints using xref:ROOT:uris.adoc[URIs] then the
 parameter values gets url encoded by default. +
 This can be a problem when you want to configure passwords _as is_.
 
 To do that you can tell Camel to use the raw value, by enclosing the
 value with RAW(value). See more details at
-xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+xref:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
 which has an example also.
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc b/docs/user-manual/modules/faq/pages/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc b/docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
similarity index 81%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
index ad46ff0..934744d 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
@@ -1,7 +1,7 @@
 [[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-HowdoIconfigurethemaximumendpointcachesizeforCamelContext]]
 = How do I configure the maximum endpoint cache size for CamelContext?
 
-xref:camelcontext.adoc[CamelContext] will by default cache the last 1000
+xref:ROOT:camelcontext.adoc[CamelContext] will by default cache the last 1000
 used endpoints (based on a LRUCache).
 
 [[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-Configuringcachesize]]
@@ -11,14 +11,14 @@ used endpoints (based on a LRUCache).
 
 You can configure the default maximum cache size by setting the
 `Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE` property on
-xref:camelcontext.adoc[CamelContext].
+xref:ROOT:camelcontext.adoc[CamelContext].
 
 [source,java]
 ----
 getCamelContext().getGlobalOptions().put(Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE, "500");
 ----
 
-You need to configure this before xref:camelcontext.adoc[CamelContext]
+You need to configure this before xref:ROOT:camelcontext.adoc[CamelContext]
 is started.
 
 And in Spring XML its done as:
diff --git a/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc b/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc
new file mode 100644
index 0000000..13a90c4
--- /dev/null
+++ b/docs/user-manual/modules/faq/pages/how-do-i-debug-my-route.adoc
@@ -0,0 +1,15 @@
+[[HowdoIdebugmyroute-HowdoIdebugmyroute]]
+= How do I debug my route?
+
+If you've created a route and its not doing what you think it is you
+could try using one of these features from version 1.4 onwards:
+
+* xref:ROOT:tracer.adoc[Tracer] to trace in commons-logging / log4j each step
+that Camel takes
+* xref:ROOT:debugger.adoc[Debugger] to let you set breakpoints at points in
+the route and examine historic message exchanges
+* xref:ROOT:debugger.adoc[Debug] from your unit test if you use the Camel
+`camel-test` component
+
+Some xref:ROOT:user-stories.adoc[third party tools] offers Apache Camel route
+debugging.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-disable-jmx.adoc b/docs/user-manual/modules/faq/pages/how-do-i-disable-jmx.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-disable-jmx.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-disable-jmx.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-edit-the-website.adoc b/docs/user-manual/modules/faq/pages/how-do-i-edit-the-website.adoc
similarity index 95%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-edit-the-website.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-edit-the-website.adoc
index 5f3d505..b5f0bfe 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-edit-the-website.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-edit-the-website.adoc
@@ -23,7 +23,7 @@ Steps to edit a file:
 
 == In local repositories
 
-To edit files locally, it's important to understand how the website is generated and where the files are located. The https://github.com/apache/camel-website[site generator] is located in its own repository. The documentation is located in the main https://github.com/apache/camel[Apache Camel] repository and sub-project repositories, such as https://github.com/apache/camel-k[Camel-K] and https://github.com/apache/camel-quarkus[Camel Quarkus]. Have a look at the xref:faq/how-does-the-webs [...]
+To edit files locally, it's important to understand how the website is generated and where the files are located. The https://github.com/apache/camel-website[site generator] is located in its own repository. The documentation is located in the main https://github.com/apache/camel[Apache Camel] repository and sub-project repositories, such as https://github.com/apache/camel-k[Camel-K] and https://github.com/apache/camel-quarkus[Camel Quarkus]. Have a look at the xref:how-does-the-website- [...]
 
 Steps to edit a file:
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-enable-debug-logging.adoc b/docs/user-manual/modules/faq/pages/how-do-i-enable-debug-logging.adoc
similarity index 93%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-enable-debug-logging.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-enable-debug-logging.adoc
index 9528f71..3bf51bd 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-enable-debug-logging.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-enable-debug-logging.adoc
@@ -13,7 +13,7 @@ logging via, among others:
 * https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html[JDK Util Logging logging]
 
 To enable debug logging we recommend you
-xref:faq/how-do-i-use-log4j.adoc[use log4j for logging] then make sure your
+xref:how-do-i-use-log4j.adoc[use log4j for logging] then make sure your
 log4j.properties file enables DEBUG level logging for the
 `org.apache.camel` package.
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc b/docs/user-manual/modules/faq/pages/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc b/docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
similarity index 93%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
index 6bc6ad3..7630217 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
@@ -9,7 +9,7 @@ from("ftp://foo@somesever.com?password=secret").to("bean:logic?method=doSomethin
 ----
 
 And there is a failure with connecting to the remote FTP server. The
-existing xref:error-handling-in-camel.adoc[Error handling in Camel] is
+existing xref:ROOT:error-handling-in-camel.adoc[Error handling in Camel] is
 based on when a message is *being* routed.
 In this case the error occurs *before* a message has been initiated and
 routed. So how can I control the error handling?
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-import-rests-from-other-xml-files.adoc b/docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc
similarity index 97%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-import-rests-from-other-xml-files.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc
index b22ce8a..aa20088 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-import-rests-from-other-xml-files.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-import-rests-from-other-xml-files.adoc
@@ -3,7 +3,7 @@
 
 *Since Camel 2.14*
 
-When defining rests in Camel using xref:xml-configuration.adoc[Xml
+When defining rests in Camel using xref:ROOT:xml-configuration.adoc[Xml
 Configuration] you may want to define some rests in other XML files. For
 example you may have many rest services and it may help to maintain the
 application if some of the rests are in separate XML files. You may also
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-import-routes-from-other-xml-files.adoc b/docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc
similarity index 95%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-import-routes-from-other-xml-files.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc
index 3b69317..ff40e4e 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-import-routes-from-other-xml-files.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-import-routes-from-other-xml-files.adoc
@@ -3,7 +3,7 @@
 
 *Since Camel 2.3*
 
-When defining routes in Camel using xref:xml-configuration.adoc[XML Configuration]
+When defining routes in Camel using xref:ROOT: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
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-invoke-camel-routes-from-jbi.adoc b/docs/user-manual/modules/faq/pages/how-do-i-invoke-camel-routes-from-jbi.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-invoke-camel-routes-from-jbi.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-invoke-camel-routes-from-jbi.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-let-jetty-match-wildcards.adoc b/docs/user-manual/modules/faq/pages/how-do-i-let-jetty-match-wildcards.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-let-jetty-match-wildcards.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-let-jetty-match-wildcards.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-make-my-jms-endpoint-transactional.adoc b/docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc
similarity index 87%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-make-my-jms-endpoint-transactional.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc
index 8e96a59..70fda87 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-make-my-jms-endpoint-transactional.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-make-my-jms-endpoint-transactional.adoc
@@ -21,6 +21,6 @@ There are examples in the xref:{eip-vc}:eips:transactional-client.adoc[Transacti
 and it is described in the _Enabling Transacted Consumption_
 section of xref:components::jms-component.adoc[JMS]. To make a session transactional
 set `transacted=true` flag on the JMS endpoint and configure
-a `transactionManager` on the xref:component.adoc[Component] or
-xref:endpoint.adoc[Endpoint].
+a `transactionManager` on the xref:ROOT:component.adoc[Component] or
+xref:ROOT:endpoint.adoc[Endpoint].
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-name-my-routes.adoc b/docs/user-manual/modules/faq/pages/how-do-i-name-my-routes.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-name-my-routes.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-name-my-routes.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-restart-camelcontext.adoc b/docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc
similarity index 66%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-restart-camelcontext.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc
index 3ead659..bbda15e 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-restart-camelcontext.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-restart-camelcontext.adoc
@@ -1,8 +1,8 @@
 [[HowdoIrestartCamelContext-HowdoIrestartCamelContext]]
 = How do I restart CamelContext?
 
-A xref:camelcontext.adoc[CamelContext] provides operations to control
-its lifecycle, see more at xref:camelcontext.adoc[CamelContext].
+A xref:ROOT:camelcontext.adoc[CamelContext] provides operations to control
+its lifecycle, see more at xref:ROOT:camelcontext.adoc[CamelContext].
 
 [NOTE]
 ====
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc b/docs/user-manual/modules/faq/pages/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-retry-failed-messages-forever.adoc b/docs/user-manual/modules/faq/pages/how-do-i-retry-failed-messages-forever.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-retry-failed-messages-forever.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-retry-failed-messages-forever.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc b/docs/user-manual/modules/faq/pages/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc b/docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
similarity index 88%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
index 991f430..0cd11ef 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc
@@ -1,8 +1,8 @@
 [[HowdoIreusetheContextTestSupportclassinmyunittests-HowdoIreusetheContextTestSupportclassinmyunittests]]
 = How do I reuse the ContextTestSupport class in my unit tests?
 
-You might want to look at the various xref:testing.adoc[Testing]
-options xref:spring-testing.adoc[Spring Testing] to see if those are better,
+You might want to look at the various xref:ROOT:testing.adoc[Testing]
+options xref:ROOT:spring-testing.adoc[Spring Testing] to see if those are better,
 more powerful options. We see `ContextTestSupport` as an older, less
 powerful option.
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-run-activemq-and-camel-in-jboss.adoc b/docs/user-manual/modules/faq/pages/how-do-i-run-activemq-and-camel-in-jboss.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-run-activemq-and-camel-in-jboss.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-run-activemq-and-camel-in-jboss.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-run-camel-using-java-webstart.adoc b/docs/user-manual/modules/faq/pages/how-do-i-run-camel-using-java-webstart.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-run-camel-using-java-webstart.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-run-camel-using-java-webstart.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc b/docs/user-manual/modules/faq/pages/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-set-the-mep-when-interacting-with-jbi.adoc b/docs/user-manual/modules/faq/pages/how-do-i-set-the-mep-when-interacting-with-jbi.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-set-the-mep-when-interacting-with-jbi.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-set-the-mep-when-interacting-with-jbi.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc b/docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
similarity index 95%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
index 44f7afa..2cf3c5b 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc
@@ -3,7 +3,7 @@
 
 *Since Camel 2.3*
 
-Some of the Camel xref:component.adoc[components] offers options to
+Some of the Camel xref:ROOT:component.adoc[components] offers options to
 specify a time period, which must be entered in milli second as unit.
 This may be unfriendly to read as a human when the value is large such
 as 45min = 2700000 millis.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc b/docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
similarity index 58%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
index a69d128..8cc3a2a 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
@@ -1,9 +1,9 @@
 [[HodoIspecifywhichmethodtousewhenusingbeansinroutes-HodoIspecifywhichmethodtousewhenusingbeansinroutes]]
 = Ho do I specify which method to use when using beans in routes?
 
-See xref:components::bean-component.adoc[Bean], xref:bean-integration.adoc[Bean Integration]
-and xref:bean-binding.adoc[Bean Binding]
+See xref:components::bean-component.adoc[Bean], xref:ROOT:bean-integration.adoc[Bean Integration]
+and xref:ROOT:bean-binding.adoc[Bean Binding]
 
 However if you have overloaded methods you need to specify which of
 those overloaded method you want to use by specifying parameter type
-qualifiers. See more details at xref:bean-binding.adoc[Bean Binding].
+qualifiers. See more details at xref:ROOT:bean-binding.adoc[Bean Binding].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-a-big-uber-jar.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-a-big-uber-jar.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-a-big-uber-jar.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-use-a-big-uber-jar.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-camel-inside-servicemix.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-camel-inside-servicemix.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-camel-inside-servicemix.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-use-camel-inside-servicemix.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-java-14-logging.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-java-14-logging.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-java-14-logging.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-use-java-14-logging.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-log4j.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-log4j.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-log4j.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-use-log4j.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
similarity index 97%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
index cfb418a..475aec4 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc
@@ -65,7 +65,7 @@ http://jira.springframework.org/browse/SPR-4466[SPR-4466]
 == Bridge Spring and Camel property placeholders
 
 From Camel 2.10 onwards you can bridge Spring and Camel property
-placeholders, see xref:using-propertyplaceholder.adoc[Using
+placeholders, see xref:ROOT:using-propertyplaceholder.adoc[Using
 PropertyPlaceholder] for more details.
 
 Here is a trick that you can use to define the uri in a property file
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-uris-with-parameters-in-xml.adoc b/docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc
similarity index 88%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-uris-with-parameters-in-xml.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc
index 8279134..14c1839 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-use-uris-with-parameters-in-xml.adoc
+++ b/docs/user-manual/modules/faq/pages/how-do-i-use-uris-with-parameters-in-xml.adoc
@@ -1,8 +1,8 @@
 [[HowdoIuseURIswithparametersinXML-HowdoIuseURIswithparametersinXML]]
 = How do I use URIs with parameters in XML?
 
-If you try and use one of the Camel xref:uris.adoc[URIs] in an
-xref:xml-configuration.adoc[XML Configuration] using the URI query
+If you try and use one of the Camel xref:ROOT:uris.adoc[URIs] in an
+xref:ROOT:xml-configuration.adoc[XML Configuration] using the URI query
 parameter notation, such as:
 
 [source,xml]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc b/docs/user-manual/modules/faq/pages/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc
rename to docs/user-manual/modules/faq/pages/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc b/docs/user-manual/modules/faq/pages/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc
rename to docs/user-manual/modules/faq/pages/how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-do-the-timer-and-quartz-endpoints-compare.adoc b/docs/user-manual/modules/faq/pages/how-do-the-timer-and-quartz-endpoints-compare.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-do-the-timer-and-quartz-endpoints-compare.adoc
rename to docs/user-manual/modules/faq/pages/how-do-the-timer-and-quartz-endpoints-compare.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-mule.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc
similarity index 81%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-mule.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc
index b265da5..38dfb73 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-mule.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-mule.adoc
@@ -5,10 +5,10 @@ This FAQ entry was written when Mule 1.x and 2.x existed. It doesn't
 cater for how Mule may go in Mule 3.x.
 
 I guess from 30,000 feet they're kinda
-xref:faq/why-the-name-camel.adoc[similar beasts]; they're both kinds of
+xref:why-the-name-camel.adoc[similar beasts]; they're both kinds of
 routing/mediation engines. The main differences are as follows:
 
-* Camel uses a Java xref:dsl.adoc[Domain Specific Language] in addition
+* Camel uses a Java xref:ROOT:dsl.adoc[Domain Specific Language] in addition
   to Spring XML for configuring the routing rules and providing
   xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
   Patterns]
@@ -20,9 +20,9 @@ routing/mediation engines. The main differences are as follows:
 * Camel allows the underlying transport details to be easily exposed
   (e.g. the `JmsExchange`, `JbiExchange`, `HttpExchange` objects expose all the
   underlying transport information & behaviour if its required). See
-  xref:faq/how-does-the-camel-api-compare-to.adoc[How does the Camel API
+  xref:how-does-the-camel-api-compare-to.adoc[How does the Camel API
   compare to]
-* Camel supports an implicit xref:type-converter.adoc[Type Converter] in
+* Camel supports an implicit xref:ROOT:type-converter.adoc[Type Converter] in
   the core API to make it simpler to connect components together requiring
   different types of payload & headers
 * Camel uses the https://apache.org/licenses/LICENSE-2.0[Apache 2 License] rather than Mule's more restrictive commercial license
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix-eip.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc
similarity index 95%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix-eip.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc
index 3f22629..f7876b9 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix-eip.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix-eip.adoc
@@ -9,7 +9,7 @@ existing ServiceMix XBean XML configuration whereas Camel has more
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns] and can be used outside of JBI (e.g. just with pure
 xref:components::jms-component.adoc[JMS] or xref:components::mina-component.adoc[MINA]). Also Camel supports a
-xref:dsl.adoc[Java DSL] or xref:spring.adoc[XML configuration].
+xref:ROOT:dsl.adoc[Java DSL] or xref:ROOT:spring.adoc[XML configuration].
 
 [[HowdoesCamelcomparetoServiceMixEIP-ConvertingfromServiceMixEIPtoCamel]]
 == Converting from ServiceMix EIP to Camel
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc
similarity index 87%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc
index 0b9b3fb..516b1e3 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-servicemix.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-servicemix.adoc
@@ -12,9 +12,9 @@ they are both designed to work great together.
 Camel can be deployed as a component within ServiceMix to provide
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[EIP routing and mediation]
 between existing JBI components together with communicating with any of
-the other Camel xref:component.adoc[Components] along with defining new
+the other Camel xref:ROOT:component.adoc[Components] along with defining new
 JBI components on the NMR. So Camel is similar to the
-xref:faq/how-does-camel-compare-to-servicemix-eip.adoc[ServiceMix EIP
+xref:how-does-camel-compare-to-servicemix-eip.adoc[ServiceMix EIP
 component].
 
 To work with Camel and ServiceMix you take your Camel
@@ -24,7 +24,7 @@ http://incubator.apache.org/servicemix/servicemix-camel.html[ServiceMix
 Camel plugin].
 
 So you could start out using Camel routing inside your application via
-xref:dsl.adoc[Java] or xref:components::spring.adoc[Spring]; then later on if you
+xref:ROOT:dsl.adoc[Java] or xref:components::spring.adoc[Spring]; then later on if you
 choose to you could wrap up your routing and mediation rules as a JBI
 deployment unit and drop it into your ServiceMix ESB. This provides a
 nice agile approach to integration; start small & simple on an endpoint
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-synapse.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc
similarity index 86%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-synapse.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc
index 3ebc80c..d0debd0 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-compare-to-synapse.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-compare-to-synapse.adoc
@@ -22,9 +22,9 @@ http://www.nabble.com/Apache-f90.html[very popular too].
 * Camel is designed from the ground up around
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns] -- having an EIP pattern language implemented in
-xref:dsl.adoc[Java] and xref:components::spring.adoc[Spring XML].
+xref:ROOT:dsl.adoc[Java] and xref:components::spring.adoc[Spring XML].
 * Camel is designed to work with pretty much all kinds of
-xref:transport.adoc[transport] as well as working with any
-xref:data-format.adoc[Data Format]. When we first looked at Synapse it
+xref:ROOT:transport.adoc[transport] as well as working with any
+xref:ROOT:data-format.adoc[Data Format]. When we first looked at Synapse it
 was based around Axis 2 and WS-* though apparently thats no longer the
 case.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-look-up-beans-and-endpoints.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc
similarity index 56%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-look-up-beans-and-endpoints.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc
index aaceedb..299f281 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-look-up-beans-and-endpoints.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-look-up-beans-and-endpoints.adoc
@@ -4,20 +4,20 @@
 There are many times using Camel that a name is used for a bean such as
 using the xref:components::bean-component.adoc[Bean] endpoint or using the
 xref:components:languages:bean-language.adoc[Bean Language] to create a
-xref:expression.adoc[Expression] or xref:predicate.adoc[Predicate] or
-referring to any xref:component.adoc[Component] or
-xref:endpoint.adoc[Endpoint].
+xref:ROOT:expression.adoc[Expression] or xref:ROOT:predicate.adoc[Predicate] or
+referring to any xref:ROOT:component.adoc[Component] or
+xref:ROOT:endpoint.adoc[Endpoint].
 
-Camel uses the xref:registry.adoc[Registry] to resolve names when
+Camel uses the xref:ROOT:registry.adoc[Registry] to resolve names when
 looking up beans or components or endpoints. Typically this will be
-xref:spring.adoc[Spring]; though you can use Camel without Spring in
-which case it will use the xref:jndi.adoc[JNDI] registry implementation.
+xref:ROOT:spring.adoc[Spring]; though you can use Camel without Spring in
+which case it will use the xref:ROOT:jndi.adoc[JNDI] registry implementation.
 
 Lots of test cases in the camel-core module don't use Spring (as
 camel-core explicitly doesn't depend on spring) - though test cases in
 camel-spring do.
 
 So you can just define beans, components or endpoints in your
-xref:registry.adoc[Registry] implementation then you can refer to them
-by name in the xref:endpoint.adoc[Endpoint] URIs or xref:components::bean-component.adoc[Bean]
+xref:ROOT:registry.adoc[Registry] implementation then you can refer to them
+by name in the xref:ROOT:endpoint.adoc[Endpoint] URIs or xref:components::bean-component.adoc[Bean]
 endpoints or xref:components:languages:bean-language.adoc[Bean Language] expressions.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc
similarity index 92%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc
index ed83875..8d68a40 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work-with-activemq.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-activemq.adoc
@@ -11,7 +11,7 @@ Patterns] inside:
 So Camel can route messages to and from xref:components::mail-component.adoc[Mail],
 xref:components::file-component.adoc[File], xref:components::ftp-component.adoc[FTP], xref:components::jpa-component.adoc[JPA],
 xref:components::xmpp-component.adoc[XMPP] other xref:components::jms-component.adoc[JMS] providers and any of the
-other Camel xref:component.adoc[Components] as well as implementating
+other Camel xref:ROOT:component.adoc[Components] as well as implementating
 all of the xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise
 Integration Patterns] such as xref:{eip-vc}:eips:content-based-router-eip.adoc[Content
 Based Router] or xref:{eip-vc}:eips:message-translator.adoc[Message Translator].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work-with-servicemix.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc
similarity index 94%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work-with-servicemix.adoc
rename to docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc
index a0147d3..0de78d4 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-camel-work-with-servicemix.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-work-with-servicemix.adoc
@@ -5,7 +5,7 @@ You can use Camel to do smart routing and implement the
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns] inside of the JBI container, routing between existing JBI
 components together with communicating with any of the other Camel
-xref:component.adoc[Components].
+xref:ROOT:component.adoc[Components].
 
 To do this you take your Camel xref:components::spring.adoc[Spring] configuration
 and turn it into a JBI Service Unit using the maven plugin or archetype.
diff --git a/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc b/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc
new file mode 100644
index 0000000..2c9b5e1
--- /dev/null
+++ b/docs/user-manual/modules/faq/pages/how-does-camel-work.adoc
@@ -0,0 +1,5 @@
+[[HowdoesCamelwork-HowdoesCamelwork]]
+= How does Camel work?
+
+Please see the xref:ROOT:architecture.adoc[Architecture] for details of how
+things work.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-the-camel-api-compare-to.adoc b/docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc
similarity index 93%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-the-camel-api-compare-to.adoc
rename to docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc
index f7fd707..1aa106c 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-does-the-camel-api-compare-to.adoc
+++ b/docs/user-manual/modules/faq/pages/how-does-the-camel-api-compare-to.adoc
@@ -9,7 +9,7 @@ map very closely to JBI in particular but also
 xref:components::cxf-component.adoc[CXF], xref:components::http-component.adoc[HTTP], xref:components::jms-component.adoc[JMS],
 xref:components::mail-component.adoc[Mail], xref:components::xmpp-component.adoc[XMPP] and most other integration
 abstractions. We want to prevent leaky abstractions, so the Camel API
-exposes the underlying APIs so that a xref:processor.adoc[Processor] can
+exposes the underlying APIs so that a xref:ROOT:processor.adoc[Processor] can
 make use of the underlying abstractions if they make sense.
 
 For example:
@@ -38,6 +38,6 @@ has access to the underlying JMS Message objects
 You can probably see a pattern forming now :smile:
 
 For many routing and mediation components and
-xref:processor.adoc[Processor] objects, you maybe don't care about the
+xref:ROOT:processor.adoc[Processor] objects, you maybe don't care about the
 underlying transport and can instead stick to the abstract Camel API.
 But if you need to, the real transport APIs are there for you.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-does-the-website-work.adoc b/docs/user-manual/modules/faq/pages/how-does-the-website-work.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-does-the-website-work.adoc
rename to docs/user-manual/modules/faq/pages/how-does-the-website-work.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-should-i-invoke-my-pojos-or-spring-services.adoc b/docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc
similarity index 61%
rename from docs/user-manual/modules/ROOT/pages/faq/how-should-i-invoke-my-pojos-or-spring-services.adoc
rename to docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc
index 220ba71..946b414 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-should-i-invoke-my-pojos-or-spring-services.adoc
+++ b/docs/user-manual/modules/faq/pages/how-should-i-invoke-my-pojos-or-spring-services.adoc
@@ -2,11 +2,11 @@
 = How should I invoke my POJOs or Spring Services?
 
 The various options are described in detail in
-xref:bean-integration.adoc[Bean Integration], in particular the
-xref:bean-binding.adoc[Bean Binding] describes how we invoke a bean
+xref:ROOT:bean-integration.adoc[Bean Integration], in particular the
+xref:ROOT:bean-binding.adoc[Bean Binding] describes how we invoke a bean
 inside a route.
 
-See the xref:pojo-consuming.adoc[POJO Consuming] for examples using
+See the xref:ROOT:pojo-consuming.adoc[POJO Consuming] for examples using
 either the `@Consume` annotation or using the routing DSL:
 
 [source,java]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-should-i-package-applications-using-camel-and-activemq.adoc b/docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc
similarity index 88%
rename from docs/user-manual/modules/ROOT/pages/faq/how-should-i-package-applications-using-camel-and-activemq.adoc
rename to docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc
index f38fe65..104e731 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-should-i-package-applications-using-camel-and-activemq.adoc
+++ b/docs/user-manual/modules/faq/pages/how-should-i-package-applications-using-camel-and-activemq.adoc
@@ -6,7 +6,7 @@ xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration P
 inside the ActiveMQ Broker. In which case the
 stand alone broker is already packaged to work with Camel out of the
 box; just add your EIP routing rules to ActiveMQ's
-xref:xml-configuration.adoc[XML Configuration] like the example
+xref:ROOT:xml-configuration.adoc[XML Configuration] like the example
 routing rule which ships with ActiveMQ
 5.x or later. If you want to include some Java routing rules, then just
 add your jar to somewhere inside ActiveMQ's lib directory.
@@ -19,4 +19,4 @@ necessary jars and customise the Spring XML and you're good to go.
 == What jars do I need?
 
 * https://activemq.apache.org/initial-configuration.html[What jars are required for ActiveMQ]
-* xref:faq/what-jars-do-i-need.adoc[What jars are required for Camel]
+* xref:what-jars-do-i-need.adoc[What jars are required for Camel]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc b/docs/user-manual/modules/faq/pages/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc
rename to docs/user-manual/modules/faq/pages/how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-avoid-sending-some-or-all-message-headers.adoc b/docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc
similarity index 98%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-avoid-sending-some-or-all-message-headers.adoc
rename to docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc
index c9617c6..9bb4b7d 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-to-avoid-sending-some-or-all-message-headers.adoc
+++ b/docs/user-manual/modules/faq/pages/how-to-avoid-sending-some-or-all-message-headers.adoc
@@ -66,7 +66,7 @@ its name.
 == Use HeaderFilterStrategy
 
 An alternative is that some of the Camel
-xref:component.adoc[Components] supports configuring a custom header
+xref:ROOT:component.adoc[Components] supports configuring a custom header
 filter strategy.
 This allows you to implement the
 `org.apache.camel.spi.HeaderFilterStrategy` interface, where one can
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-create-executable-jar-camel-main.adoc b/docs/user-manual/modules/faq/pages/how-to-create-executable-jar-camel-main.adoc
similarity index 93%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-create-executable-jar-camel-main.adoc
rename to docs/user-manual/modules/faq/pages/how-to-create-executable-jar-camel-main.adoc
index 87294a3..71aa09a 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-to-create-executable-jar-camel-main.adoc
+++ b/docs/user-manual/modules/faq/pages/how-to-create-executable-jar-camel-main.adoc
@@ -4,7 +4,7 @@
 You need to use `maven-shade-plugin` to create executable JAR.
 Be aware that uber jar is not fully tested feature and it is Your responsibility to ensure all services are fully functional.
 You might need some modifications, depending on Your project structure.
-See xref:faq/how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?] for more details.
+See xref:how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?] for more details.
 
 [source]
 ----
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-define-a-static-camel-converter-method-in-scala.adoc b/docs/user-manual/modules/faq/pages/how-to-define-a-static-camel-converter-method-in-scala.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-define-a-static-camel-converter-method-in-scala.adoc
rename to docs/user-manual/modules/faq/pages/how-to-define-a-static-camel-converter-method-in-scala.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc b/docs/user-manual/modules/faq/pages/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc
rename to docs/user-manual/modules/faq/pages/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-send-the-same-message-to-multiple-endpoints.adoc b/docs/user-manual/modules/faq/pages/how-to-send-the-same-message-to-multiple-endpoints.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-send-the-same-message-to-multiple-endpoints.adoc
rename to docs/user-manual/modules/faq/pages/how-to-send-the-same-message-to-multiple-endpoints.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc b/docs/user-manual/modules/faq/pages/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc
rename to docs/user-manual/modules/faq/pages/how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-use-a-dynamic-uri-in-to.adoc b/docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc
similarity index 96%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-use-a-dynamic-uri-in-to.adoc
rename to docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc
index d1b6bb2..be1d2a5 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/how-to-use-a-dynamic-uri-in-to.adoc
+++ b/docs/user-manual/modules/faq/pages/how-to-use-a-dynamic-uri-in-to.adoc
@@ -23,7 +23,7 @@ This snippet is not valid code. Read on.
 
 In this case, you must use an EIP (Enterprise Integration Pattern) that
 is capable of computing a dynamic URI using
-an xref:expression.adoc[Expression], such as
+an xref:ROOT:expression.adoc[Expression], such as
 the xref:{eip-vc}:eips:toD-eip.adoc[ToD] or xref:{eip-vc}:eips:recipientList-eip.adoc[Recipient List] EIP pattern.
 
 [TIP]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/how-to-use-extra-camel-componets-in-servicemix-camel.adoc b/docs/user-manual/modules/faq/pages/how-to-use-extra-camel-componets-in-servicemix-camel.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/how-to-use-extra-camel-componets-in-servicemix-camel.adoc
rename to docs/user-manual/modules/faq/pages/how-to-use-extra-camel-componets-in-servicemix-camel.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/if-i-use-servicemix-when-should-i-use-camel.adoc b/docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc
similarity index 89%
rename from docs/user-manual/modules/ROOT/pages/faq/if-i-use-servicemix-when-should-i-use-camel.adoc
rename to docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc
index 3c8fd42..676d833 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/if-i-use-servicemix-when-should-i-use-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/if-i-use-servicemix-when-should-i-use-camel.adoc
@@ -10,6 +10,6 @@ inside JBI such as
 xref:{eip-vc}:eips:content-based-router-eip.adoc[Content Based Router], routing messages
 between your existing JBI endpoints.
 
-You can also reuse any of the Camel xref:component.adoc[Components]
+You can also reuse any of the Camel xref:ROOT:component.adoc[Components]
 within JBI or expose Camel endpoints as JBI endpoints.
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/images/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png b/docs/user-manual/modules/faq/pages/images/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/images/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
rename to docs/user-manual/modules/faq/pages/images/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
diff --git a/docs/user-manual/modules/ROOT/pages/faq/images/using-getin-or-getout-methods-on-exchange.data/flow.png b/docs/user-manual/modules/faq/pages/images/using-getin-or-getout-methods-on-exchange.data/flow.png
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/images/using-getin-or-getout-methods-on-exchange.data/flow.png
rename to docs/user-manual/modules/faq/pages/images/using-getin-or-getout-methods-on-exchange.data/flow.png
diff --git a/docs/user-manual/modules/faq/pages/index.adoc b/docs/user-manual/modules/faq/pages/index.adoc
new file mode 100644
index 0000000..3e66af2
--- /dev/null
+++ b/docs/user-manual/modules/faq/pages/index.adoc
@@ -0,0 +1,166 @@
+[[FAQ-FAQ]]
+= Frequently Asked Questions
+
+Here are a list of commonly asked questions and answers. If you have any
+questions which are not on this list, please talk to us on the
+xref:ROOT:mailing-lists.adoc[Mailing Lists].
+
+We xref:ROOT:contributing.adoc[welcome contributions] and
+this entire website is in
+xref:how-does-the-website-work.adoc[the GitHub repository you can send a pull request],
+so please join in and help us make the documentation better!
+
+[[FAQ-GeneralQuestions]]
+== General Questions
+
+General questions about Camel
+
+* xref:can-i-get-commercial-support.adoc[Can I get commercial support?]
+* xref:ROOT:support.adoc[How can I get help?]
+* xref:how-can-i-get-the-source-code.adoc[How can I get the source code?]
+* xref:how-does-camel-compare-to-mule.adoc[How does Camel compare to
+Mule?]
+* xref:how-does-camel-compare-to-servicemix.adoc[How does Camel compare
+to ServiceMix?]
+* xref:how-does-camel-compare-to-servicemix-eip.adoc[How does Camel
+compare to ServiceMix EIP?]
+* xref:how-does-camel-compare-to-synapse.adoc[How does Camel compare to
+Synapse?]
+* xref:how-does-camel-work.adoc[How does Camel work?]
+* xref:how-does-camel-work-with-activemq.adoc[How does Camel work with
+ActiveMQ?]
+* xref:how-does-camel-work-with-servicemix.adoc[How does Camel work with
+ServiceMix?]
+* xref:how-does-the-camel-api-compare-to.adoc[How does the Camel API
+compare to?]
+* xref:how-does-the-website-work.adoc[How does the website work?]
+* xref:how-do-i-become-a-committer.adoc[How do I become a committer?]
+* xref:how-do-i-compile-the-code.adoc[How do I compile the code?]
+* xref:how-do-i-edit-the-website.adoc[How do I edit the website?]
+* xref:how-do-i-run-camel-using-java-webstart.adoc[How do I run Camel
+using Java WebStart?]
+* xref:if-i-use-servicemix-when-should-i-use-camel.adoc[If I use
+ServiceMix when should I use Camel?]
+* xref:is-camel-an-esb.adoc[Is Camel an ESB?]
+* xref:is-camel-ioc-friendly.adoc[Is Camel IoC friendly?]
+* xref:running-camel-standalone.adoc[Running Camel standalone]
+* xref:what-are-the-dependencies.adoc[What are the dependencies?]
+* xref:what-is-a-router.adoc[What is a router?]
+* xref:what-is-camel.adoc[What is Camel?]
+* xref:what-is-the-license.adoc[What is the license?]
+* xref:what-jars-do-i-need.adoc[What jars do I need?]
+* xref:ROOT:languages.adoc[What languages are supported?]
+* xref:what-platforms-are-supported.adoc[What platforms are supported?]
+* xref:why-the-name-camel.adoc[Why the name Camel?]
+
+[[FAQ-UsingCamelQuestions]]
+== Using Camel Questions
+
+Questions on using Apache Camel
+
+* xref:classloader-issue-of-servicemix-camel-component.adoc[Classloader issue of servicemix-camel component]
+* xref:how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[How do I specify which method to use when using beans in routes?]
+* xref:how-can-i-create-a-custom-component-or-endpoint.adoc[How can I create a custom component or endpoint?]
+* xref:how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc[How can I get the remote connection IP address from the camel-cxf consumer ?]
+* xref:how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route from a route?]
+* xref:how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc[How can webservice clients see remote faults with stacktraces when using camel-cxf?]
+* xref:how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look up beans and endpoints?]
+* xref:ROOT:configuring-camel.adoc[How do I add a component?]
+* xref:how-do-i-change-the-logging.adoc[How do I change the logging?]
+* xref:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+* xref:how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc[How do I configure password options on Camel endpoints without the value being encoded?]
+* xref:how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc[How do I configure the default maximum cache size for ProducerCache or ProducerTemplate?]
+* xref:how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How do I configure the maximum endpoint cache size for CamelContext?]
+* xref:how-do-i-debug-my-route.adoc[How do I debug my route?]
+* xref:how-do-i-disable-jmx.adoc[How do I disable JMX?]
+* xref:how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How do I enable streams when debug logging messages in Camel?]
+* xref:how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc[How do I handle failures when consuming for example from a FTP server?]
+* xref:how-do-i-import-rests-from-other-xml-files.adoc[How do I import rests from other XML files?]
+* xref:how-do-i-import-routes-from-other-xml-files.adoc[How do I import routes from other XML files?]
+* xref:how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match wildcards?]
+* xref:how-do-i-name-my-routes.adoc[How do I name my routes?]
+* xref:how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
+* xref:how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How do I retrieve the thrown Exception during processing an Exchange?]
+* xref:how-do-i-retry-failed-messages-forever.adoc[How do I retry failed messages forever?]
+* xref:how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc[How do I retry processing a message from a certain point back or an entire route?]
+* xref:how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How do I reuse the ContextTestSupport class in my unit tests?]
+* xref:how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ and Camel in JBoss?]
+* xref:how-do-i-set-the-max-chars-when-debug-logging-messages-in-camel.adoc[How do I set the max chars when debug logging messages in Camel?]
+* xref:how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
+* xref:how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside ServiceMix?]
+* xref:how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do I use Spring Property Placeholder with Camel XML?]
+* xref:how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs with parameters in XML?]
+* xref:how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How do I write a custom Processor which sends multiple messages?]
+* xref:how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I invoke my POJOs or Spring Services?]
+* xref:how-should-i-package-applications-using-camel-and-activemq.adoc[How should I package applications using Camel and ActiveMQ?]
+* xref:how-to-avoid-importing-bunch-of-cxf-packages-when-start-up-the-camel-cxf-endpoint-from-osgi-platform-.adoc[How to avoid importing bunch of cxf packages when start up the camel-cxf endpoint from OSGi platform?]
+* xref:how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid sending some or all message headers?]
+* xref:how-to-create-executable-jar-camel-main.adoc[How to create executable JAR for camel-main project?]
+* xref:how-to-define-a-static-camel-converter-method-in-scala.adoc[How to define a static Camel converter method in Scala?]
+* xref:how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How to remove the http protocol headers in the camel message?]
+* xref:how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send the same message to multiple endpoints?]
+* xref:how-to-switch-the-cxf-consumer-between-http-and-https-without-touching-the-spring-configuration.adoc[How to switch the CXF consumer between HTTP and HTTPS without touching the Spring configuration?]
+* xref:how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in to()?]
+* xref:how-to-use-extra-camel-componets-in-servicemix-camel.adoc[How to use extra Camel componets in servicemix-camel?]
+* xref:is-there-an-ide.adoc[Is there an IDE?]
+* xref:should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc[Should I deploy Camel inside the ActiveMQ broker or in another application?]
+* xref:using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
+* xref:using-getin-or-getout-methods-on-exchange.adoc[Using getIn or getOut methods on Exchange]
+* xref:why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in my password?]
+* xref:why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc[Why can I not use when or otherwise in a Java Camel route?]
+* xref:why-does-ftp-component-not-download-any-files.adoc[Why does FTP component not download any files?]
+* xref:why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc[Why does my file consumer not pick up the file, and how do I let the file consumer use the Camel error handler?]
+* xref:why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why does useOriginalMessage with error handler not work as expected?]
+* xref:why-do-my-message-lose-its-headers-during-routing.adoc[Why do my message lose its headers during routing?]
+* xref:why-is-my-message-body-empty.adoc[Why is my message body empty?]
+* xref:why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my processor not showing up in JConsole?]
+* xref:why-is-the-exception-null-when-i-use-onexception.adoc[Why is the exception null when I use onException?]
+* xref:why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
+
+[[FAQ-LoggingQuestions]]
+== Logging Questions
+
+Questions on logging output from Camel to a console, using the
+xref:components::log-component.adoc[Log] endpoint or JDK 1.4 logging or Log4j etc
+
+* xref:how-do-i-enable-debug-logging.adoc[How do I enable debug logging?]
+* xref:how-do-i-use-java-14-logging.adoc[How do I use Java 1.4 logging?]
+* xref:how-do-i-use-log4j.adoc[How do I use log4j?]
+
+[[FAQ-CamelEndpointQuestions]]
+== Camel Endpoint Questions
+
+Questions on using the various Camel xref:components::index.adoc[Components]
+and xref:ROOT:endpoint.adoc[Endpoint] implementations
+
+* xref:how-do-i-invoke-camel-routes-from-jbi.adoc[How do I invoke Camel routes from JBI?]
+* xref:how-do-i-make-my-jms-endpoint-transactional.adoc[How Do I Make My JMS Endpoint Transactional?]
+* xref:how-do-i-set-the-mep-when-interacting-with-jbi.adoc[How do I set the MEP when interacting with JBI?]
+* xref:how-do-the-direct-event-seda-and-vm-endpoints-compare.adoc[How do the direct, event, seda and vm endpoints compare?]
+* xref:how-do-the-timer-and-quartz-endpoints-compare.adoc[How do the Timer and Quartz endpoints compare?]
+
+[[FAQ-ComponentQuestions]]
+== Component Questions
+
+Questions on using specific components
+
+[[FAQ-JMSQuestions]]
+=== JMS Questions
+
+Questions on using the xref:components::jms-component.adoc[JMS] endpoints in Camel
+
+* xref:why-does-my-jms-route-only-consume-one-message-at-once.adoc[Why does my JMS route only consume one message at once?]
+
+[[FAQ-CommonProblems]]
+== Common Problems
+
+Common Problems that people have when riding the Camel
+
+* xref:exception-beandefinitionstoreexception.adoc[Exception - BeanDefinitionStoreException]
+* xref:exception-javaxnamingnoinitialcontextexception.adoc[Exception - javax.naming.NoInitialContextException]
+* xref:exception-orgapachecamelnosuchendpointexception.adoc[Exception - org.apache.camel.NoSuchEndpointException]
+* xref:exception-orgxmlsaxsaxparseexception.adoc[Exception - org.xml.sax.SAXParseException]
+* xref:memory-leak-when-adding-and-removing-routes-at-runtime.adoc[Memory leak when adding and removing routes at runtime]
+* xref:why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc[Why do Camel throw so many NoClassDefFoundException on startup?]
+* xref:why-does-camel-use-too-many-threads-with-producertemplate.adoc[Why does Camel use too many threads with ProducerTemplate?]
+* xref:why-does-maven-not-download-dependencies.adoc[Why does maven not download dependencies?]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/is-camel-an-esb.adoc b/docs/user-manual/modules/faq/pages/is-camel-an-esb.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/is-camel-an-esb.adoc
rename to docs/user-manual/modules/faq/pages/is-camel-an-esb.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/is-camel-ioc-friendly.adoc b/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc
similarity index 84%
rename from docs/user-manual/modules/ROOT/pages/faq/is-camel-ioc-friendly.adoc
rename to docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc
index e5dcc73..e3e14ab 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/is-camel-ioc-friendly.adoc
+++ b/docs/user-manual/modules/faq/pages/is-camel-ioc-friendly.adoc
@@ -16,12 +16,12 @@ can be configured in Spring using Spring custom XML namespaces or
 traditional bean/property elements
 * we implement a spring BeanPostProcessor to allow POJOs to be injected
 with Camel resources along with powerful
-xref:bean-integration.adoc[Bean Integration] which allows any
+xref:ROOT:bean-integration.adoc[Bean Integration] which allows any
 spring-injected POJO to be used inside Camel along with full support
 for Spring Remoting.
 
 What we've tried to do is implement the
-xref:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control With Smart Defaults]
+xref:ROOT:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control With Smart Defaults]
 pattern; namely that you can configure Camel in a
 single XML element (or very small amont of XML) to get going, then you
 can overload default configurations to add more explicit configuration
@@ -41,11 +41,11 @@ We hope to have closer integration to other IoC containers.
 The current mechanism for hooking into other IoC containers
 are:
 
-* xref:injector.adoc[Injector] is used to perform dependency injection
+* xref:ROOT:injector.adoc[Injector] is used to perform dependency injection
 on a type when sing the
-xref:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control
+xref:ROOT:inversion-of-control-with-smart-defaults.adoc[Inversion Of Control
 With Smart Defaults] pattern
-* xref:registry.adoc[Registry] this strategy is used to abstract away
+* xref:ROOT:registry.adoc[Registry] this strategy is used to abstract away
 the ApplicationContext such as to use JNDI or OSGi to lookup services on
 demand
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/is-there-an-ide.adoc b/docs/user-manual/modules/faq/pages/is-there-an-ide.adoc
similarity index 66%
rename from docs/user-manual/modules/ROOT/pages/faq/is-there-an-ide.adoc
rename to docs/user-manual/modules/faq/pages/is-there-an-ide.adoc
index eba31fa..3fc79a9 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/is-there-an-ide.adoc
+++ b/docs/user-manual/modules/faq/pages/is-there-an-ide.adoc
@@ -4,11 +4,11 @@
 Apache Camel offers no IDE out of the box.
 
 You could use your Java IDE for smart completion when creating
-xref:routes.adoc[Java routing rules] via the xref:dsl.adoc[DSL] which
+xref:ROOT:routes.adoc[Java routing rules] via the xref:ROOT:dsl.adoc[DSL] which
 will give you smart completion in Java code.
 Or you can use your XML IDE (with XSD smart completion) to edit the
 xref:components::spring.adoc[routing rules in XML] using the
-xref:xml-configuration.adoc[XML Configuration]
+xref:ROOT:xml-configuration.adoc[XML Configuration]
 
-Some of the xref:commercial-camel-offerings.adoc[Commercial Companies]
+Some of the xref:ROOT:commercial-camel-offerings.adoc[Commercial Companies]
 offers IDE's and other tooling for Camel.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/memory-leak-when-adding-and-removing-routes-at-runtime.adoc b/docs/user-manual/modules/faq/pages/memory-leak-when-adding-and-removing-routes-at-runtime.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/memory-leak-when-adding-and-removing-routes-at-runtime.adoc
rename to docs/user-manual/modules/faq/pages/memory-leak-when-adding-and-removing-routes-at-runtime.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/running-camel-standalone.adoc b/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc
similarity index 68%
rename from docs/user-manual/modules/ROOT/pages/faq/running-camel-standalone.adoc
rename to docs/user-manual/modules/faq/pages/running-camel-standalone.adoc
index ec5b66e..5c0a1fe 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/running-camel-standalone.adoc
+++ b/docs/user-manual/modules/faq/pages/running-camel-standalone.adoc
@@ -2,24 +2,24 @@
 = Is it possible to start Camel as a standalone application, without embedding it in another application?
 
 Yes, Camel can run standalone or in any container. Running Standalone is
-as simple just to create a xref:camelcontext.adoc[CamelContext], add
+as simple just to create a xref:ROOT:camelcontext.adoc[CamelContext], add
 routes and start it. If you don't want to write your own Java main, you
 could use the one from xref:components::spring.adoc[camel-spring]
 (https://www.javadoc.io/doc/org.apache.camel/camel-spring/current/index.html) also used
-by the xref:camel-maven-plugin.adoc[Camel Maven Plugin].
+by the xref:ROOT:camel-maven-plugin.adoc[Camel Maven Plugin].
 
 The starting guide is a good place to start: +
-xref:getting-started.adoc[Getting Started]
+xref:ROOT:getting-started.adoc[Getting Started]
 
 And the concrete walk through a plain old java main example: +
-xref:walk-through-an-example.adoc[Walk through an Example]
+xref:ROOT:walk-through-an-example.adoc[Walk through an Example]
 
 The FAQ have some more details: +
-xref:faq.adoc[FAQ]
+xref:index.adoc[FAQ]
 
 And if you use Maven for your projects Camel has maven tools to boot up
 in standalone mode and quickly run you Camel application: +
-xref:camel-maven-plugin.adoc[Camel Maven Plugin]
+xref:ROOT:camel-maven-plugin.adoc[Camel Maven Plugin]
 
-This is how you can run the xref:examples.adoc[Examples] that is
+This is how you can run the xref:ROOT:examples.adoc[Examples] that is
 included in the Camel distribution.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc b/docs/user-manual/modules/faq/pages/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc
rename to docs/user-manual/modules/faq/pages/should-i-deploy-camel-inside-the-activemq-broker-or-in-another-application.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/using-camel-core-testsjar.adoc b/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
similarity index 85%
rename from docs/user-manual/modules/ROOT/pages/faq/using-camel-core-testsjar.adoc
rename to docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
index 9da9824..9e78921 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/using-camel-core-testsjar.adoc
+++ b/docs/user-manual/modules/faq/pages/using-camel-core-testsjar.adoc
@@ -6,4 +6,4 @@ JAR is only used internally by Camel itself when it tests the same unit
 tests using different DSL such as Spring XML, Blueprint XML, etc.
 
 End users who need a test kit should use `camel-test`
-JARs instead. See more here xref:testing.adoc[Testing].
+JARs instead. See more here xref:ROOT:testing.adoc[Testing].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc b/docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc
similarity index 86%
rename from docs/user-manual/modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc
rename to docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc
index 95ac28c..bee4f72 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/using-getin-or-getout-methods-on-exchange.adoc
+++ b/docs/user-manual/modules/faq/pages/using-getin-or-getout-methods-on-exchange.adoc
@@ -12,7 +12,7 @@ The MEP defines the messaging style used such as one-way
 which means you have IN and optionally OUT messages. This closely maps
 to other APIs such as WS, WSDL, REST, JBI and the likes.
 
-The xref:exchange.adoc[Exchange] API provides two methods to get a
+The xref:ROOT:exchange.adoc[Exchange] API provides two methods to get a
 message, either `getIn` or `getOut`.
 Obviously the `getIn` gets the IN message, and the `getOut` gets the OUT
 message.
@@ -40,7 +40,7 @@ instead.
 [[UsinggetInorgetOutmethodsonExchange-UsinggetInorgetOutmethodsonExchange]]
 == Using getIn or getOut methods on Exchange
 
-Now suppose you want to use a Camel xref:processor.adoc[Processor] to
+Now suppose you want to use a Camel xref:ROOT:processor.adoc[Processor] to
 adjust a message. This can be done as follows:
 
 [source,java]
@@ -53,7 +53,7 @@ public void process(Exchange exchange) throws Exception {
 ----
 
 This seems intuitive and is what you would expect is the _right_
-approach to change a message from a xref:processor.adoc[Processor].
+approach to change a message from a xref:ROOT:processor.adoc[Processor].
 However there is an big issue -- the `getOut` method will create a new
 xref:{eip-vc}:eips:message.adoc[Message], which means any other information
 from the IN message will not be propagated; which means you will lose
@@ -113,19 +113,19 @@ And therefore it's often easier just to adjust the IN message directly.
 ====
 
 Changing the IN message directly is possible in Camel as it doesn't
-mind. Camel will detect that the xref:exchange.adoc[Exchange] has no OUT
+mind. Camel will detect that the xref:ROOT:exchange.adoc[Exchange] has no OUT
 message and therefore use the IN message instead.
 
 [[UsinggetInorgetOutmethodsonExchange-AboutMessageExchangePatternandgetOut]]
 == About Message Exchange Pattern and getOut
 
-If the xref:exchange.adoc[Exchange] is using `InOnly` as the MEP, then
-you may think that the xref:exchange.adoc[Exchange] has no OUT
+If the xref:ROOT:exchange.adoc[Exchange] is using `InOnly` as the MEP, then
+you may think that the xref:ROOT:exchange.adoc[Exchange] has no OUT
 message. But you can still invoke the `getOut` method on
-xref:exchange.adoc[Exchange]; Camel will not barf.
+xref:ROOT:exchange.adoc[Exchange]; Camel will not barf.
 
 So the example code above is possible for any kind of MEP. The MEP is
-_just_ a flag on the xref:exchange.adoc[Exchange] which the Consumer and
+_just_ a flag on the xref:ROOT:exchange.adoc[Exchange] which the Consumer and
 Producer adhere to.
-You can change the MEP on the xref:exchange.adoc[Exchange] using the
+You can change the MEP on the xref:ROOT:exchange.adoc[Exchange] using the
 `setPattern` method. And likewise there is DSL to change it as well.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/what-are-the-dependencies.adoc b/docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc
similarity index 96%
rename from docs/user-manual/modules/ROOT/pages/faq/what-are-the-dependencies.adoc
rename to docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc
index 321cbb2..6229708 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/what-are-the-dependencies.adoc
+++ b/docs/user-manual/modules/faq/pages/what-are-the-dependencies.adoc
@@ -58,7 +58,7 @@ From *Camel 2.9*: the Spring JARs are no longer required for using JMX.
 [[Whatarethedependencies-OtherComponents]]
 == Other Components
 
-All the other xref:component.adoc[Components] have a range of 3rd party
+All the other xref:ROOT:component.adoc[Components] have a range of 3rd party
 .jars they depend on. They are listed in the maven pom files which files
 they require.
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/what-is-a-router.adoc b/docs/user-manual/modules/faq/pages/what-is-a-router.adoc
similarity index 76%
rename from docs/user-manual/modules/ROOT/pages/faq/what-is-a-router.adoc
rename to docs/user-manual/modules/faq/pages/what-is-a-router.adoc
index b21ca94..9d2b1c3 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/what-is-a-router.adoc
+++ b/docs/user-manual/modules/faq/pages/what-is-a-router.adoc
@@ -5,19 +5,19 @@ We often talk about that Camel is a mediation and routing framework; so
 what exactly is a router and what does it do?
 
 Basically a router just consumes xref:{eip-vc}:eips:message.adoc[Message] exchanges
-from some xref:endpoint.adoc[Endpoint], then sends them on to some other
-xref:endpoint.adoc[Endpoint] using some kind of
+from some xref:ROOT:endpoint.adoc[Endpoint], then sends them on to some other
+xref:ROOT:endpoint.adoc[Endpoint] using some kind of
 xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integration
 Patterns].
 
 For example a router could implement the
 xref:{eip-vc}:eips:content-based-router-eip.adoc[Content Based Router] pattern, to route
 from an endpoint to one or more destination endpoints using a
-xref:predicate.adoc[Predicate] based on the message content.
+xref:ROOT:predicate.adoc[Predicate] based on the message content.
 
 Typically a route or router consists of one or more consumers; either an
 xref:{eip-vc}:eips:eventDrivenConsumer-eip.adoc[Event Driven Consumer] or a
 xref:{eip-vc}:eips:polling-consumer.adoc[Polling Consumer] or possibly a
 xref:{eip-vc}:eips:transactional-client.adoc[Transactional Client]. Then there are one
-or more xref:processor.adoc[Processor] instances which could send the
+or more xref:ROOT:processor.adoc[Processor] instances which could send the
 message to one or more endpoints.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/what-is-camel.adoc b/docs/user-manual/modules/faq/pages/what-is-camel.adoc
similarity index 66%
rename from docs/user-manual/modules/ROOT/pages/faq/what-is-camel.adoc
rename to docs/user-manual/modules/faq/pages/what-is-camel.adoc
index 7017f92..0243a5f 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/what-is-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/what-is-camel.adoc
@@ -6,32 +6,32 @@ known xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[Enterprise Integra
 Patterns].
 
 Camel empowers you to define routing and mediation rules in a variety of
-domain-specific languages, including a Java-based xref:dsl.adoc[Fluent
-API], xref:spring.adoc[Spring] or
-xref:using-osgi-blueprint-with-camel.adoc[Blueprint]
-xref:xml-configuration.adoc[XML Configuration] files.
+domain-specific languages, including a Java-based xref:ROOT:dsl.adoc[Fluent
+API], xref:ROOT:spring.adoc[Spring] or
+xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint]
+xref:ROOT:xml-configuration.adoc[XML Configuration] files.
 This means you get smart completion of
 routing rules in your IDE, whether in a Java or XML editor.
 
-Apache Camel uses xref:uris.adoc[URIs] to work directly with any kind of
-xref:transport.adoc[Transport] or messaging model such as
+Apache Camel uses xref:ROOT:uris.adoc[URIs] to work directly with any kind of
+xref:ROOT:transport.adoc[Transport] or messaging model such as
 xref:components::http-component.adoc[HTTP], xref:components::activemq-component.adoc[ActiveMQ], xref:components::jms-component.adoc[JMS],
 JBI, SCA, xref:components::mina-component.adoc[MINA] or xref:components::cxf-component.adoc[CXF], as
-well as pluggable xref:component.adoc[Components] and
-xref:data-format.adoc[Data Format] options. Apache Camel is a small
-library with minimal xref:what-are-the-dependencies.adoc[dependencies]
+well as pluggable xref:ROOT:component.adoc[Components] and
+xref:ROOT:data-format.adoc[Data Format] options. Apache Camel is a small
+library with minimal xref:ROOT:what-are-the-dependencies.adoc[dependencies]
 for easy embedding in any Java application. Apache Camel lets you work
-with the same xref:exchange.adoc[API] regardless which kind of
-xref:transport.adoc[Transport] is used -- so learn the API once and you
+with the same xref:ROOT:exchange.adoc[API] regardless which kind of
+xref:ROOT:transport.adoc[Transport] is used -- so learn the API once and you
 can interact with all the xref:components::index.adoc[Components] provided
 out-of-box.
 
-Apache Camel provides support for xref:bean-binding.adoc[Bean Binding]
+Apache Camel provides support for xref:ROOT:bean-binding.adoc[Bean Binding]
 and seamless integration with popular frameworks such as
-xref:components::cdi.adoc[CDI], xref:spring.adoc[Spring] and
-xref:using-osgi-blueprint-with-camel.adoc[Blueprint].
+xref:components::cdi.adoc[CDI], xref:ROOT:spring.adoc[Spring] and
+xref:ROOT:using-osgi-blueprint-with-camel.adoc[Blueprint].
 Camel also has extensive support for
-xref:testing.adoc[unit testing] your routes.
+xref:ROOT:testing.adoc[unit testing] your routes.
 
 The following projects can leverage Apache Camel as a routing and
 mediation engine:
diff --git a/docs/user-manual/modules/ROOT/pages/faq/what-is-the-license.adoc b/docs/user-manual/modules/faq/pages/what-is-the-license.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/what-is-the-license.adoc
rename to docs/user-manual/modules/faq/pages/what-is-the-license.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/what-jars-do-i-need.adoc b/docs/user-manual/modules/faq/pages/what-jars-do-i-need.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/what-jars-do-i-need.adoc
rename to docs/user-manual/modules/faq/pages/what-jars-do-i-need.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/what-platforms-are-supported.adoc b/docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc
similarity index 85%
rename from docs/user-manual/modules/ROOT/pages/faq/what-platforms-are-supported.adoc
rename to docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc
index d61f19f..32dcfc8 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/what-platforms-are-supported.adoc
+++ b/docs/user-manual/modules/faq/pages/what-platforms-are-supported.adoc
@@ -5,4 +5,4 @@ Any platform supporting JDK 6.
 
 We regularly test Camel on Linux, Windows and OS X. If you have a
 platform that is not listed contact one of the companies that provide
-xref:support.adoc[commercial support].
+xref:ROOT:support.adoc[commercial support].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc b/docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
similarity index 98%
rename from docs/user-manual/modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
rename to docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
index 6f8e5ff..306ec53 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
+++ b/docs/user-manual/modules/faq/pages/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.adoc
@@ -55,7 +55,7 @@ from("direct:start")
 
 But the code will still not compile. The reason is we have stretched how
 far we can take the good old Java language in terms of
-xref:dsl.adoc[DSL]. In a more modern language such as
+xref:ROOT:dsl.adoc[DSL]. In a more modern language such as
 Scala or Groovy you would be able
 to let it be stack based, so the `.end()` will pop the last type of the
 stack, and you would return back to the scope of the
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-cant-i-use-sign-in-my-password.adoc b/docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc
similarity index 75%
rename from docs/user-manual/modules/ROOT/pages/faq/why-cant-i-use-sign-in-my-password.adoc
rename to docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc
index 7eec697..75ae072 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-cant-i-use-sign-in-my-password.adoc
+++ b/docs/user-manual/modules/faq/pages/why-cant-i-use-sign-in-my-password.adoc
@@ -3,12 +3,12 @@
 
 How do I configure password options on Camel endpoints without the value being encoded?
 
-When you configure Camel endpoints using xref:uris.adoc[URIs] then the
+When you configure Camel endpoints using xref:ROOT:uris.adoc[URIs] then the
 parameter values gets url encoded by default.
 This can be a problem when you want to configure passwords _as is_.
 
 To do that you can tell Camel to use the raw value, by enclosing the
 value with RAW(value). See more details at
-xref:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+xref:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
 which has an example also.
 
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc b/docs/user-manual/modules/faq/pages/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc
similarity index 90%
rename from docs/user-manual/modules/ROOT/pages/faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc
rename to docs/user-manual/modules/faq/pages/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc
index e71c511..4405229 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc
+++ b/docs/user-manual/modules/faq/pages/why-do-camel-throw-so-many-noclassdeffoundexception-on-startup.adoc
@@ -14,4 +14,4 @@ converters rely on 3rd. party .jar files.
 To remedy this either add the missing .jars to the classpath, or stop
 using the big .jar and use the fine grained jars.
 
-See also xref:faq/how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
+See also xref:how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-do-my-message-lose-its-headers-during-routing.adoc b/docs/user-manual/modules/faq/pages/why-do-my-message-lose-its-headers-during-routing.adoc
similarity index 64%
rename from docs/user-manual/modules/ROOT/pages/faq/why-do-my-message-lose-its-headers-during-routing.adoc
rename to docs/user-manual/modules/faq/pages/why-do-my-message-lose-its-headers-during-routing.adoc
index 6e0c091..8ec14df 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-do-my-message-lose-its-headers-during-routing.adoc
+++ b/docs/user-manual/modules/faq/pages/why-do-my-message-lose-its-headers-during-routing.adoc
@@ -1,4 +1,4 @@
 [[Whydomymessageloseitsheadersduringrouting-Whydomymessageloseitsheadersduringrouting]]
 = Why do my message lose its headers during routing?
 
-See this xref:faq/using-getin-or-getout-methods-on-exchange.adoc[FAQ entry].
+See this xref:using-getin-or-getout-methods-on-exchange.adoc[FAQ entry].
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc b/docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc
similarity index 95%
rename from docs/user-manual/modules/ROOT/pages/faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc
rename to docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc
index 754b0e9..feff18f 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-does-camel-use-too-many-threads-with-producertemplate.adoc
+++ b/docs/user-manual/modules/faq/pages/why-does-camel-use-too-many-threads-with-producertemplate.adoc
@@ -2,7 +2,7 @@
 = Why does Camel use too many threads with `ProducerTemplate`?
 
 A common reason is creating a new `ProducerTemplate` inside a `Processor` or
-xref:bean-integration.adoc[bean method invocation].
+xref:ROOT:bean-integration.adoc[bean method invocation].
 
 You are not meant to create a `ProducerTemplate` for each message
 invocation; you are meant to create a single instance on startup and
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-does-ftp-component-not-download-any-files.adoc b/docs/user-manual/modules/faq/pages/why-does-ftp-component-not-download-any-files.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/why-does-ftp-component-not-download-any-files.adoc
rename to docs/user-manual/modules/faq/pages/why-does-ftp-component-not-download-any-files.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-does-maven-not-download-dependencies.adoc b/docs/user-manual/modules/faq/pages/why-does-maven-not-download-dependencies.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/why-does-maven-not-download-dependencies.adoc
rename to docs/user-manual/modules/faq/pages/why-does-maven-not-download-dependencies.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/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 b/docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
similarity index 83%
rename from docs/user-manual/modules/ROOT/pages/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
rename to docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
index 1d80fc7..8163788 100644
--- a/docs/user-manual/modules/ROOT/pages/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
+++ b/docs/user-manual/modules/faq/pages/why-does-my-file-consumer-not-pick-up-the-file-and-how-do-i-let-the-file-consumer-use-the-camel-error-handler.adoc
@@ -4,9 +4,9 @@
 There could be several reasons why the xref:components::file-component.adoc[File] consumer is
 not picking up files. For example it may not run at all, or it cannot
 acquire a read lock on the file.
-xref:faq.adoc#FAQ-LoggingQuestions[Check the logs] for any exceptions or other
+xref:index.adoc#FAQ-LoggingQuestions[Check the logs] for any exceptions or other
 informative messages. You can
-xref:faq/how-do-i-enable-debug-logging.adoc[turn on DEBUG logging] at
+xref:how-do-i-enable-debug-logging.adoc[turn on DEBUG logging] at
 `org.apache.camel.component.file` to see more detail.
 
 [[WhydoesmyfileconsumernotpickupthefileandhowdoIletthefileconsumerusetheCamelerrorhandler-HowtouseCamelsroutingerrorhandlerswiththefileconsumer]]
@@ -14,16 +14,16 @@ xref:faq/how-do-i-enable-debug-logging.adoc[turn on DEBUG logging] at
 
 Well, this is really a
 http://en.wikipedia.org/wiki/Chicken_or_the_egg["chicken or the egg"]
-question. The Camel xref:error-handling-in-camel.adoc[error handler]
+question. The Camel xref:ROOT:error-handling-in-camel.adoc[error handler]
 (e.g., in the routes) only applies when a message is being routed by the
 routing engine.
 Before this happens, a consumer must successfully receive a message,
-create a Camel xref:exchange.adoc[Exchange], populate the
-xref:exchange.adoc[Exchange] with message details (e.g., body and
-headers), and then pass the xref:exchange.adoc[Exchange] to the routing
+create a Camel xref:ROOT:exchange.adoc[Exchange], populate the
+xref:ROOT:exchange.adoc[Exchange] with message details (e.g., body and
+headers), and then pass the xref:ROOT:exchange.adoc[Exchange] to the routing
 engine. Only at this point can the routing error handler deal with
 exceptions occurring. Before this point, any error handling is really
-xref:component.adoc[component]-specific.
+xref:ROOT:component.adoc[component]-specific.
 
 [NOTE]
 ====
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-does-my-jms-route-only-consume-one-message-at-once.adoc b/docs/user-manual/modules/faq/pages/why-does-my-jms-route-only-consume-one-message-at-once.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/why-does-my-jms-route-only-consume-one-message-at-once.adoc
rename to docs/user-manual/modules/faq/pages/why-does-my-jms-route-only-consume-one-message-at-once.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc b/docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
similarity index 83%
rename from docs/user-manual/modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
rename to docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
index e163db7..bf8b271 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
+++ b/docs/user-manual/modules/faq/pages/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc
@@ -1,8 +1,8 @@
 [[WhydoesuseOriginalMessagewitherrorhandlernotworkasexpected-WhydoesuseOriginalMessagewitherrorhandlernotworkasexpected]]
 = Why does useOriginalMessage with error handler not work as expected?
 
-If you use the xref:exception-clause.adoc[useOriginalMessage] option
-from the Camel xref:exception-clause.adoc[Error Handler] then it matters
+If you use the xref:ROOT:exception-clause.adoc[useOriginalMessage] option
+from the Camel xref:ROOT:exception-clause.adoc[Error Handler] then it matters
 if you use this with xref:{eip-vc}:eips:enterprise-integration-patterns.adoc[EIP]s such as:
 
 * xref:{eip-vc}:eips:recipientList-eip.adoc[Recipient List]
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-is-my-message-body-empty.adoc b/docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc
similarity index 91%
rename from docs/user-manual/modules/ROOT/pages/faq/why-is-my-message-body-empty.adoc
rename to docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc
index 4ac8e19..61e5a81 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-is-my-message-body-empty.adoc
+++ b/docs/user-manual/modules/faq/pages/why-is-my-message-body-empty.adoc
@@ -14,6 +14,6 @@ This happens with types that are streaming based, such as
 A number of Camel components supports and use streaming types out of the
 box. For example the HTTP related components, CXF, etc.
 
-Camel offers a functionality xref:stream-caching.adoc[Stream caching];
+Camel offers a functionality xref:ROOT:stream-caching.adoc[Stream caching];
 that caches the stream, so it can be re-readable. By enabling this
 cache, the message body would no longer be empty.
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-is-my-processor-not-showing-up-in-jconsole.adoc b/docs/user-manual/modules/faq/pages/why-is-my-processor-not-showing-up-in-jconsole.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/why-is-my-processor-not-showing-up-in-jconsole.adoc
rename to docs/user-manual/modules/faq/pages/why-is-my-processor-not-showing-up-in-jconsole.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-is-the-exception-null-when-i-use-onexception.adoc b/docs/user-manual/modules/faq/pages/why-is-the-exception-null-when-i-use-onexception.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/why-is-the-exception-null-when-i-use-onexception.adoc
rename to docs/user-manual/modules/faq/pages/why-is-the-exception-null-when-i-use-onexception.adoc
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-the-name-camel.adoc b/docs/user-manual/modules/faq/pages/why-the-name-camel.adoc
similarity index 94%
rename from docs/user-manual/modules/ROOT/pages/faq/why-the-name-camel.adoc
rename to docs/user-manual/modules/faq/pages/why-the-name-camel.adoc
index 5e6ecc5..1e3c34d 100644
--- a/docs/user-manual/modules/ROOT/pages/faq/why-the-name-camel.adoc
+++ b/docs/user-manual/modules/faq/pages/why-the-name-camel.adoc
@@ -2,12 +2,12 @@
 = Why did you choose the name Camel?
 
 * it stands for Concise Application Message Exchange Language (i.e. the
-Java xref:dsl.adoc[DSL] for routing)
+Java xref:ROOT:dsl.adoc[DSL] for routing)
 * a Camel can carry http://www.fao.org/sd/EGdirect/EGan0006.htm[4 times
 the load] of other beasts of burden
 * a Camel can travel for great distances without water; similarly a
 Camel does not require bucket loads of XML as you can use a pure Java
-xref:dsl.adoc[DSL]
+xref:ROOT:dsl.adoc[DSL]
 * some members of the team used to love Camel cigarettes!
 * it's short, simple and easy to remember name
 * very fast, even when the going gets tough!
diff --git a/docs/user-manual/modules/ROOT/pages/faq/why-use-multiple-camelcontext.adoc b/docs/user-manual/modules/faq/pages/why-use-multiple-camelcontext.adoc
similarity index 100%
rename from docs/user-manual/modules/ROOT/pages/faq/why-use-multiple-camelcontext.adoc
rename to docs/user-manual/modules/faq/pages/why-use-multiple-camelcontext.adoc