[
https://issues.apache.org/jira/browse/CAMEL-11497?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16659294#comment-16659294
]
ASF GitHub Bot commented on CAMEL-11497:
----------------------------------------
oscerd closed pull request #2574: CAMEL-11497: Migrate FAQ - Using Camel
Questions - part1
URL: https://github.com/apache/camel/pull/2574
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/camel-core/src/main/docs/eips/dead-letter-channel.adoc
b/camel-core/src/main/docs/eips/dead-letter-channel.adoc
index 8aab98be37a..f25da2406ce 100644
--- a/camel-core/src/main/docs/eips/dead-letter-channel.adoc
+++ b/camel-core/src/main/docs/eips/dead-letter-channel.adoc
@@ -1,4 +1,4 @@
-[[DeadLetterChannel-DeadLetterChannel]]
+[[deadLetterChannel-eip]]
== Dead Letter Channel
Camel supports the
@@ -37,7 +37,7 @@ TIP: *Difference between Dead Letter Channel and Default Error
Handler* The Default Error Handler does very little: it ends the Exchange
immediately and propagates the thrown Exception back to the caller.
-[[DeadLetterChannel-Redelivery]]
+[[deadLetterChannel-Redelivery]]
=== Redelivery
It is common for a temporary outage or database deadlock to cause a
@@ -64,16 +64,16 @@ timings
Once all attempts at redelivering the message fails then the message is
forwarded to the dead letter queue.
-[[DeadLetterChannel-AboutmovingExchangetodeadletterqueueandusinghandled]]
+[[deadLetterChannel-AboutmovingExchangetodeadletterqueueandusinghandled]]
=== About moving Exchange to dead letter queue and using handled
-*Handled* on <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>>
+*Handled* on <<deadLetterChannel-eip,Dead Letter Channel>>
When all attempts of redelivery have failed the
link:exchange.html[Exchange] is moved to the dead letter queue (the dead
letter endpoint). The exchange is then complete and from the client
point of view it was processed. As such the
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> have handled the
+<<deadLetterChannel-eip,Dead Letter Channel>> have handled the
link:exchange.html[Exchange].
For instance configuring the dead letter channel as:
@@ -103,14 +103,14 @@ And in XML:
</bean>
----
-The <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> above will
clear
+The <<deadLetterChannel-eip,Dead Letter Channel>> above will clear
the caused exception (`setException(null)`), by moving the caused
exception to a property on the link:exchange.html[Exchange], with the
key `Exchange.EXCEPTION_CAUGHT`. Then the link:exchange.html[Exchange]
is moved to the `"jms:queue:dead"` destination and the client will not
notice the failure.
-[[DeadLetterChannel-AboutmovingExchangetodeadletterqueueandusingtheoriginalmessage]]
+[[deadLetterChannel-AboutmovingExchangetodeadletterqueueandusingtheoriginalmessage]]
=== Moving Exchange to dead letter queue and using the original message
The option *useOriginalMessage* is used for routing the original input
@@ -131,7 +131,7 @@ The route listen for JMS messages and validates, transforms
and handle
it. During this the link:exchange.html[Exchange] payload is
transformed/modified. So in case something goes wrong and we want to
move the message to another JMS destination, then we can configure our
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> with the
+<<deadLetterChannel-eip,Dead Letter Channel>> with the
*useOriginalMessage* option. But when we move the
link:exchange.html[Exchange] to this destination we do not know in which
state the message is in. Did the error happen in before the
@@ -151,10 +151,10 @@ If we want to manually retry we can move the JMS message
from the failed
to the input queue, with no problem as the message is the same as the
original we received.
-[[DeadLetterChannel-OnRedelivery]]
+[[deadLetterChannel-OnRedelivery]]
=== OnRedelivery
-When <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> is doing
+When <<deadLetterChannel-eip,Dead Letter Channel>> is doing
redeliver its possible to configure a link:processor.html[Processor]
that is executed just *before* every redelivery attempt. This can be
used for the situations where you need to alter the message before its
@@ -164,11 +164,11 @@ TIP: *onException and onRedeliver*
We also support for per link:exception-clause.html[*onException*] to set
a *onRedeliver*. That means you can do special on redelivery for
different exceptions, as opposed to onRedelivery set on
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> can be viewed as a
+<<deadLetterChannel-eip,Dead Letter Channel>> can be viewed as a
global scope.
-[[DeadLetterChannel-Redeliverydefaultvalues]]
+[[deadLetterChannel-Redeliverydefaultvalues]]
=== Redelivery default values
Redelivery is disabled by default.
@@ -207,7 +207,7 @@ retryAttemptedLogLevel.
You can turn logging of stack traces on/off. If turned off Camel will
still log the redelivery attempt. Its just much less verbose.
-[[DeadLetterChannel-RedeliverDelayPattern]]
+[[deadLetterChannel-RedeliverDelayPattern]]
=== Redeliver Delay Pattern
Delay pattern is used as a single option to set a range pattern for
@@ -258,7 +258,7 @@ previous. You can use any delay value you like. For example
with
`delayPattern=1:5000;3:1000` we start with 5 sec delay and then later
reduce that to 1 second.
-[[DeadLetterChannel-Redeliveryheader]]
+[[deadLetterChannel-Redeliveryheader]]
=== Redelivery header
When a message is redelivered the
@@ -282,7 +282,7 @@ In Camel 2.9 and 2.8.2: The header is
*CamelRedeliveryDelay*, which is
also defined on the `Exchange.REDELIVERY_DELAY`.
Is this header is absent, normal redelivery rules apply.
-[[DeadLetterChannel-Whichendpointfailed]]
+[[deadLetterChannel-Whichendpointfailed]]
=== Which endpoint failed
*Available as of Camel 2.1*
@@ -337,7 +337,7 @@ Now suppose the route above and a failure happens in the
`foo` bean.
Then the `Exchange.TO_ENDPOINT` and `Exchange.FAILURE_ENDPOINT` will
still contain the value of `http://someserver/somepath`.
-[[DeadLetterChannel-OnPrepareFailure]]
+[[deadLetterChannel-OnPrepareFailure]]
=== OnPrepareFailure
*Available as of Camel 2.16*
@@ -378,13 +378,13 @@ Configuring this from XML DSL is as shown:
The onPrepare is also available using the default error handler.
-[[DeadLetterChannel-Whichroutefailed]]
+[[deadLetterChannel-Whichroutefailed]]
=== Which route failed
*Available as of Camel 2.10.4/2.11*
When Camel error handler handles an error such as
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> or using
+<<deadLetterChannel-eip,Dead Letter Channel>> or using
link:exception-clause.html[Exception Clause] with handled=true, then
Camel will decorate +
the link:exchange.html[Exchange] with the route id where the error
@@ -401,7 +401,7 @@ The `Exchange.FAILURE_ROUTE_ID` have the constant value
This allows for example you to fetch this information in your dead
letter queue and use that for error reporting.
-[[DeadLetterChannel-Controlifredeliveryisallowedduringstoppingshutdown]]
+[[deadLetterChannel-Controlifredeliveryisallowedduringstoppingshutdown]]
=== Control if redelivery is allowed during stopping/shutdown
*Available as of Camel 2.11*
@@ -427,7 +427,7 @@ DSL
And the sample sample with XML DSL
-[[DeadLetterChannel-Samples]]
+[[deadLetterChannel-Samples]]
=== Samples
The following example shows how to configure the Dead Letter Channel
@@ -437,27 +437,27 @@ You can also configure the
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/RedeliveryPolicy.html[RedeliveryPolicy]
as this example shows
-[[DeadLetterChannel-HowcanImodifytheExchangebeforeredelivery]]
+[[deadLetterChannel-HowcanImodifytheExchangebeforeredelivery]]
=== How can I modify the Exchange before redelivery?
We support directly in link:dead-letter-channel.html[Dead Letter
Channel] to set a link:processor.html[Processor] that is executed
*before* each redelivery attempt.
-When <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> is doing
+When <<deadLetterChannel-eip,Dead Letter Channel>> is doing
redeliver its possible to configure a link:processor.html[Processor]
that is executed just *before* every redelivery attempt. This can be
used for the situations where you need to alter the message before its
redelivered.
-Here we configure the <<DeadLetterChannel-DeadLetterChannel,Dead Letter
Channel>>
+Here we configure the <<deadLetterChannel-eip,Dead Letter Channel>>
to use our processor `MyRedeliveryProcessor` to be executed before each
redelivery.
And this is the processor `MyRedeliveryProcessor` where we alter the
message.
-[[DeadLetterChannel-HowcanIlogwhatcausedtheDeadLetterChanneltobeinvoked]]
+[[deadLetterChannel-HowcanIlogwhatcausedtheDeadLetterChanneltobeinvoked]]
=== How can I log what caused the Dead Letter Channel to be invoked?
You often need to know what went wrong that caused the Dead Letter
@@ -468,7 +468,7 @@ Exchange and log the Exception, then forward on to where we
want the
failed Exchange moved to (which might be a DLQ queue for instance). See
also
http://stackoverflow.com/questions/13711462/logging-camel-exceptions-and-sending-to-the-dead-letter-channel[http://stackoverflow.com/questions/13711462/logging-camel-exceptions-and-sending-to-the-dead-letter-channel]
-[[DeadLetterChannel-UsingThisPattern]]
+[[deadLetterChannel-UsingThisPattern]]
==== Using This Pattern
If you would like to use this EIP Pattern then please read the
diff --git a/docs/user-manual/en/SUMMARY.md b/docs/user-manual/en/SUMMARY.md
index 2b9ca8fc430..17f2a2f3130 100644
--- a/docs/user-manual/en/SUMMARY.md
+++ b/docs/user-manual/en/SUMMARY.md
@@ -8,7 +8,7 @@
## Overview
* [Introduction](README.md)
-* Download
+* [Download](download.adoc)
* [Getting Started](getting-started.adoc)
* [Longer Getting Started Guide](book-getting-started.adoc)
* [FAQ](faq.adoc)
diff --git a/docs/user-manual/en/defaulterrorhandler.adoc
b/docs/user-manual/en/defaulterrorhandler.adoc
index 08d0ad4361a..efcc21c2e88 100644
--- a/docs/user-manual/en/defaulterrorhandler.adoc
+++ b/docs/user-manual/en/defaulterrorhandler.adoc
@@ -3,12 +3,12 @@
This is the new default error handler in Camel 2.0 onwards.
-It has the same power as the <<DeadLetterChannel-DeadLetterChannel,Dead Letter
Channel>>,
+It has the same power as the <<deadLetterChannel-eip,Dead Letter Channel>>,
however it does *not* support a _dead letter queue_, which is
the only difference between the two of them.
The DefaultErrorHandler is configured differently from
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> as
+<<deadLetterChannel-eip,Dead Letter Channel>> as
it is configured to:
* not redeliver
@@ -63,4 +63,4 @@ jetty endpoint that returns it to the original caller.
==== See Also
* link:error-handler.adoc[Error Handler]
-* <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>>
+* <<deadLetterChannel-eip,Dead Letter Channel>>
diff --git a/docs/user-manual/en/download-archives.adoc
b/docs/user-manual/en/download-archives.adoc
new file mode 100644
index 00000000000..879bff467a8
--- /dev/null
+++ b/docs/user-manual/en/download-archives.adoc
@@ -0,0 +1,127 @@
+[[DownloadArchives-Downloadarchives]]
+=== Download archives
+
+You can use the Apache Archives to download all the Camel releases.
+
+* http://archive.apache.org/dist/camel/apache-camel/ -- All release since
+Camel became a top level Apache project
+* http://archive.apache.org/dist/activemq/apache-camel/ -- For old 1.x
+releases when the Camel project was a sub-project of Apache ActiveMQ
+
+[NOTE]
+====
+**Downloading**
+
+The links below contains the release notes for all the Camel release.
+However if you want to download the release, you *must* use the download
+archives, which is the two links above.
+====
+
+All time Apache Camel releases notes:
+
+* link:release-notes/camel-100-release.adoc[Camel 1.0.0 Release]
+* link:release-notes/camel-110-release.adoc[Camel 1.1.0 Release]
+* link:release-notes/camel-120-release.adoc[Camel 1.2.0 Release]
+* link:release-notes/camel-130-release.adoc[Camel 1.3.0 Release]
+* link:release-notes/camel-140-release.adoc[Camel 1.4.0 Release]
+* link:release-notes/camel-150-release.adoc[Camel 1.5.0 Release]
+* link:release-notes/camel-160-release.adoc[Camel 1.6.0 Release]
+* link:release-notes/camel-161-release.adoc[Camel 1.6.1 Release]
+* link:release-notes/camel-162-release.adoc[Camel 1.6.2 Release]
+* link:release-notes/camel-163-release.adoc[Camel 1.6.3 Release]
+* link:release-notes/camel-164-release.adoc[Camel 1.6.4 Release]
+* link:release-notes/camel-200-release.adoc[Camel 2.0.0 Release]
+* link:release-notes/camel-20-m1-release.adoc[Camel 2.0-M1 Release]
+* link:release-notes/camel-20-m2-release.adoc[Camel 2.0-M2 Release]
+* link:release-notes/camel-20-m3-release.adoc[Camel 2.0-M3 Release]
+* link:release-notes/camel-210-release.adoc[Camel 2.1.0 Release]
+* link:release-notes/camel-220-release.adoc[Camel 2.2.0 Release]
+* link:release-notes/camel-230-release.adoc[Camel 2.3.0 Release]
+* link:release-notes/camel-240-release.adoc[Camel 2.4.0 Release]
+* link:release-notes/camel-250-release.adoc[Camel 2.5.0 Release]
+* link:release-notes/camel-260-release.adoc[Camel 2.6.0 Release]
+* link:release-notes/camel-270-release.adoc[Camel 2.7.0 Release]
+* link:release-notes/camel-271-release.adoc[Camel 2.7.1 Release]
+* link:release-notes/camel-272-release.adoc[Camel 2.7.2 Release]
+* link:release-notes/camel-273-release.adoc[Camel 2.7.3 Release]
+* link:release-notes/camel-274-release.adoc[Camel 2.7.4 Release]
+* link:release-notes/camel-275-release.adoc[Camel 2.7.5 Release]
+* link:release-notes/camel-280-release.adoc[Camel 2.8.0 Release]
+* link:release-notes/camel-281-release.adoc[Camel 2.8.1 Release]
+* link:release-notes/camel-282-release.adoc[Camel 2.8.2 Release]
+* link:release-notes/camel-283-release.adoc[Camel 2.8.3 Release]
+* link:release-notes/camel-284-release.adoc[Camel 2.8.4 Release]
+* link:release-notes/camel-285-release.adoc[Camel 2.8.5 Release]
+* link:release-notes/camel-286-release.adoc[Camel 2.8.6 Release]
+* link:release-notes/camel-290-release.adoc[Camel 2.9.0 Release]
+* link:release-notes/camel-291-release.adoc[Camel 2.9.1 Release]
+* link:release-notes/camel-292-release.adoc[Camel 2.9.2 Release]
+* link:release-notes/camel-293-release.adoc[Camel 2.9.3 Release]
+* link:release-notes/camel-294-release.adoc[Camel 2.9.4 Release]
+* link:release-notes/camel-295-release.adoc[Camel 2.9.5 Release]
+* link:release-notes/camel-296-release.adoc[Camel 2.9.6 Release]
+* link:release-notes/camel-297-release.adoc[Camel 2.9.7 Release]
+* link:release-notes/camel-298-release.adoc[Camel 2.9.8 Release]
+* link:release-notes/camel-2100-release.adoc[Camel 2.10.0 Release]
+* link:release-notes/camel-2101-release.adoc[Camel 2.10.1 Release]
+* link:release-notes/camel-2102-release.adoc[Camel 2.10.2 Release]
+* link:release-notes/camel-2103-release.adoc[Camel 2.10.3 Release]
+* link:release-notes/camel-2104-release.adoc[Camel 2.10.4 Release]
+* link:release-notes/camel-2105-release.adoc[Camel 2.10.5 Release]
+* link:release-notes/camel-2106-release.adoc[Camel 2.10.6 Release]
+* link:release-notes/camel-2107-release.adoc[Camel 2.10.7 Release]
+* link:release-notes/camel-2110-release.adoc[Camel 2.11.0 Release]
+* link:release-notes/camel-2111-release.adoc[Camel 2.11.1 Release]
+* link:release-notes/camel-2112-release.adoc[Camel 2.11.2 release]
+* link:release-notes/camel-2113-release.adoc[Camel 2.11.3 release]
+* link:release-notes/camel-2114-release.adoc[Camel 2.11.4 Release]
+* link:release-notes/camel-2120-release.adoc[Camel 2.12.0 Release]
+* link:release-notes/camel-2121-release.adoc[Camel 2.12.1 Release]
+* link:release-notes/camel-2122-release.adoc[Camel 2.12.2 Release]
+* link:release-notes/camel-2123-release.adoc[Camel 2.12.3 Release]
+* link:release-notes/camel-2124-release.adoc[Camel 2.12.4 Release]
+* link:release-notes/camel-2125-release.adoc[Camel 2.12.5 Release]
+* link:release-notes/camel-2130-release.adoc[Camel 2.13.0 Release]
+* link:release-notes/camel-2131-release.adoc[Camel 2.13.1 Release]
+* link:release-notes/camel-2132-release.adoc[Camel 2.13.2 Release]
+* link:release-notes/camel-2133-release.adoc[Camel 2.13.3 Release]
+* link:release-notes/camel-2134-release.adoc[Camel 2.13.4 Release]
+* link:release-notes/camel-2140-release.adoc[Camel 2.14.0 Release]
+* link:release-notes/camel-2141-release.adoc[Camel 2.14.1 Release]
+* link:release-notes/camel-2142-release.adoc[Camel 2.14.2 Release]
+* link:release-notes/camel-2143-release.adoc[Camel 2.14.3 Release]
+* link:release-notes/camel-2144-release.adoc[Camel 2.14.4 Release]
+* link:release-notes/camel-2150-release.adoc[Camel 2.15.0 Release]
+* link:release-notes/camel-2151-release.adoc[Camel 2.15.1 Release]
+* link:release-notes/camel-2152-release.adoc[Camel 2.15.2 Release]
+* link:release-notes/camel-2153-release.adoc[Camel 2.15.3 Release]
+* link:release-notes/camel-2154-release.adoc[Camel 2.15.4 Release]
+* link:release-notes/camel-2155-release.adoc[Camel 2.15.5 Release]
+* link:release-notes/camel-2156-release.adoc[Camel 2.15.6 Release]
+* link:release-notes/camel-2160-release.adoc[Camel 2.16.0 Release]
+* link:release-notes/camel-2161-release.adoc[Camel 2.16.1 Release]
+* link:release-notes/camel-2162-release.adoc[Camel 2.16.2 Release]
+* link:release-notes/camel-2163-release.adoc[Camel 2.16.3 Release]
+* link:release-notes/camel-2164-release.adoc[Camel 2.16.4 Release]
+* link:release-notes/camel-2170-release.adoc[Camel 2.17.0 Release]
+* link:release-notes/camel-2171-release.adoc[Camel 2.17.1 Release]
+* link:release-notes/camel-2172-release.adoc[Camel 2.17.2 Release]
+* link:release-notes/camel-2173-release.adoc[Camel 2.17.3 Release]
+* link:release-notes/camel-2174-release.adoc[Camel 2.17.4 Release]
+* link:release-notes/camel-2175-release.adoc[Camel 2.17.5 Release]
+* link:release-notes/camel-2176-release.adoc[Camel 2.17.6 Release]
+* link:release-notes/camel-2177-release.adoc[Camel 2.17.7 Release]
+* link:release-notes/camel-2180-release.adoc[Camel 2.18.0 Release]
+* link:release-notes/camel-2181-release.adoc[Camel 2.18.1 Release]
+* link:release-notes/camel-2182-release.adoc[Camel 2.18.2 Release]
+* link:release-notes/camel-2183-release.adoc[Camel 2.18.3 Release]
+* link:release-notes/camel-2184-release.adoc[Camel 2.18.4 Release]
+* link:release-notes/camel-2185-release.adoc[Camel 2.18.5 Release]
+* link:release-notes/camel-2190-release.adoc[Camel 2.19.0 Release]
+* link:release-notes/camel-2191-release.adoc[Camel 2.19.1 Release]
+* link:release-notes/camel-2192-release.adoc[Camel 2.19.2 Release]
+* link:release-notes/camel-2193-release.adoc[Camel 2.19.3 Release]
+* link:release-notes/camel-2194-release.adoc[Camel 2.19.4 Release]
+* link:release-notes/camel-2200-release.adoc[Camel 2.20.0 Release]
+* link:release-notes/camel-2201-release.adoc[Camel 2.20.1 Release]
+* link:release-notes/camel-2202-release.adoc[Camel 2.20.2 Release]
diff --git a/docs/user-manual/en/download.adoc
b/docs/user-manual/en/download.adoc
new file mode 100644
index 00000000000..a76bb421295
--- /dev/null
+++ b/docs/user-manual/en/download.adoc
@@ -0,0 +1,127 @@
+[[Download-Download]]
+=== Download
+
+[[Download-LatestReleases]]
+==== Latest Releases
+
+image:http://camel.apache.org/images/camel-box-small.png[image]
+
+Grab these releases while they are hot!
+
+* The latest release for Camel 2.20.x is:
+link:release-notes/camel-2202-release.adoc[Camel 2.20.2 Release]
+* The latest release for Camel 2.19.x is:
+link:release-notes/camel-2194-release.adoc[Camel 2.19.4 Release]
+* Camel versions 2.18.x and older are no longer actively developed.
+
+[[Download-OlderReleases]]
+==== Older Releases
+
+See: link:download-archives.adoc[Download Archives]
+
+[[Download-Gettingthelatestdistributions]]
+==== Getting the latest distributions
+
+[[Download-BinaryDistribution]]
+===== Binary Distribution
+
+[width="100%",cols="20%,20%,20%,20%,20%",options="header",]
+|=======================================================================
+|Description |Download Link |PGP Signature file of download |MD5
+Checksum file of download |SHA1 Checksum file of download
+|Windows Distribution (2.20.x branch)
+|http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.20.2/apache-camel-2.20.2.zip&action=download[apache-camel-2.20.2.zip]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2.zip.asc[apache-camel-2.20.2.zip.asc]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2.zip.md5[apache-camel-2.20.2.zip.md5]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2.zip.sha1[apache-camel-2.20.2.zip.sha1]
+
+|nix/Linux/Cygwin Distribution (2.20.x branch)
+|http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.20.2/apache-camel-2.20.2.tar.gz&action=download[apache-camel-2.20.2.tar.gz]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2.tar.gz.asc[apache-camel-2.20.2.tar.gz.asc]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2.tar.gz.md5[apache-camel-2.20.2.tar.gz.md5]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2.tar.gz.sha1[apache-camel-2.20.2.tar.gz.sha1]
+
+|Windows Distribution (2.19.x branch)
+|http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.19.4/apache-camel-2.19.4.zip&action=download[apache-camel-2.19.4.zip]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4.zip.asc[apache-camel-2.19.4.zip.asc]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4.zip.md5[apache-camel-2.19.4.zip.md5]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4.zip.sha1[apache-camel-2.19.4.zip.sha1]
+
+|Unix/Linux/Cygwin Distribution (2.19.x branch)
+|http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.19.4/apache-camel-2.19.4.tar.gz&action=download[apache-camel-2.19.4.tar.gz]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4.tar.gz.asc[apache-camel-2.19.4.tar.gz.asc]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4.tar.gz.md5[apache-camel-2.19.4.tar.gz.md5]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4.tar.gz.sha1[apache-camel-2.19.4.tar.gz.sha1]
+|=======================================================================
+
+[[Download-SourceDistribution]]
+===== Source Distribution
+
+[width="100%",cols="20%,20%,20%,20%,20%",options="header",]
+|=======================================================================
+|Description |Download Link |PGP Signature file of download |MD5
+Checksum file of download |SHA1 Checksum file of download
+|Source (zip - 2.20.x branch)
+|http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.20.2/apache-camel-2.20.2-src.zip&action=download[apache-camel-2.20.2-src.zip]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2-src.zip.asc[apache-camel-2.20.2-src.zip.asc]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2-src.zip.md5[apache-camel-2.20.2-src.zip.md5]
+|https://www.apache.org/dist/camel/apache-camel/2.20.2/apache-camel-2.20.2-src.zip.sha1[apache-camel-2.20.2-src.zip.sha1]
+
+|Source (zip - 2.19.x branch)
+|http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.19.4/apache-camel-2.19.4-src.zip&action=download[apache-camel-2.19.4-src.zip]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4-src.zip.asc[apache-camel-2.19.4-src.zip.asc]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4-src.zip.md5[apache-camel-2.19.4-src.zip.md5]
+|https://www.apache.org/dist/camel/apache-camel/2.19.4/apache-camel-2.19.4-src.zip.sha1[apache-camel-2.19.4-src.zip.sha1]
+|=======================================================================
+
+[[Download-Keys]]
+==== Keys
+
+The `KEYS` used to sign the release can be found
+https://www.apache.org/dist/camel/apache-camel/KEYS[here].
+
+[[Download-GettingtheBinariesusingMaven2]]
+==== Getting the Binaries using Maven 2
+
+To use this release in your maven project, the proper dependency
+configuration that you should use in your
+http://maven.apache.org/guides/introduction/introduction-to-the-pom.html[Maven
+POM] is:
+
+[source,xml]
+----
+<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-core</artifactId>
+ <version>2.20.2</version>
+</dependency>
+----
+
+[[Download-Gettingpastreleases]]
+==== Getting past releases
+
+See the link:download-archives.adoc[Download Archives] for all time
+releases.
+
+[[Download-ReleasesInProgress]]
+==== Releases In Progress
+
+The following releases are currently in progress:
+
+* link:release-notes/camel-2203-release.adoc[Camel 2.20.3 Release]
+* link:copy-of-camel-2195-release-template.html[Copy of Camel 2.19.5 Release
(template)]
+* link:release-notes/camel-2210-release.adoc[Camel 2.21.0 Release]
+* link:camel-xyz-release-template.html[Camel x.y.z Release (template)]
+
+[[Download-Maven2Repositories]]
+==== Maven 2 Repositories
+
+[width="100%",cols="50%,50%",options="header",]
+|=======================================================================
+|Repository |URL
+|Apache Camel Releases
+|https://repository.apache.org/content/repositories/releases/org/apache/camel/apache-camel/
+
+|Apache Camel Releases (old) |For Camel 1.6.0 or older releases:
+http://people.apache.org/repo/m2-ibiblio-rsync-repository/
+|=======================================================================
diff --git a/docs/user-manual/en/error-handling-in-camel.adoc
b/docs/user-manual/en/error-handling-in-camel.adoc
index 3b4c4364481..0c60a4c58b6 100644
--- a/docs/user-manual/en/error-handling-in-camel.adoc
+++ b/docs/user-manual/en/error-handling-in-camel.adoc
@@ -43,7 +43,7 @@ better suit you needs.
[[ErrorhandlinginCamel-Camel1.xdefaulterrorhandler]]
==== Camel 1.x default error handler
-In Camel 1.x a global <<DeadLetterChannel-DeadLetterChannel,Dead Letter
Channel>>
+In Camel 1.x a global <<deadLetterChannel-eip,Dead Letter Channel>>
is setup as the link:error-handler.adoc[Error Handler] by default. It's
configured as:
@@ -119,7 +119,7 @@ multiple RouteBuilder classes. See more details at
https://issues.apache.org/jira/browse/CAMEL-5456[CAMEL-5456].
[[ErrorhandlinginCamel-Howdoestheerrorhandlerwork]]
-==== How does the <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>>
error handler work
+==== How does the <<deadLetterChannel-eip,Dead Letter Channel>> error handler
work
When Camel is started it will inspect the routes and weave in the error
handling into the routing. With up to 3 supported scopes, the error
@@ -157,14 +157,14 @@ stuff). So when an order arrives on the seda queue we
consume it and
send it to the validateOrder bean. In case the validation bean processed
ok, we move on to the next node. In case the storeOrder bean failed and
throws an exception it's caught by the
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> that decides what
to
+<<deadLetterChannel-eip,Dead Letter Channel>> that decides what to
do next. Either it does a:
* redeliver
* or move it to dead letter queue
It will continue to do redeliveries based on the policy configured. By
-default <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> will
attempt
+default <<deadLetterChannel-eip,Dead Letter Channel>> will attempt
at most 6 redeliveries with 1 second delay. So if the storeOrder bean
did succeed at the 3rd attempt the routing will continue to the next
node the confirmOrder bean. In case all redeliveries failed the Exchange
@@ -226,7 +226,7 @@ for more.
==== See also
* link:error-handler.adoc[Error Handler]
-* <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>>
+* <<deadLetterChannel-eip,Dead Letter Channel>>
* link:exception-clause.adoc[Exception Clause]
* <<transactionalClient-eip,Transactional Client>>
* link:transactionerrorhandler.adoc[TransactionErrorHandler]
diff --git a/docs/user-manual/en/exception-clause.adoc
b/docs/user-manual/en/exception-clause.adoc
index 84b86c85db2..3b34eef8341 100644
--- a/docs/user-manual/en/exception-clause.adoc
+++ b/docs/user-manual/en/exception-clause.adoc
@@ -160,11 +160,11 @@ select the *`onException(IOException.class)`* clause.
==== Configuring RedeliveryPolicy (redeliver options)
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/RedeliveryPolicy.html[RedeliveryPolicy]
-requires to use the <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>>
+requires to use the <<deadLetterChannel-eip,Dead Letter Channel>>
as the link:error-handler.adoc[Error Handler]. Dead Letter Channel
supports attempting to redeliver the message exchange a number of times
before sending it to a dead letter endpoint. See
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> for further
+<<deadLetterChannel-eip,Dead Letter Channel>> for further
information about redeliver and which redeliver options exists.
===== No redelivery is default for onException
@@ -177,7 +177,7 @@ type basis. By default in the top examples, if an
*`org.apache.camel.ValidationException`* occurs then the message will
not be redelivered; however if some other exception occurs, e.g.,
*`IOException`* or whatever, the route will be retried according to the
-settings from the <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>>.
+settings from the <<deadLetterChannel-eip,Dead Letter Channel>>.
However if you want to customize any methods on the
http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/RedeliveryPolicy.html[RedeliveryPolicy]
@@ -313,7 +313,7 @@ is being routed to our processor
*`MyFunctionFailureHandler`*. So you
can say that the exchange is diverted when a *`MyFunctionalException`*
is thrown during processing. It's important to distinct this as perfect
valid. The default redelivery policy from the
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> will not kick in,
so
+<<deadLetterChannel-eip,Dead Letter Channel>> will not kick in, so
our processor receives the Exchange directly, without any redeliver
attempted. In our processor we need to determine what to do. Camel
regards the Exchange as *failure handled*. So our processor is the end
@@ -613,15 +613,15 @@ default error handler will kick in.
*Available as of Camel 2.0*
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> has support
+<<deadLetterChannel-eip,Dead Letter Channel>> has support
for *`onRedelivery`* to allow custom processing of a Message before its
being redelivered. It can be used to add some customer header or
whatnot. In Camel 2.0 we have added this feature to
link:exception-clause.adoc[Exception Clause] as well, so you can use per
exception scoped on redelivery. Camel will fallback to use the one
-defined on <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> if any,
if
+defined on <<deadLetterChannel-eip,Dead Letter Channel>> if any, if
none exists on the link:exception-clause.adoc[Exception Clause]. See
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> for more details on
+<<deadLetterChannel-eip,Dead Letter Channel>> for more details on
*`onRedelivery`*.
In the code below we want to do some custom code before redelivering any
@@ -654,7 +654,7 @@ class as this code is based on unit testing):
*Available as of Camel 2.17*
-<<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> has support
+<<deadLetterChannel-eip,Dead Letter Channel>> has support
for *`onExceptionOccurred`* to allow custom processing of a Message just
after the exception was thrown. It can be used to do some custom logging
or whatnot. The difference between *`onRedelivery`* processor
@@ -762,5 +762,5 @@ Spring DSL as well. Here are a few examples:
==== See also
* The link:error-handler.adoc[Error Handler] for the general error handling
documentation
-* The <<DeadLetterChannel-DeadLetterChannel,Dead Letter Channel>> for further
details
+* The <<deadLetterChannel-eip,Dead Letter Channel>> for further details
* The <<transactionalClient-eip,Transactional Client>> for transactional
behavior
diff --git a/docs/user-manual/en/faq.adoc b/docs/user-manual/en/faq.adoc
index 7e3e93f76a2..87f56016fef 100644
--- a/docs/user-manual/en/faq.adoc
+++ b/docs/user-manual/en/faq.adoc
@@ -60,119 +60,64 @@ ServiceMix when should I use Camel?]
Questions on using Apache Camel
-* link:faq/classloader-issue-of-servicemix-camel-component.adoc[Classloader
-issue of servicemix-camel component]
-*
link:faq/ho-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc[Ho
-do I specify which method to use when using beans in routes?]
-* link:faq/how-can-i-create-a-custom-component-or-endpoint.adoc[How can I
-create a custom component or endpoint?]
-*
link: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
-?]
-* link:faq/how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route
-from a route?]
-*
link: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?]
-* link:faq/how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel
-look up beans and endpoints?]
+* link:faq/classloader-issue-of-servicemix-camel-component.adoc[Classloader
issue of servicemix-camel component]
+*
link: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?]
+* link:faq/how-can-i-create-a-custom-component-or-endpoint.adoc[How can I
create a custom component or endpoint?]
+*
link: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 ?]
+* link:faq/how-can-i-stop-a-route-from-a-route.adoc[How can I stop a route
from a route?]
+*
link: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?]
+* link:faq/how-does-camel-look-up-beans-and-endpoints.adoc[How does Camel look
up beans and endpoints?]
* link:configuring-camel.adoc[How do I add a component?]
* link:faq/how-do-i-change-the-logging.adoc[How do I change the logging?]
-* link:faq/how-do-i-configure-endpoints.adoc[How Do I Configure Endpoints?]
-*
link: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?]
-*
link: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?]
-*
link:faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How
-do I configure the maximum endpoint cache size for CamelContext?]
+* link:faq/how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+*
link: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?]
+*
link: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?]
+*
link:faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How
do I configure the maximum endpoint cache size for CamelContext?]
* link:faq/how-do-i-debug-my-route.adoc[How do I debug my route?]
* link:faq/how-do-i-disable-jmx.adoc[How do I disable JMX?]
-*
link:faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How
-do I enable streams when debug logging messages in Camel?]
-*
link: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?]
-* link:faq/how-do-i-import-rests-from-other-xml-files.adoc[How do I import
-rests from other XML files?]
-* link:faq/how-do-i-import-routes-from-other-xml-files.adoc[How Do I Import
-Routes From Other XML Files?]
-* link:faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match
-wildcards?]
+*
link:faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc[How
do I enable streams when debug logging messages in Camel?]
+*
link: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?]
+* link:faq/how-do-i-import-rests-from-other-xml-files.adoc[How do I import
rests from other XML files?]
+* link:faq/how-do-i-import-routes-from-other-xml-files.adoc[How do I import
routes from other XML files?]
+* link:faq/how-do-i-let-jetty-match-wildcards.adoc[How do I let Jetty match
wildcards?]
* link:faq/how-do-i-name-my-routes.adoc[How do I name my routes?]
* link:faq/how-do-i-restart-camelcontext.adoc[How do I restart CamelContext?]
-*
link:faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How
-do I retrieve the thrown Exception during processing an Exchange?]
-* link:faq/how-do-i-retry-failed-messages-forever.adoc[How do I retry failed
-messages forever?]
-*
link: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?]
-*
link:faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How
-do I reuse the ContextTestSupport class in my unit tests?]
-* link:faq/how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run
-ActiveMQ and Camel in JBoss?]
-*
link: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?]
-* link:faq/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc[How
-do I specify time period in a human friendly syntax?]
+*
link:faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc[How
do I retrieve the thrown Exception during processing an Exchange?]
+* link:faq/how-do-i-retry-failed-messages-forever.adoc[How do I retry failed
messages forever?]
+*
link: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?]
+*
link:faq/how-do-i-reuse-the-contexttestsupport-class-in-my-unit-tests.adoc[How
do I reuse the ContextTestSupport class in my unit tests?]
+* link:faq/how-do-i-run-activemq-and-camel-in-jboss.adoc[How do I run ActiveMQ
and Camel in JBoss?]
+*
link: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?]
+* link:faq/how-do-i-specify-time-period-in-a-human-friendly-syntax.adoc[How do
I specify time period in a human friendly syntax?]
* link:faq/how-do-i-use-a-big-uber-jar.adoc[How do I use a big (uber) JAR?]
-* link:faq/how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel
-inside ServiceMix?]
-* link:faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How
-do I use Spring Property Placeholder with Camel XML?]
-* link:faq/how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs
-with parameters in XML?]
-*
link:faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How
-do I write a custom Processor which sends multiple messages?]
-* link:faq/how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I
-invoke my POJOs or Spring Services?]
-* link:faq/how-should-i-package-applications-using-camel-and-activemq.adoc[How
-should I package applications using Camel and ActiveMQ?]
-*
link: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 ?]
-* link:faq/how-to-avoid-sending-some-or-all-message-headers.adoc[How to
-avoid sending some or all message headers?]
-* link:faq/how-to-define-a-static-camel-converter-method-in-scala.adoc[How
-to define a static camel converter method in Scala?]
-*
link:faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How
-to remove the http protocol headers in the camel message?]
-* link:faq/how-to-send-the-same-message-to-multiple-endpoints.adoc[How to
-send the same message to multiple endpoints?]
-*
link: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?]
-* link:faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
-to()?]
-* link:faq/how-to-use-extra-camel-componets-in-servicemix-camel.adoc[How to
-use extra camel componets in servicemix-camel?]
-*
link:faq/how-to-validate-the-camel-1x-context-xml-from-apache-camel-web-site.adoc[How
-to validate the camel-1.x context xml from Apache Camel web site?]
+* link:faq/how-do-i-use-camel-inside-servicemix.adoc[How do I use Camel inside
ServiceMix?]
+* link:faq/how-do-i-use-spring-property-placeholder-with-camel-xml.adoc[How do
I use Spring Property Placeholder with Camel XML?]
+* link:faq/how-do-i-use-uris-with-parameters-in-xml.adoc[How do I use URIs
with parameters in XML?]
+*
link:faq/how-do-i-write-a-custom-processor-which-sends-multiple-messages.adoc[How
do I write a custom Processor which sends multiple messages?]
+* link:faq/how-should-i-invoke-my-pojos-or-spring-services.adoc[How should I
invoke my POJOs or Spring Services?]
+* link:faq/how-should-i-package-applications-using-camel-and-activemq.adoc[How
should I package applications using Camel and ActiveMQ?]
+*
link: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 ?]
+* link:faq/how-to-avoid-sending-some-or-all-message-headers.adoc[How to avoid
sending some or all message headers?]
+* link:faq/how-to-define-a-static-camel-converter-method-in-scala.adoc[How to
define a static camel converter method in Scala?]
+*
link:faq/how-to-remove-the-http-protocol-headers-in-the-camel-message.adoc[How
to remove the http protocol headers in the camel message?]
+* link:faq/how-to-send-the-same-message-to-multiple-endpoints.adoc[How to send
the same message to multiple endpoints?]
+*
link: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?]
+* link:faq/how-to-use-a-dynamic-uri-in-to.adoc[How to use a dynamic URI in
to()?]
+* link:faq/how-to-use-extra-camel-componets-in-servicemix-camel.adoc[How to
use extra camel componets in servicemix-camel?]
+*
link:faq/how-to-validate-the-camel-1x-context-xml-from-apache-camel-web-site.adoc[How
to validate the camel-1.x context xml from Apache Camel web site?]
* link:faq/is-there-an-ide.adoc[Is there an IDE?]
-*
link: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?]
+*
link: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?]
* link:faq/using-camel-core-testsjar.adoc[Using camel-core-tests.jar]
-* link:faq/using-getin-or-getout-methods-on-exchange.adoc[Using getIn or
-getOut methods on Exchange]
-* link:faq/why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in
-my password?]
-* link: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?]
-* link:faq/why-does-ftp-component-not-download-any-files.adoc[Why does FTP
-component not download any files?]
-*
link: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?]
-*
link:faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why
-does useOriginalMessage with error handler not work as expected?]
-* link:faq/why-do-my-message-lose-its-headers-during-routing.adoc[Why do my
-message lose its headers during routing?]
+* link:faq/using-getin-or-getout-methods-on-exchange.adoc[Using getIn or
getOut methods on Exchange]
+* link:faq/why-cant-i-use-sign-in-my-password.adoc[Why can't I use + sign in
my password?]
+* link: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?]
+* link:faq/why-does-ftp-component-not-download-any-files.adoc[Why does FTP
component not download any files?]
+*
link: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?]
+*
link:faq/why-does-useoriginalmessage-with-error-handler-not-work-as-expected.adoc[Why
does useOriginalMessage with error handler not work as expected?]
+* link:faq/why-do-my-message-lose-its-headers-during-routing.adoc[Why do my
message lose its headers during routing?]
* link:faq/why-is-my-message-body-empty.adoc[Why is my message body empty?]
-* link:faq/why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my
-processor not showing up in JConsole?]
-* link:faq/why-is-the-exception-null-when-i-use-onexception.adoc[Why is the
-exception null when I use onException?]
+* link:faq/why-is-my-processor-not-showing-up-in-jconsole.adoc[Why is my
processor not showing up in JConsole?]
+* link:faq/why-is-the-exception-null-when-i-use-onexception.adoc[Why is the
exception null when I use onException?]
* link:faq/why-use-multiple-camelcontext.adoc[Why use multiple CamelContext?]
[[FAQ-LoggingQuestions]]
@@ -237,8 +182,8 @@ does Camel use too many threads with ProducerTemplate?]
* link:faq/why-does-maven-not-download-dependencies.adoc[Why does maven not
download dependencies?]
-[[FAQ-Acknowledgment]]
-==== Acknowledgment
+[[FAQ-Acknowledgement]]
+==== Acknowledgement
Many thanks to the following organizations for helping the Camel
project.
diff --git
a/docs/user-manual/en/faq/classloader-issue-of-servicemix-camel-component.adoc
b/docs/user-manual/en/faq/classloader-issue-of-servicemix-camel-component.adoc
new file mode 100644
index 00000000000..9cbb8001db2
--- /dev/null
+++
b/docs/user-manual/en/faq/classloader-issue-of-servicemix-camel-component.adoc
@@ -0,0 +1,43 @@
+[[Classloaderissueofservicemixcamelcomponent-Classloaderissueofservicemixcamelcomponent]]
+=== Classloader issue of servicemix-camel component
+
+We got some classloader issue about the camel processor which after the
+JBI endpoint recently, so I add this entry for some explanation about
+it.
+
+Here is a good code example to demo the thread context classloader in
+different processor after the jbi endpoint.
+
+[source,java]
+----
+from("jbi:endpoint:http://test/MyProviderService/myConsumer)
+ .process(new ProcessA())
+ // The thread context classloader is servicemix-camel component classloader
+
+.to("jbi:endpoint:http://test/MyProviderService/myProviderA")
+ .process(new ProcessB())
+ // The thread context classloader is the myProviderService's servicemix
component classloader
+----
+
+servicemix-camel component works as an adapter for camel and servicemix,
+so camel Jbi endpoint can talk with servicemix endpoint. As you know
+camel uses pipeline pattern to chain the processors and endpoints (which
+can act as consumer and producer) to together. In this way you can chain
+the different servicemix endpoint by using camel EIP routes.
+
+Now back to the classloader issue, for the jbi endpoint in the routing
+rule, it acts as a camel producer which delegate the camel exchange to
+servicemix jms endpoint, and then calling the processor which is after
+the jbi endpoint like pipeline. Since servicemix component has its onw
+thread pool, and these thread pools' context classloader are set to be
+their component's classlaoder, you will find out the ProcessorA and
+ProcessorB are run with different thread, so it is not hard to explain
+why these processors have different thread context classloader.
+
+But for you route application, you may need to use set the thread
+context loader to your own application classloader, so you may set the
+thread context classloader yourself in the ProcessA or ProcessB to get
+the everything work again. Please keep it in mind, you need set the
+thread context loader back when you finish your work, since you wouldn't
+want pollute the servicemix components thread pools' context
+classloader.
diff --git
a/docs/user-manual/en/faq/how-can-i-create-a-custom-component-or-endpoint.adoc
b/docs/user-manual/en/faq/how-can-i-create-a-custom-component-or-endpoint.adoc
new file mode 100644
index 00000000000..2c00016145f
--- /dev/null
+++
b/docs/user-manual/en/faq/how-can-i-create-a-custom-component-or-endpoint.adoc
@@ -0,0 +1,13 @@
+[[HowcanIcreateacustomcomponentorendpoint-HowcanIcreateacustomcomponentorendpoint]]
+=== How can I create a custom component or endpoint?
+
+Please read link:../writing-components.adoc[Writing Components] for a
+background in how to implement a new component or endpoint. Its really
+easy to do! :smile:
+
+[[HowcanIcreateacustomcomponentorendpoint-SeeAlso]]
+==== See Also
+
+* link:../writing-components.adoc[Writing Components]
+* link:../configuring-camel.adoc[How do I add a component?]
+* link:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
diff --git
a/docs/user-manual/en/faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
b/docs/user-manual/en/faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
new file mode 100644
index 00000000000..104fd922af2
--- /dev/null
+++
b/docs/user-manual/en/faq/how-can-i-get-the-remote-connection-ip-address-from-the-camel-cxf-consumer-.adoc
@@ -0,0 +1,17 @@
+[[HowcanIgettheremoteconnectionIPaddressfromthecamel-cxfconsumer-HowcanIgettheremoteconnectionIPaddressfromthecamel-cxfconsumer]]
+=== How can I get the remote connection IP address from the camel-cxf consumer
?
+
+From *Camel 2.6.0*, you can access the CXF Message by using the key of
+`CamelCxfMessage` from message header, and you can get the
+`ServletRequest` instance from the CXF message, then you can get the
+remote connection IP easily.
+
+Here is the code snippet:
+
+[source,java]
+----
+// check the remote IP from the CXF Message
+org.apache.cxf.message.Message cxfMessage =
exchange.getIn().getHeader(CxfConstants.CAMEL_CXF_MESSAGE,
org.apache.cxf.message.Message.class);
+ServletRequest request = (ServletRequest) cxfMessage.get("HTTP.REQUEST");
+String remoteAddress = request.getRemoteAddr();
+----
diff --git a/docs/user-manual/en/faq/how-can-i-stop-a-route-from-a-route.adoc
b/docs/user-manual/en/faq/how-can-i-stop-a-route-from-a-route.adoc
new file mode 100644
index 00000000000..28c3604a2d9
--- /dev/null
+++ b/docs/user-manual/en/faq/how-can-i-stop-a-route-from-a-route.adoc
@@ -0,0 +1,70 @@
+[[HowcanIstoparoutefromaroute-HowcanIstoparoutefromaroute]]
+=== How can I stop a route from a route
+
+The link:../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 link:../graceful-shutdown.adoc[Graceful
+Shutdown] the route you are stopping. And if you do that while a message
+is being routed the link:../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:
+
+* signal to another thread to stop the route
+* spin off a new thread to stop the route
+
+Using another thread to stop the route is also what is normally used
+when stopping Camel itself, or for example when an application in a
+server is stopped etc. Its too tricky and hard to stop a route using the
+same thread that currently is processing a message from the route. This
+is not advised to do, and can cause unforeseen side effects.
+
+[[HowcanIstoparoutefromaroute-UsingalatchtostopCamelfromaroute]]
+==== Using a latch to stop Camel from a route
+
+In this example we use a `CountdownLatch` to signal when Camel should
+stop, triggered from a route.
+
+And in the route we call the latch as shown:
+
+[[HowcanIstoparoutefromaroute-Usingathreadtostoparoutefromaroute]]
+==== Using a thread to stop a route from a route
+
+In this example we use a separate `Thread` to stop the route, triggered
+from the route itself.
+
+And in the route we create the thread and call the `stopRoute` method as
+shown:
+
+[[HowcanIstoparoutefromaroute-Alternativesolutions]]
+==== Alternative solutions
+
+Camel provides another feature for managing routes at runtime which is
+link:routepolicy.adoc[RoutePolicy].
+
+And link:../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
+link:../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 link:../lifecycle.adoc[Lifecycle].
+
+NOTE: You can also use the <<controlbus-component,ControlBus>> component to let
+it stop/start routes.
+
+[[HowcanIstoparoutefromaroute-SeeAlso]]
+==== See Also
+
+* link:routepolicy.adoc[RoutePolicy]
+* link:../graceful-shutdown.adoc[Graceful Shutdown]
+* link:../lifecycle.adoc[Lifecycle]
+* <<controlbus-component,ControlBus>>
diff --git
a/docs/user-manual/en/faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
b/docs/user-manual/en/faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
new file mode 100644
index 00000000000..bf40be08b2f
--- /dev/null
+++
b/docs/user-manual/en/faq/how-can-webservice-clients-see-remote-faults-with-stacktraces-when-using-camel-cxf.adoc
@@ -0,0 +1,6 @@
+[[Howcanwebserviceclientsseeremotefaultswithstacktraceswhenusingcamel-cxf-Howcanwebserviceclientsseeremotefaultswithstacktraceswhenusingcamel-cxf]]
+=== How can webservice clients see remote faults with stacktraces when using
camel-cxf?
+
+See Apache CXF documentation about
+http://cxf.apache.org/docs/debugging-and-logging.html#DebuggingandLogging-SOAPFaultfordebugging[SOAP
+fault for debugging].
diff --git a/docs/user-manual/en/faq/how-do-i-configure-endpoints.adoc
b/docs/user-manual/en/faq/how-do-i-configure-endpoints.adoc
index 9b48d242ce6..2e54e760d87 100644
--- a/docs/user-manual/en/faq/how-do-i-configure-endpoints.adoc
+++ b/docs/user-manual/en/faq/how-do-i-configure-endpoints.adoc
@@ -1,13 +1,11 @@
[[HowdoIconfigureendpoints-HowdoIconfigureendpoints]]
-How do I configure endpoints?
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+=== How do I configure endpoints?
There are a few different approaches to configuring components and
endpoints.
[[HowdoIconfigureendpoints-UsingJavaCode]]
-Using Java Code
-^^^^^^^^^^^^^^^
+==== Using Java Code
You can explicitly configure a Component using Java
code as shown in this example
@@ -22,8 +20,7 @@ endpoint.setSomething("aValue");
----
[[HowdoIconfigureendpoints-UsingCDI]]
-Using CDI
-^^^^^^^^^
+==== Using CDI
You can use CDI as dependency injection framework to configure
your Component or Endpoint instances.
@@ -79,16 +76,14 @@ class MyCdiBean {
[[HowdoIconfigureendpoints-UsingGuice]]
-Using Guice
-^^^^^^^^^^^
+==== Using Guice
You can also use Guice as the dependency injection
framework. For example see the link:../guice-jms-example.adoc[Guice JMS
Example].
[[HowdoIconfigureendpoints-UsingSpringXML]]
-Using Spring XML
-^^^^^^^^^^^^^^^^
+==== Using Spring XML
You can configure your Component or
Endpoint instances in your Spring
@@ -117,8 +112,7 @@ for the scheme name you use for Endpoint
URIs
[[HowdoIconfigureendpoints-UsingEndpointURIs]]
-Using Endpoint URIs
-^^^^^^^^^^^^^^^^^^^
+==== Using Endpoint URIs
Another approach is to use the URI syntax. The URI syntax supports the
query notation. So for example with the <<mail-component,Mail>> component
@@ -282,8 +276,7 @@ as:
[[HowdoIconfigureendpoints-Configuringlongurisusingnewlines]]
-Configuring long URIs using new lines
-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+==== Configuring long URIs using new lines
*Available as of Camel 2.15*
@@ -319,11 +312,10 @@ can have multiple options in one line, eg this is the
same:
----
[[HowdoIconfigureendpoints-SeeAlso]]
-See Also
-~~~~~~~~
-
-* How do I add a component
-* CDI
-* Spring
-* URIs
-* Using `PropertyPlaceholder`
+==== See Also
+
+* link:../configuring-camel.adoc[How do I add a component?]
+* <<cdi-component,CDI>>
+* link:../spring.adoc[Spring]
+* link:../uris.adoc[URIs]
+* link:../using-propertyplaceholder.adoc[Using `PropertyPlaceholder`]
diff --git
a/docs/user-manual/en/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
b/docs/user-manual/en/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
new file mode 100644
index 00000000000..f3250e36b3f
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-configure-password-options-on-camel-endpoints-without-the-value-being-encoded.adoc
@@ -0,0 +1,16 @@
+[[HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded-HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded]]
+=== How do I configure password options on Camel endpoints without the value
being encoded?
+
+When you configure Camel endpoints using link:../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
+link:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
+which has an example also.
+
+[[HowdoIconfigurepasswordoptionsonCamelendpointswithoutthevaluebeingencoded-SeeAlso]]
+==== See Also
+
+* link:how-do-i-configure-endpoints.adoc[How do I configure endpoints?]
diff --git
a/docs/user-manual/en/faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
b/docs/user-manual/en/faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
new file mode 100644
index 00000000000..a3e0cb07a39
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-configure-the-default-maximum-cache-size-for-producercache-or-producertemplate.adoc
@@ -0,0 +1,36 @@
+[[HowdoIconfigurethedefaultmaximumcachesizeforProducerCacheorProducerTemplate-HowdoIconfigurethedefaultmaximumcachesizeforProducerCacheorProducerTemplate]]
+=== How do I configure the default maximum cache size for ProducerCache or
ProducerTemplate?
+
+*Available as of Camel 2.3*
+
+This applies to ConsumerCache and ConsumerTemplate as well.
+
+You can configure the default maximum cache size by setting the
+`Exchange.MAXIMUM_CACHE_POOL_SIZE` property on `CamelContext`.
+
+[source,java]
+----
+getCamelContext().getProperties().put(Exchange.MAXIMUM_CACHE_POOL_SIZE, "50");
+----
+
+And in Spring XML its done as:
+
+[source,java]
+----
+<camelContext>
+ <properties>
+ <property key="CamelMaximumCachePoolSize" value="50"/>
+ </properties>
+...
+</camelContext>
+----
+
+The default maximum cache size is 1000.
+
+At runtime you can see the `ProducerCache` in JMX as they are listed in
+the `services` category.
+
+[[HowdoIconfigurethedefaultmaximumcachesizeforProducerCacheorProducerTemplate-SeeAlso]]
+==== See Also
+
+*
link:how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc[How
do I configure the maximum endpoint cache size for CamelContext]
diff --git
a/docs/user-manual/en/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
b/docs/user-manual/en/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
new file mode 100644
index 00000000000..9edeaad022c
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-configure-the-maximum-endpoint-cache-size-for-camelcontext.adoc
@@ -0,0 +1,42 @@
+[[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-HowdoIconfigurethemaximumendpointcachesizeforCamelContext?]
+=== How do I configure the maximum endpoint cache size for CamelContext?
+
+link:../camelcontext.adoc[CamelContext] will by default cache the last 1000
+used endpoints (based on a LRUCache).
+
+[[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-Configuringcachesize]]
+==== Configuring cache size
+
+*Available as of Camel 2.8*
+
+You can configure the default maximum cache size by setting the
+`Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE` property on
+link:../camelcontext.adoc[CamelContext].
+
+[source,java]
+----
+getCamelContext().getProperties().put(Exchange.MAXIMUM_ENDPOINT_CACHE_SIZE,
"500");
+----
+
+You need to configure this before link:../camelcontext.adoc[CamelContext]
+is started.
+
+And in Spring XML its done as:
+
+[source,java]
+----
+<camelContext>
+ <properties>
+ <property key="CamelMaximumEndpointCacheSize" value="500"/>
+ </properties>
+...
+</camelContext>
+----
+
+At runtime you can see the `EndpointRegistry` in JMX as they are listed
+in the `services` category.
+
+[[HowdoIconfigurethemaximumendpointcachesizeforCamelContext-SeeAlso]]
+==== See Also
+
+*
link: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]
diff --git a/docs/user-manual/en/faq/how-do-i-debug-my-route.adoc
b/docs/user-manual/en/faq/how-do-i-debug-my-route.adoc
new file mode 100644
index 00000000000..1e61315601b
--- /dev/null
+++ b/docs/user-manual/en/faq/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 link:../download.adoc[version 1.4
onwards]:
+
+* link:tracer.adoc[Tracer] to trace in commons-logging / log4j each step
+that Camel takes
+* link:../debugger.adoc[Debugger] to let you set breakpoints at points in
+the route and examine historic message exchanges
+* link:../debugger.adoc[Debug] from your unit test if you use the Camel
+`camel-test` component
+
+Some link:user-stories.adoc[third party tools] offers Apache Camel route
+debugging.
diff --git a/docs/user-manual/en/faq/how-do-i-disable-jmx.adoc
b/docs/user-manual/en/faq/how-do-i-disable-jmx.adoc
new file mode 100644
index 00000000000..66e889fd632
--- /dev/null
+++ b/docs/user-manual/en/faq/how-do-i-disable-jmx.adoc
@@ -0,0 +1,30 @@
+[[HowdoIdisableJMX-HowdoIdisableJMX]]
+=== How do I disable JMX?
+
+You can disable JMX instrumentation agent by setting Java VM system
+property as follow. The property value is treated as boolean.
+
+[source,java]
+----
+-Dorg.apache.camel.jmx.disabled=true
+----
+
+Or, by adding a jmxAgent element inside the camelContext element in
+Spring configuration:
+
+[source,xml]
+----
+<camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
+ <jmxAgent id="agent" disabled="true"/>
+ ...
+</camelContext>
+----
+
+Or in Camel 2.1 its a bit easier (not having to use JVM system property)
+if using pure Java as you can disable it as follows:
+
+[source,java]
+----
+CamelContext camel = new DefaultCamelContext();
+camel.disableJMX();
+----
diff --git
a/docs/user-manual/en/faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
b/docs/user-manual/en/faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
new file mode 100644
index 00000000000..3751cd89a07
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-enable-streams-when-debug-logging-messages-in-camel.adoc
@@ -0,0 +1,55 @@
+[[HowdoIenablestreamswhendebugloggingmessagesinCamel-HowdoIenablestreamswhendebugloggingmessagesinCamel]]
+=== How do I enable streams when debug logging messages in Camel
+
+*Available as of Camel 2.1*
+
+When you run Camel with `DEBUG` level as logging, it will log the
+messages and its content from time to time.
+As some messages can contain streams, which are prone to be not readable
+multiple times, and therefore Camel will by default *not* log these
+types.
+
+These instances are not logged by default:
+
+* `java.xml.transform.StreamSource`
+* `java.io.InputStream`
+* `java.io.OutputStream`
+* `java.io.Reader`
+* `java.io.Writer`
+
+You will see this in the log as:
+
+----
+DEBUG ProducerCache - >>>> Endpoint[direct:start]
Exchange[Message: [Body is instance of java.xml.transform.StreamSource]]
+----
+
+Here we have a message which is XML stream based.
+You can customize whether Camel should log the payload anyway.
+
+[[HowdoIenablestreamswhendebugloggingmessagesinCamel-CustomizingfromJavaDSL]]
+==== Customizing from Java DSL
+
+You add to the Camel properties the flag to log streams.
+
+[source,java]
+----
+ context.getProperties().put(Exchange.LOG_DEBUG_BODY_STREAMS, "true");
+----
+
+Notice default is `false`.
+
+[[HowdoIenablestreamswhendebugloggingmessagesinCamel-CustomizingfromSpringDSL]]
+==== Customizing from Spring DSL
+
+You add to the Camel properties the flag to log streams.
+
+[source,java]
+----
+ <camelContext>
+ <properties>
+ <property key="CamelLogDebugBodyStreams" value="true"/>
+ </properties>
+ </camelContext>
+----
+
+Notice default is `false`.
diff --git
a/docs/user-manual/en/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
b/docs/user-manual/en/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
new file mode 100644
index 00000000000..b1a12b33631
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-handle-failures-when-consuming-for-example-from-a-ftp-server.adoc
@@ -0,0 +1,31 @@
+[[HowdoIhandlefailureswhenconsumingforexamplefromaFTPserver-HowdoIhandlefailureswhenconsumingforexamplefromaFTPserver]]
+=== How do I handle failures when consuming for example from a FTP server?
+
+When you do a route such as:
+
+[source,java]
+----
+from("ftp://[email protected]?password=secret").to("bean:logic?method=doSomething");
+----
+
+And there is a failure with connecting to the remote FTP server. The
+existing link:../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?
+
+The <<ftp-component,FTP>> component have a few options
+(`maximumReconnectAttempts, reconnectDelay` to control number of retries
+and delay in between.
+
+But you can also plugin your own implementation and determine what to do
+using the `pollStrategy` option which has more documentation
+<<pollingConsumer-eip,Polling Consumer>>.
+Notice that the option `pollStrategy` applies for all consumers which is
+a `ScheduledPollConsumer` consumer. The page lists those.
+
+[[HowdoIhandlefailureswhenconsumingforexamplefromaFTPserver-Seealso]]
+==== See also
+
+* <<ftp-component,FTP>>
+* <<pollingConsumer-eip,Polling Consumer>>
diff --git
a/docs/user-manual/en/faq/how-do-i-import-rests-from-other-xml-files.adoc
b/docs/user-manual/en/faq/how-do-i-import-rests-from-other-xml-files.adoc
new file mode 100644
index 00000000000..7bc2c0aad36
--- /dev/null
+++ b/docs/user-manual/en/faq/how-do-i-import-rests-from-other-xml-files.adoc
@@ -0,0 +1,87 @@
+[[HowdoIimportrestsfromotherXMLfiles-HowdoIimportrestsfromotherXMLfiles]]
+=== How do I import rests from other XML files?
+
+*Available as of Camel 2.14*
+
+When defining rests in Camel using link:../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
+want to store common and reusable rests in other XML files, which you
+can simply import when needed.
+
+This is possible to define rests outside `<camelContext/>` which you do
+in a new `<restContext/>` tag.
+
+[NOTE]
+====
+When you use `<restContext>` then they are separated, and cannot
+reuse existing `<onException>`, `<intercept>`, `<dataFormats>` and similar
+cross cutting functionality defined in the `<camelContext>`. In other
+words the `<restContext>` is currently isolated. This may change in Camel
+3.x.
+====
+
+For example we could have a file named `myCoolRests.xml` which contains
+a rest (can have more) as shown:
+
+[source,xml]
+----
+ <restContext id="myCoolRest" xmlns="http://camel.apache.org/schema/spring">
+ <rest uri="/say/hello">
+ <get>
+ <to uri="direct:hello"/>
+ </get>
+ </rest>
+ </restContext>
+----
+
+Then in your XML file which contains the CamelContext you can use Spring
+to import the `myCoolRests.xml` file.
+And then inside `<camelContext/>` you can refer to the
+`<restContext/>` using the `<restContextRef>` by its id as shown below:
+
+[source,xml]
+----
+ <camelContext xmlns="http://camel.apache.org/schema/spring">
+
+ <restContextRef ref="myCoolRest"/>
+
+ <rest uri="/say/bye">
+ <get consumes="application/json">
+ <to uri="direct:bye"/>
+ </get>
+ <post>
+ <to uri="mock:update"/>
+ </post>
+ </rest>
+
+ <route>
+ <from uri="direct:hello"/>
+ <transform>
+ <constant>Hello World</constant>
+ </transform>
+ </route>
+ <route>
+ <from uri="direct:bye"/>
+ <transform>
+ <constant>Bye World</constant>
+ </transform>
+ </route>
+ </camelContext>
+----
+
+Also notice that you can mix and match, having rests inside CamelContext
+and also externalized in RestContext.
+
+You can have as many `<restContextRef/>` as you like.
+
+[TIP]
+====
+**Reusable rests**
+
+The rests defined in `<restContext/>` can be reused by multiple
+`<camelContext/>`. However its only the definition which is reused. At
+runtime each CamelContext will create its own instance of the rest based
+on the definition.
+====
diff --git
a/docs/user-manual/en/faq/how-do-i-import-routes-from-other-xml-files.adoc
b/docs/user-manual/en/faq/how-do-i-import-routes-from-other-xml-files.adoc
new file mode 100644
index 00000000000..679c502b697
--- /dev/null
+++ b/docs/user-manual/en/faq/how-do-i-import-routes-from-other-xml-files.adoc
@@ -0,0 +1,44 @@
+[[HowDoIImportRoutesFromOtherXMLFiles-HowDoIImportRoutesFromOtherXMLFiles]]
+=== How Do I Import Routes From Other XML Files?
+
+*Available as of Camel 2.3*
+
+When defining routes in Camel using link:../xml-configuration.adoc[Xml
Configuration]
+you may want to define some routes in other XML files.
+For example you may have many routes and it may help to maintain the
+application if some of the routes are in separate XML files. You may
+also want to store common and reusable routes in other XML files, which
+you can simply import when needed.
+
+In *Camel 2.3* it is now possible to define routes outside
+`<camelContext/>` which you do in a new `<routeContext/>` tag.
+
+NOTE: When you use `<routeContext>` then they are separated, and
+cannot reuse existing `<onException>`,
+`<intercept>`, `<dataFormats>` and similar cross cutting
+functionality defined in the `<camelContext>`. In other words
+the `<routeContext>` is currently isolated. This may change in Camel
+3.x.
+
+For example we could have a file named `myCoolRoutes.xml` which
+contains a couple of routes as shown:
+
+https://github.com/apache/camel/tree/master/components/camel-spring/src/test/resources/org/apache/camel/spring/config/myCoolRoutes.xml
+
+Then in your XML file which contains the CamelContext you can use Spring to
+import the `myCoolRoute.xml` file. And then inside `<camelContext/>`
+you can refer to the `<routeContext/>` by its `id` as shown below:
+
+https://github.com/apache/camel/tree/master/components/camel-spring/src/test/resources/org/apache/camel/spring/config/RouteRefIncludeXmlFileTest.xml
+
+Also notice that you can mix and match, having routes inside `CamelContext`
+and also externalized in `RouteContext`.
+
+You can have as many `<routeContextRef/>` as you like.
+
+==== Reusable routes
+
+The routes defined in `<routeContext/>` can be reused by multiple
+`<camelContext/>`. However its only the definition which is reused. At
+runtime each `CamelContext` will create its own instance of the route
+based on the definition.
diff --git a/docs/user-manual/en/faq/how-do-i-let-jetty-match-wildcards.adoc
b/docs/user-manual/en/faq/how-do-i-let-jetty-match-wildcards.adoc
new file mode 100644
index 00000000000..5bb143b1975
--- /dev/null
+++ b/docs/user-manual/en/faq/how-do-i-let-jetty-match-wildcards.adoc
@@ -0,0 +1,31 @@
+[[HowdoIletJettymatchwildcards-HowdoIletJettymatchwildcards]]
+=== How do I let Jetty match wildcards?
+
+By default <<jetty-component,Jetty>> will only match on exact uri's. But
+you can instruct Jetty to match prefixes. For example:
+
+[source,java]
+----
+from("jetty://0.0.0.0:8123/foo").to("mock:foo");
+----
+
+In the route above <<jetty-component,Jetty>> will only match if the uri is
+an exact match, so it will match if you enter
+`http://0.0.0.0:8123/foo` but not match if you do
+`http://0.0.0.0:8123/foo/bar`.
+
+So if you want to enable wildcard matching you do as follows:
+
+[source,java]
+----
+from("jetty://0.0.0.0:8123/foo?matchOnUriPrefix=true").to("mock:foo");
+----
+
+So now Jetty matches any endpoints with starts with `foo`.
+
+To match *any* endpoint you can do:
+
+[source,java]
+----
+from("jetty://0.0.0.0:8123?matchOnUriPrefix=true").to("mock:foo");
+----
diff --git
a/docs/user-manual/en/faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
b/docs/user-manual/en/faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
new file mode 100644
index 00000000000..48e9520c6a6
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-retrieve-the-thrown-exception-during-processing-an-exchange.adoc
@@ -0,0 +1,54 @@
+[[HowdoIretrievethethrownExceptionduringprocessinganExchange-HowdoIretrievethethrownExceptionduringprocessinganExchange]]
+=== How do I retrieve the thrown Exception during processing an Exchange?
+
+You have send an Exchange to Camel but it fails during processing caused
+by a thrown Exception. How do I retrieve this Exception?
+
+If you are using CamelTemplate (or CamelProducer), then its common to
+use the sendBody/requestBody methods that returns the exchange body
+response *only*. So if there was a thrown exception during processing
+Camel is not rethrowing this Exception. To remedy this you can use the
+plain send/request methods that accepts an Exchange object and returns
+an Exchange object.
+
+From the returned Exchange you can test if its failed and get the caused
+exception. This is illustrated in the code sample:
+
+[source,java]
+----
+@Test
+public void testBeanInvocation() {
+ int result = (Integer) template.sendBody("direct:input",
ExchangePattern.InOut, "Hello London");
+ assertEquals(1, result);
+}
+
+@Test
+public void testBeanInvocationFailure() {
+ // must create an exchange to get the result as an exchange where we can
get the caused exception
+ Exchange exchange =
getMandatoryEndpoint("direct:input").createExchange(ExchangePattern.InOut);
+ exchange.getIn().setBody("Hello Paris");
+
+ Exchange out = template.send("direct:input", exchange);
+ assertTrue("Should be failed", out.isFailed());
+ assertTrue("Should be IllegalArgumentException", out.getException()
instanceof IllegalArgumentException);
+ assertEquals("Forced exception", out.getException().getMessage());
+}
+
+protected RouteBuilder createRouteBuilder() throws Exception {
+ return new RouteBuilder() {
+ public void configure() throws Exception {
+ from("direct:input").bean(new ExceptionBean());
+ }
+ };
+}
+
+public static class ExceptionBean {
+ public int doSomething(String request) throws Exception {
+ if (request.equals("Hello London")) {
+ return 1;
+ } else {
+ throw new IllegalArgumentException("Forced exception");
+ }
+ }
+}
+----
diff --git
a/docs/user-manual/en/faq/how-do-i-retry-failed-messages-forever.adoc
b/docs/user-manual/en/faq/how-do-i-retry-failed-messages-forever.adoc
new file mode 100644
index 00000000000..277eced204e
--- /dev/null
+++ b/docs/user-manual/en/faq/how-do-i-retry-failed-messages-forever.adoc
@@ -0,0 +1,19 @@
+[[HowdoIretryfailedmessagesforever-HowdoIretryfailedmessagesforever]]
+=== How do I retry failed messages forever?
+
+If you want to keep the bad message in the original queue, then you are
+also blocking the messages that has arrived on the queue after the bad
+message.
+
+By default Camel will retry consuming a message up til 6 times before
+its moved to the default dead letter queue.
+
+If you configure the <<deadLetterChannel-eip,Dead Letter Channel>>
+to use `maximumRedeliveries = -1` then Camel will retry forever.
+
+When you consume a message you can check the in message header
+`org.apache.camel.redeliveryCount` that contains the number of times it
+has been redlivered.
+
+Or `org.apache.camel.Redelivered` that contains a boolean if its
+redelivered or if its the first time the message is processed.
diff --git
a/docs/user-manual/en/faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
b/docs/user-manual/en/faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
new file mode 100644
index 00000000000..1c5c6c1dec3
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-retry-processing-a-message-from-a-certain-point-back-or-an-entire-route.adoc
@@ -0,0 +1,92 @@
+[[HowdoIretryprocessingamessagefromacertainpointbackoranentireroute-HowdoIretryprocessingamessagefromacertainpointbackoranentireroute]]
+=== How do I retry processing a message from a certain point back or an entire
route
+
+By default Apache Camel will perform any redelivery (retry) attempts
+from the point of failure. So if you want to retry from a point before
+this, you would need to split up your route.
+
+In the example above we have 2 routes (`direct:start`, `direct:sub`). In
+case of a failure anywhere in the `direct:sub` route, then the entire
+route is retried. This happens because we have instructed the `direct:sub`
+route to not use any error handler (eg the no error handler). Then we
+link the routes using the <<direct-component,Direct>> component by calling
+the sub route from the 1st route.
+
+[source,java]
+----
+// in case of io exception then try to redeliver up till 2 times
+// (do not use any delay due faster unit testing)
+onException(IOException.class)
+ .maximumRedeliveries(2).redeliveryDelay(0);
+
+from("direct:start")
+ .to("mock:a")
+ // call sub route (using direct)
+ .to("direct:sub")
+ .to("mock:c");
+
+from("direct:sub")
+ // disable error handler, so the entire route can be retried in case of
redelivery
+ .errorHandler(noErrorHandler())
+ .to("mock:b")
+ .process(new MyProcessor());
+----
+
+The code above is based on an unit test, and as you can see the
+processor below is configured to fail the first 2 attempts.
+So that means the entire `direct:sub` route is redeliveried, meaning that
+the `mock:b` endpoint receives the incoming message again.
+
+[source,java]
+----
+public static class MyProcessor implements Processor {
+
+ private int counter;
+
+ @Override
+ public void process(Exchange exchange) throws Exception {
+ // use a processor to simulate error in the first 2 calls
+ if (counter++ < 2) {
+ throw new IOException("Forced");
+ }
+ exchange.getIn().setBody("Bye World");
+ }
+}
+----
+
+The same example is shown below using the XML DSL:
+
+[source,xml]
+----
+<!-- this is the processor that will fail the first 2 attempts -->
+<bean id="myProcessor"
class="org.apache.camel.processor.RedeliverToSubRouteTest.MyProcessor"/>
+
+<camelContext xmlns="http://camel.apache.org/schema/spring">
+
+ <!-- setup no error handler with an id, we refer to from the 2nd route -->
+ <errorHandler id="noErrorHandler" type="NoErrorHandler"/>
+
+ <!-- configure on exception to redelivery at most 2 times when an
IOException was thrown
+ do not use redelivery delay to run unit test faster -->
+ <onException>
+ <exception>java.io.IOException</exception>
+ <redeliveryPolicy maximumRedeliveries="2" redeliveryDelay="0"/>
+ </onException>
+
+ <!-- 1st route, no need to setup error handler, as it will use the default
error handler -->
+ <route>
+ <from uri="direct:start"/>
+ <to uri="mock:a"/>
+ <to uri="direct:sub"/>
+ <to uri="mock:c"/>
+ </route>
+
+ <!-- disable error handler on this route, so the entire route can be
redelivered
+ when called from the 1st route -->
+ <route errorHandlerRef="noErrorHandler">
+ <from uri="direct:sub"/>
+ <to uri="mock:b"/>
+ <process ref="myProcessor"/>
+ </route>
+</camelContext>
+----
diff --git
a/docs/user-manual/en/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
b/docs/user-manual/en/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
new file mode 100644
index 00000000000..dc32095df5e
--- /dev/null
+++
b/docs/user-manual/en/faq/how-do-i-specify-which-method-to-use-when-using-beans-in-routes.adoc
@@ -0,0 +1,9 @@
+[[HodoIspecifywhichmethodtousewhenusingbeansinroutes-HodoIspecifywhichmethodtousewhenusingbeansinroutes]]
+=== Ho do I specify which method to use when using beans in routes?
+
+See <<bean-component,Bean>>, link:../bean-integration.adoc[Bean Integration]
+and link: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 link:bean-binding.adoc[Bean Binding].
diff --git
a/docs/user-manual/en/faq/how-does-camel-look-up-beans-and-endpoints.adoc
b/docs/user-manual/en/faq/how-does-camel-look-up-beans-and-endpoints.adoc
new file mode 100644
index 00000000000..bf8b2ca58c9
--- /dev/null
+++ b/docs/user-manual/en/faq/how-does-camel-look-up-beans-and-endpoints.adoc
@@ -0,0 +1,23 @@
+[[HowdoesCamellookupbeansandendpoints-HowdoesCamellookupbeans,componentsorendpoints]]
+=== How does Camel look up beans, components or endpoints?
+
+There are many times using Camel that a name is used for a bean such as
+using the <<bean-component,Bean>> endpoint or using the
+<<bean-language,Bean Language>> to create a
+link:../expression.adoc[Expression] or link:../predicate.adoc[Predicate] or
+referring to any link:../component.adoc[Component] or
+link:../endpoint.adoc[Endpoint].
+
+Camel uses the link:../registry.adoc[Registry] to resolve names when
+looking up beans or components or endpoints. Typically this will be
+link:../spring.adoc[Spring]; though you can use Camel without Spring in
+which case it will use the link:../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
+link:../registry.adoc[Registry] implementation then you can refer to them
+by name in the link:../endpoint.adoc[Endpoint] URIs or <<bean-component,Bean>>
+endpoints or <<bean-language,Bean Language>> expressions.
diff --git
a/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route
b/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route
new file mode 100644
index 00000000000..591a8ed24ea
--- /dev/null
+++
b/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route
@@ -0,0 +1 @@
+{"contentType":"application/gliffy+json","version":"1.3","metadata":{"title":"untitled","revision":0,"exportBorder":false,"loadPosition":"default"},"embeddedResources":{"index":0,"resources":[]},"stage":{"objects":[{"x":120,"y":50,"rotation":0,"id":5,"uid":"com.gliffy.shape.erd.erd_v1.default.zero_one","width":85,"height":1,"lockAspectRatio":false,"lockShape":false,"order":4,"graphic":{"type":"Line","Line":{"strokeWidth":2,"strokeColor":"#333333","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":1,"startArrowRotation":"auto","endArrowRotation":"auto","ortho":true,"interpolationType":"linear","cornerRadius":null,"controlPath":[[0,0],[28.333333333333343,0],[56.66666666666666,0],[85,0]],"lockSegments":{}}},"children":[],"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":4,"px":1,"py":0.5}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":2,"px":0,"py":0.54}}},"linkMap":[]},{"x":305,"y":47,"rotation":0,"id":9,"uid":"com.gliffy.shape.erd.erd_v1.default.zero_one","width":82,"height":1,"lockAspectRatio":false,"lockShape":false,"order":9,"graphic":{"type":"Line","Line":{"strokeWidth":2,"strokeColor":"#333333","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":1,"startArrowRotation":"auto","endArrowRotation":"auto","ortho":true,"interpolationType":"linear","cornerRadius":null,"controlPath":[[0,0],[27.3333346036585,0],[54.666669207317,0],[82.0000038109755,0]],"lockSegments":{}}},"children":[],"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":2,"px":1,"py":0.5}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":8,"px":0,"py":0.487}}},"linkMap":[]},{"x":487,"y":48,"rotation":0,"id":15,"uid":"com.gliffy.shape.erd.erd_v1.default.zero_one","width":63.5,"height":1,"lockAspectRatio":false,"lockShape":false,"order":14,"graphic":{"type":"Line","Line":{"strokeWidth":2,"strokeColor":"#333333","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":1,"startArrowRotation":"auto","endArrowRotation":"auto","ortho":true,"interpolationType":"linear","cornerRadius":null,"controlPath":[[0,0],[21.166666666666686,0],[42.33333333333337,0],[63.5,0]],"lockSegments":{}}},"children":[],"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":8,"px":1,"py":0.5}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":14,"px":0,"py":0.5}}},"linkMap":[]},{"x":70,"y":75,"rotation":0,"id":17,"uid":"com.gliffy.shape.erd.erd_v1.default.zero_one","width":513,"height":29.5,"lockAspectRatio":false,"lockShape":false,"order":16,"graphic":{"type":"Line","Line":{"strokeWidth":2,"strokeColor":"#333333","fillColor":"none","dashStyle":null,"startArrow":1,"endArrow":0,"startArrowRotation":"auto","endArrowRotation":"auto","ortho":true,"interpolationType":"linear","cornerRadius":null,"controlPath":[[0,0],[0,29.5],[513,29.5],[513,5.5]],"lockSegments":{}}},"children":[],"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":4,"px":0.5,"py":1}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":14,"px":0.5,"py":1}}},"linkMap":[]},{"x":615.5,"y":48,"rotation":0,"id":20,"uid":"com.gliffy.shape.erd.erd_v1.default.zero_one","width":59.5,"height":1,"lockAspectRatio":false,"lockShape":false,"order":19,"graphic":{"type":"Line","Line":{"strokeWidth":2,"strokeColor":"#333333","fillColor":"none","dashStyle":null,"startArrow":0,"endArrow":1,"startArrowRotation":"auto","endArrowRotation":"auto","ortho":true,"interpolationType":"linear","cornerRadius":null,"controlPath":[[0,0],[19.83333333333337,0],[39.66666666666663,0],[59.5,0]],"lockSegments":{}}},"children":[],"constraints":{"constraints":[],"startConstraint":{"type":"StartPositionConstraint","StartPositionConstraint":{"nodeId":14,"px":1,"py":0.5}},"endConstraint":{"type":"EndPositionConstraint","EndPositionConstraint":{"nodeId":19,"px":0,"py":0.52}}},"linkMap":[]},{"x":205,"y":9.5,"rotation":0,"id":2,"uid":"com.gliffy.shape.flowchart.flowchart_v1.default.process","width":100,"height":75,"lockAspectRatio":false,"lockShape":false,"order":0,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2,"strokeColor":"#333333","fillColor":"#d1d1d1","gradient":true,"dropShadow":true,"state":null,"shadowX":4,"shadowY":4,"opacity":1}},"children":[{"x":0,"y":0,"rotation":0,"id":23,"uid":null,"width":100,"height":14,"lockAspectRatio":false,"lockShape":false,"order":"auto","graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">Processor</span></p>","paddingLeft":2,"paddingRight":2,"paddingBottom":2,"paddingTop":2,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[]}],"linkMap":[]},{"x":20,"y":25,"rotation":0,"id":4,"uid":"com.gliffy.shape.flowchart.flowchart_v1.default.start_end","width":100,"height":50,"lockAspectRatio":false,"lockShape":false,"order":2,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.start_end.flowchart_v1","strokeWidth":2,"strokeColor":"#333333","fillColor":"#d1d1d1","gradient":true,"dropShadow":true,"state":null,"shadowX":4,"shadowY":4,"opacity":1}},"children":[{"x":0,"y":0,"rotation":0,"id":24,"uid":null,"width":100,"height":14,"lockAspectRatio":false,"lockShape":false,"order":"auto","graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align: center;\"><span style=\"font-family: Arial; font-size:
12px; line-height:
14px;\">consumer</span></p>","paddingLeft":2,"paddingRight":2,"paddingBottom":2,"paddingTop":2,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[]}],"linkMap":[]},{"x":120.5,"y":25.5,"rotation":0,"id":6,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":35,"height":25,"lockAspectRatio":false,"lockShape":false,"order":5,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">out</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]},{"x":175.5,"y":25.5,"rotation":0,"id":7,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":25,"height":25,"lockAspectRatio":false,"lockShape":false,"order":6,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">in</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]},{"x":387,"y":10.5,"rotation":0,"id":8,"uid":"com.gliffy.shape.flowchart.flowchart_v1.default.process","width":100,"height":75,"lockAspectRatio":false,"lockShape":false,"order":7,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.rectangle.basic_v1","strokeWidth":2,"strokeColor":"#333333","fillColor":"#d1d1d1","gradient":true,"dropShadow":true,"state":null,"shadowX":4,"shadowY":4,"opacity":1}},"children":[{"x":0,"y":0,"rotation":0,"id":25,"uid":null,"width":100,"height":14,"lockAspectRatio":false,"lockShape":false,"order":"auto","graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">Processor</span></p>","paddingLeft":2,"paddingRight":2,"paddingBottom":2,"paddingTop":2,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[]}],"linkMap":[]},{"x":300.5,"y":20.5,"rotation":0,"id":10,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":35,"height":25,"lockAspectRatio":false,"lockShape":false,"order":10,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">out</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]},{"x":355.5,"y":20.5,"rotation":0,"id":11,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":25,"height":25,"lockAspectRatio":false,"lockShape":false,"order":11,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">in</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]},{"x":550.5,"y":15.5,"rotation":0,"id":14,"uid":"com.gliffy.shape.flowchart.flowchart_v1.default.decision","width":65,"height":65,"lockAspectRatio":false,"lockShape":false,"order":12,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.diamond.basic_v1","strokeWidth":2,"strokeColor":"#333333","fillColor":"#d1d1d1","gradient":true,"dropShadow":true,"state":null,"shadowX":4,"shadowY":4,"opacity":1}},"children":[{"x":0,"y":0,"rotation":0,"id":26,"uid":null,"width":65,"height":28,"lockAspectRatio":false,"lockShape":false,"order":"auto","graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0, 0);\">MEP</span></p><p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size: 12px;
line-height: 14px; color: rgb(0, 0,
0);\">type</span></p>","paddingLeft":2,"paddingRight":2,"paddingBottom":2,"paddingTop":2,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[]}],"linkMap":[]},{"x":485.5,"y":25.5,"rotation":0,"id":16,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":35,"height":25,"lockAspectRatio":false,"lockShape":false,"order":15,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">out</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]},{"x":675,"y":22,"rotation":0,"id":19,"uid":"com.gliffy.shape.flowchart.flowchart_v1.default.start_end","width":100,"height":50,"lockAspectRatio":false,"lockShape":false,"order":17,"graphic":{"type":"Shape","Shape":{"tid":"com.gliffy.stencil.start_end.flowchart_v1","strokeWidth":2,"strokeColor":"#333333","fillColor":"#d1d1d1","gradient":true,"dropShadow":true,"state":null,"shadowX":4,"shadowY":4,"opacity":1}},"children":[{"x":0,"y":0,"rotation":0,"id":27,"uid":null,"width":100,"height":14,"lockAspectRatio":false,"lockShape":false,"order":"auto","graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0, 0);\">Throw away
out</span></p>","paddingLeft":2,"paddingRight":2,"paddingBottom":2,"paddingTop":2,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[]}],"linkMap":[]},{"x":579,"y":80.5,"rotation":0,"id":21,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":50,"height":25,"lockAspectRatio":false,"lockShape":false,"order":20,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">InOut</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]},{"x":615,"y":20.5,"rotation":0,"id":22,"uid":"com.gliffy.shape.basic.basic_v1.default.text","width":50,"height":25,"lockAspectRatio":false,"lockShape":false,"order":21,"graphic":{"type":"Text","Text":{"tid":null,"valign":"middle","overflow":"none","vposition":"none","hposition":"none","html":"<p
style=\"text-align:center;\"><span style=\"font-family: Arial; font-size:
12px; line-height: 14px; color: rgb(0, 0,
0);\">InOnly</span></p>","paddingLeft":0,"paddingRight":0,"paddingBottom":0,"paddingTop":0,"outerPaddingLeft":5,"outerPaddingRight":6,"outerPaddingBottom":2,"outerPaddingTop":6}},"children":[],"linkMap":[]}],"background":"#ffffff","width":777,"height":109,"maxWidth":800,"maxHeight":150,"nodeIndex":28,"autoFit":true,"exportBorder":false,"gridOn":true,"snapToGrid":true,"drawingGuidesOn":false,"pageBreaksOn":false,"printGridOn":false,"printPaper":"LETTER","printShrinkToFit":false,"printPortrait":true,"shapeStyles":{"com.gliffy.shape.basic.basic_v1.default":{"fill":"#d1d1d1","stroke":"#333333","gradient":true,"shadow":true},"com.gliffy.shape.flowchart.flowchart_v1.default":{"fill":"#d1d1d1","stroke":"#333333","gradient":true,"shadow":true}},"lineStyles":{"global":{"stroke":"#333333","strokeWidth":2,"endArrow":1,"orthoMode":1}},"textStyles":{"global":{"face":"Arial","size":"12px","color":"#000000"}},"themeData":null,"viewportType":"default","fitBB":{"min":{"x":20,"y":9.5},"max":{"x":777,"y":109}}}}
\ No newline at end of file
diff --git
a/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
b/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
new file mode 100644
index 00000000000..07b4637be24
Binary files /dev/null and
b/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/Message-flow-in-Route.png
differ
diff --git
a/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/flow.png
b/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/flow.png
new file mode 100644
index 00000000000..37de500222c
Binary files /dev/null and
b/docs/user-manual/en/faq/using-getin-or-getout-methods-on-exchange.data/flow.png
differ
diff --git a/docs/user-manual/en/getting-started.adoc
b/docs/user-manual/en/getting-started.adoc
index 7fca1825f2d..70e8ad2be54 100644
--- a/docs/user-manual/en/getting-started.adoc
+++ b/docs/user-manual/en/getting-started.adoc
@@ -14,7 +14,7 @@ documentation before continuing:
Integration Patterns] and how to implement them with Camel
* Review the Architecture guide to see how to
build Routes using the Java DSL or
-Spring based link:xml-configuration.html[Xml
+Spring based link:xml-configuration.adoc[Xml
Configuration]
[[GettingStarted-WorkingwithCamelContextsandRouteBuilders]]
diff --git
a/docs/user-manual/en/images/download.data/camel-box-v1.0-150x200.png
b/docs/user-manual/en/images/download.data/camel-box-v1.0-150x200.png
new file mode 100644
index 00000000000..5389aa856f4
Binary files /dev/null and
b/docs/user-manual/en/images/download.data/camel-box-v1.0-150x200.png differ
diff --git a/docs/user-manual/en/jndi.adoc b/docs/user-manual/en/jndi.adoc
new file mode 100644
index 00000000000..d0636fa74a0
--- /dev/null
+++ b/docs/user-manual/en/jndi.adoc
@@ -0,0 +1,22 @@
+[[JNDI-JNDI]]
+=== JNDI
+
+Camel will use JNDI as the default link:registry.adoc[Registry]
+implementation if you do not use link:spring.adoc[Spring]. This means
+that using a DefaultCamelContext will try and create a
+http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/JndiRegistry.html[JndiRegistry]
+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
+link: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.
+
+You can use the Camel JNDI provider by using the following
+`jndi.properties` file:
+
+[source,java]
+----
+java.naming.factory.initial =
org.apache.camel.util.jndi.CamelInitialContextFactory
+----
diff --git a/docs/user-manual/en/release-notes/camel-2170-release.adoc
b/docs/user-manual/en/release-notes/camel-2170-release.adoc
index dc48c7ebdb7..109efc51fd4 100644
--- a/docs/user-manual/en/release-notes/camel-2170-release.adoc
+++ b/docs/user-manual/en/release-notes/camel-2170-release.adoc
@@ -130,9 +130,9 @@ local IP address (eg 0.0.0.0) by default.
* link:quartz2.html[Camel-quartz2] now supports customCalendar to avoid
specific range of dates (Holidays for example) in Scheduler and
Triggers.
-* Improved link:bean-language.html[Bean Language] to be able to invoke
+* Improved <<bean-language,Bean Language>> to be able to invoke
static methods on pure static classes.
-* When link:bean-language.html[Bean Language] failed to invoke a method
+* When <<bean-language,Bean Language>> failed to invoke a method
from an OGNL method chain (eg invoke the following 3 methods
"doFoo.doSomething.getBar") and a method returned null which prevent
further method invocation as that would cause a NullPointerException.
@@ -188,7 +188,7 @@ trailing slash if provided in uri when calling remote HTTP
service.
* Fixed link:oncompletion.html[OnCompletion] to keep any caught
exception stored as property on the `Exchange` which allows to access
that information to know if there was an exception during routing.
-* Fixed an issue with link:bean.html[Bean] component
+* Fixed an issue with <<bean-component,Bean>> component
or link:simple.html[Simple] language with OGNL method call, would pick
method with java.lang.Object type over a better suited method, when the
method is overloaded.
@@ -377,7 +377,7 @@ and bcc using lower case keys, eg [email protected], instead
of mailto:[email protected][[email protected]] as previously.
* The <<file-component,File>> consumer no longer probe the file content by
default. See the option `probeContentType` for more details.
-* If using link:bean.html[Bean] or link:class.html[Class] component and
+* If using <<bean-component,Bean>> or link:class.html[Class] component and
specifying additional parameters in the endpoint uri to configure on the
bean, then these options should now be prefixed with bean., eg
`foo=123` is now `bean.foo=123`.
diff --git a/docs/user-manual/en/release-notes/camel-2180-release.adoc
b/docs/user-manual/en/release-notes/camel-2180-release.adoc
index e0a6fb43652..429b8ef0d1a 100644
--- a/docs/user-manual/en/release-notes/camel-2180-release.adoc
+++ b/docs/user-manual/en/release-notes/camel-2180-release.adoc
@@ -49,7 +49,7 @@ on the classpath (by their default name) and if there only
exists one,
then that is used.
* Spring-DM for OSGi moved out of camel-spring into a separate
camel-spring-dm module. +
-* Improved the link:bean.html[Bean] component to better match method
+* Improved the <<bean-component,Bean>> component to better match method
parameter types when using link:simple.html[Simple] language as
parameter values.
* Added `BindyConverter` that allows to implement custom data converters
@@ -82,7 +82,7 @@ endpoint configuration.
paths if missing.
* Added support for async mode for link:servlet.html[SERVLET] component
to leverage Asynchronous Servlet from the Servlet 3.0 spec.
-* link:bean.html[Bean] component and link:bean-language.html[Bean
+* <<bean-component,Bean>> component and link:bean-language.html[Bean
Language] validates method name must be a valid according to java
identifier rules, and also if parameter syntax has an ending
parenthesis.
@@ -106,7 +106,7 @@ needed.
that better supports link:content-enricher.html[Content Enricher]
using `pollEnrich` to do a on-demand poll that returns either none, one
or a list of entities as the result.
-* Calling link:bean.html[Bean] with method parameters defined
+* Calling <<bean-component,Bean>> with method parameters defined
using link:simple.html[Simple] parameters, now avoids an intermediate
conversion of the parameters to a String value. This ensures the passed
in values when calling the bean method is using the parameter type as-is
@@ -175,12 +175,12 @@ remote server.
sending to websocket channels to avoid potentially blocking for a long
time due networking issues with clients.
* link:hazelcast-component.html[Hazelcast Component] now provide
-a link:routepolicy.html[RoutePolicy].
+a link:routepolicy.adoc[RoutePolicy].
* Saxon has been upgraded to version 9.7
### Resolved Issues
-* Fixed link:bean.html[Bean] component to avoid ambiguous error for
+* Fixed <<bean-component,Bean>> component to avoid ambiguous error for
classes that extends generic interface and calling which could lead to
falsely duplicate methods (due Java type erasure inserts bridge
methods)
@@ -194,7 +194,7 @@ allowed.
* Fixed link:swagger-java.html[Swagger Java] when using property
placeholders in link:rest-dsl.html[Rest DSL] could cause invalid
parameters to be included that was from the placeholder.
-* The `threads` EIP now lets link:error-handling-in-camel.html[Error
+* The `threads` EIP now lets link:error-handling-in-camel.adoc[Error
handling in Camel] perform redeliveries if the thread pool would
otherwise reject accepting the task. This allows the error handler to
perform redeliveries to attempt to put the task on the thread pool
@@ -211,7 +211,7 @@ dead letter channel endpooint should not be invoked.
when using `continued(true)` by default.
* Fixed so using shareUnitOfWork would now also call
specialized `AggregationStrategy` for onTimeout, onCompletion etc.
-* Fixed link:jetty.html[Jetty] consumer incorrectly handle
+* Fixed <<jetty-component,Jetty>> consumer incorrectly handle
multipart/form data not being mapped as attachments on the Camel
Message.
* Fixed link:netty4-http.html[Netty4 HTTP] may fail reading the http
diff --git a/docs/user-manual/en/release-notes/camel-2190-release.adoc
b/docs/user-manual/en/release-notes/camel-2190-release.adoc
index 003af5b8810..5a0d840bc73 100644
--- a/docs/user-manual/en/release-notes/camel-2190-release.adoc
+++ b/docs/user-manual/en/release-notes/camel-2190-release.adoc
@@ -37,7 +37,7 @@ Annotations.
* Added `camel-catalog-rest-app` as a standalone application which used
Apache CXF with Jetty to host the Catalog REST API with embedded Swagger
UI
-* Returning `null` from link:bean.html[Bean] should work similar to
+* Returning `null` from <<bean-component,Bean>> should work similar to
how `setBody` and `transform` works when they set a `null` body.
* The Camel Spring Boot starter components now have their auto
configuration depends
@@ -152,7 +152,7 @@ CamelContext from the consumer and not from cached endpoint
which can be
different
* Fixed a bug when using link:rest-dsl.html[Rest DSL]
with link:servlet.html[SERVLET] could cause a java.io.IOException:
-Stream closed exception when using link:bean.html[Bean] in the route.
+Stream closed exception when using <<bean-component,Bean>> in the route.
* Fixed an issue when using `pipeline` in Java DSL not setting up the
EIP correctly which could lead to runtime route not as intended.
* Fixed link:dropbox.html[Dropbox] to
diff --git a/docs/user-manual/en/release-notes/camel-2200-release.adoc
b/docs/user-manual/en/release-notes/camel-2200-release.adoc
index 1818d66bf79..4bba4d6eb61 100644
--- a/docs/user-manual/en/release-notes/camel-2200-release.adoc
+++ b/docs/user-manual/en/release-notes/camel-2200-release.adoc
@@ -51,7 +51,7 @@ started last - when all resources should be available, and
stopped first
* The link:sql-stored-procedure.html[SQL Stored Procedure] now supports
specifying custom types as FQN classnames and scale in numeric values.
* Using Camel with link:spring.adoc[Spring] now supports calling
-link:bean.html[Bean] by their FQN name and let Spring instantiate the
+<<bean-component,Bean>> by their FQN name and let Spring instantiate the
bean using auto-wired constructor's as opposed to only supporting a
no-arg constructor.
* Using Camel with link:spring-boot.html[Spring Boot] can now easily
@@ -112,7 +112,7 @@ fallback not signaling to Hystrix itself so it can keep
state of the
failure and react accordingly to run in half-open mode as well.
* Fixed link:mdc-logging.html[MDC logging] loosing route id after
calling a direct route from within a transacted route
-* Fixed a regression with link:bean.html[Bean]
+* Fixed a regression with <<bean-component,Bean>>
and link:simple.html[Simple] OGNL expressions causing ambiguous method
call exception when calling method implemented by super class when
method is defined by interface and abstract class
diff --git a/docs/user-manual/en/release-notes/camel-2210-release.adoc
b/docs/user-manual/en/release-notes/camel-2210-release.adoc
index 2ec1c6c0179..112806989da 100644
--- a/docs/user-manual/en/release-notes/camel-2210-release.adoc
+++ b/docs/user-manual/en/release-notes/camel-2210-release.adoc
@@ -47,7 +47,7 @@ are included in the generated Swagger api-doc via
camel-swagger-java.
* Improved file/ftp consumer to use current thread to poll, instead of a
scheduled background task, when using pollEnrich
(link:content-enricher.html[Content Enricher]).
-* link:direct.html[Direct] component now blocks by default if sending to
+* <<direct-component,Direct>> component now blocks by default if sending to
a consumer which is not yet ready, which may happen during startup
(little window of opportunity). This
avoids `DirectConsumerNotAvailableException` being thrown during startup
@@ -59,7 +59,7 @@ operations. You can also find this information for the
consumer in JMX.
For example if you download big files and has connection problems with
the FTP server. Then later when the connectivity works again, Camel can
resume download the in-progress file.
-* The link:jetty.html[Jetty] and link:servlet.html[SERVLET] consumers
+* The <<jetty-component,Jetty>> and link:servlet.html[SERVLET] consumers
will now return HTTP Status 405 (method not allowed) for requests that
would have been processed by another HTTP request method, for example
calling REST services with the wrong method. Beforehand a 404 error code
@@ -93,7 +93,7 @@ that occurred at INFO level.
* You can now configure many of the link:rabbitmq.html[RabbitMQ] options
on the component level instead of having to repeat them on each
endpoint.
-* The link:bean.html[Bean] language can now refer to method name via the
+* The <<bean-component,Bean>> language can now refer to method name via the
double colon syntax, eg `.to("bean:myBean::myMethod")`
The following issues has been fixed
@@ -112,7 +112,7 @@ requests come in faster than it can process existing
in-flight messages.
* Fixed an issue with link:routing-slip.html[Routing Slip]
and link:dynamic-router.html[Dynamic Router] when using context scoped
error handler, could cause the error handler to become stopped.
-* Fixed link:rest-dsl.html[Rest DSL] with link:jetty.html[Jetty]
+* Fixed link:rest-dsl.html[Rest DSL] with <<jetty-component,Jetty>>
security via custom define security handler and turned on api-doc as
well would not startup Jetty server due missing NoLoginService error.
* Fixed Blueprint error: "name is already instanciated as null and
@@ -153,7 +153,7 @@ to
`org.apache.camel.http.common.ServletResolveConsumerStrategy`
* Jetty has been upgraded to 9.4 by default, and camel-jetty is requring
version 9.3 or 9.4 to run in OSGi.
-* link:direct.html[Direct] component now blocks by default if sending to
+* <<direct-component,Direct>> component now blocks by default if sending to
a consumer which is not yet ready, which may happen during startup
(little window of opportunity). This
avoids `DirectConsumerNotAvailableException` being thrown during startup
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Migrate the rest of the Confluence content
> ------------------------------------------
>
> Key: CAMEL-11497
> URL: https://issues.apache.org/jira/browse/CAMEL-11497
> Project: Camel
> Issue Type: Sub-task
> Components: website
> Reporter: Zoran Regvart
> Assignee: Önder Sezgin
> Priority: Major
> Fix For: Future
>
>
> There are still pages in the Confluence that are not migrated to Asciidoctor
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)