You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2019/03/31 15:23:09 UTC

svn commit: r1042911 [24/48] - in /websites/production/camel/content: ./ 2007/08/17/ 2008/04/08/ 2008/04/28/ 2009/01/19/ 2009/10/26/ 2012/01/17/ 2012/03/01/ 2019/03/ 2019/03/31/

Modified: websites/production/camel/content/docker.html
==============================================================================
--- websites/production/camel/content/docker.html (original)
+++ websites/production/camel/content/docker.html Sun Mar 31 15:23:07 2019
@@ -88,7 +88,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Docker-CamelDockercomponent">Camel Docker component</h2><p><strong>Available as of Camel 2.15</strong></p><p>Camel component for communicating with Docker.</p><p>The Docker Camel component leverages the <a shape="rect" class="external-link" href="https://github.com/docker-java/docker-java" rel="nofollow">docker-java</a>&#160;via the <a shape="rect" class="external-link" href="https://docs.docker.com/reference/api/docker_remote_api" rel="nofollow">Docker Remote API</a>.</p><p><span style="line-height: 1.4285715;">Maven users will need to add the following dependency to their </span><code style="line-height: 1.4285715;">pom.xml</code><span style="line-height: 1.4285715;"> for this component:</span></p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Docker-CamelDockercomponent">Camel Docker component</h2><p><strong>Available as of Camel 2.15</strong></p><p>Camel component for communicating with Docker.</p><p>The Docker Camel component leverages the <a shape="rect" class="external-link" href="https://github.com/docker-java/docker-java" rel="nofollow">docker-java</a>&#160;via the <a shape="rect" class="external-link" href="https://docs.docker.com/reference/api/docker_remote_api" rel="nofollow">Docker Remote API</a>.</p><p><span style="line-height: 1.4285715;">Maven users will need to add the following dependency to their </span><code style="line-height: 1.4285715;">pom.xml</code><span style="line-height: 1.4285715;"> for this component:</span></p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;dependency&gt;
     &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
     &lt;artifactId&gt;camel-docker&lt;/artifactId&gt;
@@ -96,12 +96,12 @@
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 </pre>
-</div></div><h3 id="Docker-URIformat">URI format</h3><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="Docker-URIformat">URI format</h3><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">docker://[operation]?[options]
 </pre>
-</div></div><p>Where <strong>operation</strong> is the specific action to perform on Docker.</p><h3 id="Docker-HeaderStrategy">Header Strategy</h3><p>All URI option can be passed as Header properties. Values found in a message header take precedence over URI parameters. A header property takes the form of a URI option prefixed with *CamelDocker* as shown below</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">URI Option</th><th colspan="1" rowspan="1" class="confluenceTh">Header Property</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">containerId</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerContainerId</td></tr></tbody></table></div><h3 id="Docker-GeneralOptions">General Options</h3><p>The following parameters can be used with any invocation of the component</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Option</t
 h><th colspan="1" rowspan="1" class="confluenceTh">Header</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Default Value</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">host</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerHost</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Mandatory:</strong> Docker host&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">localhost</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">port</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerPort</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Mandatory:</strong><span>&#160;</span>Docker port</td><td colspan="1" rowspan="1" class="confluenceTd">2375</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">username</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerUserName</td><td colspan="1" rowspan="1" class="confluenceTd">User na
 me to authenticate with</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">password</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerPassword</td><td colspan="1" rowspan="1" class="confluenceTd">Password to authenticate with</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">email</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerEmail</td><td colspan="1" rowspan="1" class="confluenceTd">Email address associated with the user</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">secure</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerSecure</td><td colspan="1" rowspan="1" class="confluenceTd">Use HTTPS communication&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">false</td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd">requestTimeout</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerRequestTimeout</td><td colspan="1" rowspan="1" class="confluenceTd">Request timeout for response (in seconds)</td><td colspan="1" rowspan="1" class="confluenceTd">30</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">certPath</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerCertPath</td><td colspan="1" rowspan="1" class="confluenceTd">Location containing the SSL certificate chain</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr></tbody></table></div><h3 id="Docker-ConsumerOperations">Consumer Operations</h3><p>The consumer supports the following operations.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Operation</th><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="conflue
 nceTh">Produces</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">events</td><td colspan="1" rowspan="1" class="confluenceTd">initialRange</td><td colspan="1" rowspan="1" class="confluenceTd">Monitor Docker events (Streaming)</td><td colspan="1" rowspan="1" class="confluenceTd">Event</td></tr></tbody></table></div><h3 id="Docker-ProducerOperations">Producer Operations</h3><p>The following producer operations are available.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Misc Operation</th><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Returns</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">auth</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Check auth configuration</td><td colspan="1" rowspan="1" c
 lass="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">info</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">System wide information</td><td colspan="1" rowspan="1" class="confluenceTd">Info</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">ping</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Ping the Docker server</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">version</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Show the docker version information</td><td colspan="1" rowspan="1" class="confluenceTd">Version</td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Image Operation</th
 ><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Body Content</th><th colspan="1" rowspan="1" class="confluenceTh">Returns</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/list</td><td colspan="1" rowspan="1" class="confluenceTd">filter, showAll</td><td colspan="1" rowspan="1" class="confluenceTd">List images</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">List&lt;Image&gt;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/create</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>repository</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Create an image</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td><td colspan="1" rowspan="1" class="confluenceTd">CreateImageResponse</td></tr><tr><td colspan="1" rowspan="1" class
 ="confluenceTd">&#160;image/build</td><td colspan="1" rowspan="1" class="confluenceTd">noCache, quiet, remove, tag</td><td colspan="1" rowspan="1" class="confluenceTd">Build an image from Dockerfile via stdin</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream or File</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/pull</td><td colspan="1" rowspan="1" class="confluenceTd"><span><strong>repository</strong>, registry, tag</span></td><td colspan="1" rowspan="1" class="confluenceTd">Pull an image from the registry&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><span>InputStream</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/push</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>name</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Push an image on the registry</td><td 
 colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><span>InputStream</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/search</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>term</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Search for images</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><span>List&lt;SearchItem&gt;</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/remove</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Remove an image</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;image/tag&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId, r
 epository, tag, force</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Tag an image into a repository</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/inspect</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Inspect an image</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InspectImageResponse</td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Container Operation</th><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Body Content</th><th colspan="1" rowspan="1" class="conflue
 nceTh">Returns</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/list</td><td colspan="1" rowspan="1" class="confluenceTd">showSize, showAll, before, since, limit, List containers</td><td colspan="1" rowspan="1" class="confluenceTd">initialRange</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">List&lt;Container&gt;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/create</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId</strong>, name, exposedPorts, workingDir, disableNetwork, hostname,<br clear="none">user, tty, stdInOpen, stdInOnce, memoryLimit, memorySwap, cpuShares,<br clear="none">attachStdIn, attachStdOut, attachStdErr, env, cmd, dns, image, volumes,<br clear="none">volumesFrom</td><td colspan="1" rowspan="1" class="confluenceTd">Create a container&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="
 confluenceTd">CreateContainerResponse</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;container/start</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>containerId</strong>, binds, links, lxcConf, portBindings, privileged, publishAllPorts,<br clear="none"><span style="line-height: 1.4285715;">dns, dnsSearch, volumesFrom, networkMode, devices, restartPolicy,<br clear="none">capAdd, capDrop</span></p></td><td colspan="1" rowspan="1" class="confluenceTd">Start a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;container/inspect</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Inspect a container&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InspectCo
 ntainerResponse</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;container/wait</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Wait a container</td><td colspan="1" rowspan="1" class="confluenceTd">Integer</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/log</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, stdOut, stdErr, timestamps, followStream, tailAll, tail</td><td colspan="1" rowspan="1" class="confluenceTd">Get container logs&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/attach</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, stdOut, stdErr, timestamps, logs, followStrea
 m</td><td colspan="1" rowspan="1" class="confluenceTd">Attach to a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/stop</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, timeout</td><td colspan="1" rowspan="1" class="confluenceTd">Stop a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/restart</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong><span>, timeout</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>Restart a container</span></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class=
 "confluenceTd">container/diff</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd"><span>Inspect changes on a container</span></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">ChangeLog</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/kill</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, signal</td><td colspan="1" rowspan="1" class="confluenceTd">Kill a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/top</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, psArgs</td><td colspan="1" rowspan="1" class="confluenceTd">List processes running in a container</td><td colspan="1" rowspan="1" class="confluenceTd
 ">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">TopContainerResponse</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/pause</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Pause a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/unpause</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Unpause a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/commit</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, repository, message, tag, attachStdIn, attachS
 tdOut, attachStdErr,<br clear="none">cmd, disableNetwork, pause, env, exposedPorts, hostname, memory, memorySwap,<br clear="none">openStdIn, portSpecs, stdInOnce, tty, user, volumes, hostname</td><td colspan="1" rowspan="1" class="confluenceTd">Create a new image from a container's changes</td><td colspan="1" rowspan="1" class="confluenceTd">String</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/copyfile</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, <strong>resource</strong>, hostPath</td><td colspan="1" rowspan="1" class="confluenceTd">Copy files or folders from a container</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/remove</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, force, 
 removeVolumes&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Remove a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr></tbody></table></div><p>&#160;</p><h3 id="Docker-Examples">Examples</h3><p>The following example consumes events from Docker:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where <strong>operation</strong> is the specific action to perform on Docker.</p><h3 id="Docker-HeaderStrategy">Header Strategy</h3><p>All URI option can be passed as Header properties. Values found in a message header take precedence over URI parameters. A header property takes the form of a URI option prefixed with *CamelDocker* as shown below</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">URI Option</th><th colspan="1" rowspan="1" class="confluenceTh">Header Property</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">containerId</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerContainerId</td></tr></tbody></table></div><h3 id="Docker-GeneralOptions">General Options</h3><p>The following parameters can be used with any invocation of the component</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Option</t
 h><th colspan="1" rowspan="1" class="confluenceTh">Header</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Default Value</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">host</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerHost</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Mandatory:</strong> Docker host&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">localhost</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">port</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerPort</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Mandatory:</strong><span>&#160;</span>Docker port</td><td colspan="1" rowspan="1" class="confluenceTd">2375</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">username</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerUserName</td><td colspan="1" rowspan="1" class="confluenceTd">User na
 me to authenticate with</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">password</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerPassword</td><td colspan="1" rowspan="1" class="confluenceTd">Password to authenticate with</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">email</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerEmail</td><td colspan="1" rowspan="1" class="confluenceTd">Email address associated with the user</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">secure</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerSecure</td><td colspan="1" rowspan="1" class="confluenceTd">Use HTTPS communication&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">false</td></tr><tr><td colspan="1" rowspan="1" class="conflu
 enceTd">requestTimeout</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerRequestTimeout</td><td colspan="1" rowspan="1" class="confluenceTd">Request timeout for response (in seconds)</td><td colspan="1" rowspan="1" class="confluenceTd">30</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">certPath</td><td colspan="1" rowspan="1" class="confluenceTd">CamelDockerCertPath</td><td colspan="1" rowspan="1" class="confluenceTd">Location containing the SSL certificate chain</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr></tbody></table></div><h3 id="Docker-ConsumerOperations">Consumer Operations</h3><p>The consumer supports the following operations.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Operation</th><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="conflue
 nceTh">Produces</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">events</td><td colspan="1" rowspan="1" class="confluenceTd">initialRange</td><td colspan="1" rowspan="1" class="confluenceTd">Monitor Docker events (Streaming)</td><td colspan="1" rowspan="1" class="confluenceTd">Event</td></tr></tbody></table></div><h3 id="Docker-ProducerOperations">Producer Operations</h3><p>The following producer operations are available.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Misc Operation</th><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Returns</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">auth</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Check auth configuration</td><td colspan="1" rowspan="1" c
 lass="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">info</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">System wide information</td><td colspan="1" rowspan="1" class="confluenceTd">Info</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">ping</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Ping the Docker server</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">version</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Show the docker version information</td><td colspan="1" rowspan="1" class="confluenceTd">Version</td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Image Operation</th
 ><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Body Content</th><th colspan="1" rowspan="1" class="confluenceTh">Returns</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/list</td><td colspan="1" rowspan="1" class="confluenceTd">filter, showAll</td><td colspan="1" rowspan="1" class="confluenceTd">List images</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">List&lt;Image&gt;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/create</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>repository</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Create an image</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td><td colspan="1" rowspan="1" class="confluenceTd">CreateImageResponse</td></tr><tr><td colspan="1" rowspan="1" class
 ="confluenceTd">&#160;image/build</td><td colspan="1" rowspan="1" class="confluenceTd">noCache, quiet, remove, tag</td><td colspan="1" rowspan="1" class="confluenceTd">Build an image from Dockerfile via stdin</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream or File</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/pull</td><td colspan="1" rowspan="1" class="confluenceTd"><span><strong>repository</strong>, registry, tag</span></td><td colspan="1" rowspan="1" class="confluenceTd">Pull an image from the registry&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><span>InputStream</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/push</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>name</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Push an image on the registry</td><td 
 colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><span>InputStream</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/search</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>term</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Search for images</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><span>List&lt;SearchItem&gt;</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/remove</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Remove an image</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;image/tag&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId, r
 epository, tag, force</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Tag an image into a repository</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">image/inspect</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Inspect an image</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InspectImageResponse</td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Container Operation</th><th colspan="1" rowspan="1" class="confluenceTh">Options</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th><th colspan="1" rowspan="1" class="confluenceTh">Body Content</th><th colspan="1" rowspan="1" class="conflue
 nceTh">Returns</th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/list</td><td colspan="1" rowspan="1" class="confluenceTd">showSize, showAll, before, since, limit, List containers</td><td colspan="1" rowspan="1" class="confluenceTd">initialRange</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">List&lt;Container&gt;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/create</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>imageId</strong>, name, exposedPorts, workingDir, disableNetwork, hostname,<br clear="none">user, tty, stdInOpen, stdInOnce, memoryLimit, memorySwap, cpuShares,<br clear="none">attachStdIn, attachStdOut, attachStdErr, env, cmd, dns, image, volumes,<br clear="none">volumesFrom</td><td colspan="1" rowspan="1" class="confluenceTd">Create a container&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="
 confluenceTd">CreateContainerResponse</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;container/start</td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>containerId</strong>, binds, links, lxcConf, portBindings, privileged, publishAllPorts,<br clear="none"><span style="line-height: 1.4285715;">dns, dnsSearch, volumesFrom, networkMode, devices, restartPolicy,<br clear="none">capAdd, capDrop</span></p></td><td colspan="1" rowspan="1" class="confluenceTd">Start a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;container/inspect</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Inspect a container&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InspectCo
 ntainerResponse</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">&#160;container/wait</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Wait a container</td><td colspan="1" rowspan="1" class="confluenceTd">Integer</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/log</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, stdOut, stdErr, timestamps, followStream, tailAll, tail</td><td colspan="1" rowspan="1" class="confluenceTd">Get container logs&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/attach</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, stdOut, stdErr, timestamps, logs, followStrea
 m</td><td colspan="1" rowspan="1" class="confluenceTd">Attach to a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/stop</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, timeout</td><td colspan="1" rowspan="1" class="confluenceTd">Stop a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/restart</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong><span>, timeout</span></td><td colspan="1" rowspan="1" class="confluenceTd"><span>Restart a container</span></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class=
 "confluenceTd">container/diff</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd"><span>Inspect changes on a container</span></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">ChangeLog</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/kill</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, signal</td><td colspan="1" rowspan="1" class="confluenceTd">Kill a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/top</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, psArgs</td><td colspan="1" rowspan="1" class="confluenceTd">List processes running in a container</td><td colspan="1" rowspan="1" class="confluenceTd
 ">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">TopContainerResponse</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/pause</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Pause a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/unpause</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong></td><td colspan="1" rowspan="1" class="confluenceTd">Unpause a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/commit</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, repository, message, tag, attachStdIn, attachS
 tdOut, attachStdErr,<br clear="none">cmd, disableNetwork, pause, env, exposedPorts, hostname, memory, memorySwap,<br clear="none">openStdIn, portSpecs, stdInOnce, tty, user, volumes, hostname</td><td colspan="1" rowspan="1" class="confluenceTd">Create a new image from a container's changes</td><td colspan="1" rowspan="1" class="confluenceTd">String</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/copyfile</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, <strong>resource</strong>, hostPath</td><td colspan="1" rowspan="1" class="confluenceTd">Copy files or folders from a container</td><td colspan="1" rowspan="1" class="confluenceTd">InputStream</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">container/remove</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>containerId</strong>, force, 
 removeVolumes&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Remove a container</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td></tr></tbody></table></div><p>&#160;</p><h3 id="Docker-Examples">Examples</h3><p>The following example consumes events from Docker:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("docker://events?host=192.168.59.103&amp;port=2375").to("log:event");</pre>
-</div></div><p>&#160;</p><p>The following example queries Docker for system wide information</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>&#160;</p><p>The following example queries Docker for system wide information</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">from("docker://info?host=192.168.59.103&amp;port=2375").to("log:info");</pre>
 </div></div><p>&#160;</p><p>&#160;</p><p>&#160;</p></div>
         </td>

Modified: websites/production/camel/content/download.html
==============================================================================
--- websites/production/camel/content/download.html (original)
+++ websites/production/camel/content/download.html Sun Mar 31 15:23:07 2019
@@ -87,13 +87,13 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Download-LatestReleases">Latest Releases</h2><div class="sectionColumnWrapper"><div class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro" style="width:20%;min-width:20%;max-width:20%;"><div class="conf-macro output-block" data-hasbody="true" data-macro-name="div" style="padding-right:20px;float:left;"><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/images/camel-box-small.png" data-image-src="http://camel.apache.org/images/camel-box-small.png"></span></p></div>
+<div class="wiki-content maincontent"><h2 id="Download-LatestReleases">Latest Releases</h2><div class="sectionColumnWrapper conf-macro output-block" data-hasbody="true" data-macro-name="section"><div class="sectionMacro"><div class="sectionMacroRow"><div class="columnMacro conf-macro output-block" style="width:20%;min-width:20%;max-width:20%;" data-hasbody="true" data-macro-name="column"><div class="conf-macro output-block" style="padding-right:20px;float:left;" data-hasbody="true" data-macro-name="div"><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/images/camel-box-small.png" data-image-src="http://camel.apache.org/images/camel-box-small.png"></span></p></div>
 
 
-</div><div class="columnMacro" style="width:80%;min-width:80%;max-width:80%;"><div class="conf-macro output-block" data-hasbody="true" data-macro-name="div" style="min-height:200px"><p>Grab these releases while they are hot!</p><ul><li>The latest milestone release for Camel 3.0.x is <a shape="rect" href="camel-300-m1-milestone-1-release.html">Camel 3.0.0-M1 (Milestone 1) Release</a>.</li><li>The latest release for Camel 2.23.x is <a shape="rect" href="camel-2231-release.html">Camel 2.23.1 Release</a>.</li><li>The latest release for Camel 2.22.x is <a shape="rect" href="camel-2223-release.html">Camel 2.22.3 Release</a>.</li><li>The latest release for Camel 2.21.x is <a shape="rect" href="camel-2215-release.html">Camel 2.21.5 Release</a>.</li><li>Camel versions 2.20.x <span>and older are no longer actively developed.</span></li></ul></div>
+</div><div class="columnMacro conf-macro output-block" style="width:80%;min-width:80%;max-width:80%;" data-hasbody="true" data-macro-name="column"><div class="conf-macro output-block" style="min-height:200px" data-hasbody="true" data-macro-name="div"><p>Grab these releases while they are hot!</p><ul><li>The latest milestone release for Camel 3.0.x is <a shape="rect" href="camel-300-m2-milestone-2-release.html">Camel 3.0.0-M2 (Milestone 2) Release</a>.</li><li>The latest release for Camel 2.23.x is <a shape="rect" href="camel-2231-release.html">Camel 2.23.1 Release</a>.</li><li>The latest release for Camel 2.22.x is <a shape="rect" href="camel-2223-release.html">Camel 2.22.3 Release</a>.</li><li>The latest release for Camel 2.21.x is <a shape="rect" href="camel-2215-release.html">Camel 2.21.5 Release</a>.</li><li>Camel versions 2.20.x <span>and older are no longer actively developed.</span></li></ul></div>
 
 
-</div></div></div></div><h2 id="Download-OlderReleases">Older Releases</h2><p>See <a shape="rect" href="download-archives.html">Download Archives</a></p><h2 id="Download-Gettingthelatestdistributions">Getting the latest distributions</h2><h3 id="Download-BinaryDistribution">Binary Distribution</h3><div class="table-wrap"><table class="confluenceTable"><colgroup span="1"><col span="1" style="width: 322.0px;"><col span="1" style="width: 200.0px;"><col span="1" style="width: 234.0px;"><col span="1" style="width: 243.0px;"><col span="1" style="width: 247.0px;"></colgroup><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5 Checksum file of download</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1 Checksum file of download</p
 ></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution (3.0.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.zip&amp;action=download">apache-camel-3.0.0-M1.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.zip.asc">apache-camel-3.0.0-M1.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.zip.md5">apache-camel-3.0.0-M1.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.zip.sha
 1">apache-camel-3.0.0-M1.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution (3.0.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.tar.gz&amp;action=download">apache-camel-3.0.0-M1.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/&#8730;/apache-camel-3.0.0-M1.tar.gz.asc">apache-camel-3.0.0-M1.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.tar.gz.md5">apache-camel-3.0.0-M1.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache
 .org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1.zip.sha1">apache-camel-3.0.0-M1.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Windows Distribution (2.23.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.23.1/apache-camel-2.23.1.zip&amp;action=download">apache-camel-2.23.1.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.asc">apache-camel-2.23.1.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.md5">apache-camel-2.23.1.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="ext
 ernal-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.sha1">apache-camel-2.23.1.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Unix/Linux/Cygwin Distribution (2.23.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.23.1/apache-camel-2.23.1.tar.gz&amp;action=download">apache-camel-2.23.1.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.tar.gz.asc">apache-camel-2.23.1.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.tar.gz.md5">apache-camel-2.23.1.tar.gz.md5</a></p></td><td colspan="1" rows
 pan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.sha1">apache-camel-2.23.1.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Windows Distribution (2.22.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.22.3/apache-camel-2.22.3.zip&amp;action=download">apache-camel-2.22.3.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.asc">apache-camel-2.22.3.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.md5">apache-camel-2.22.3.zip.md5</a
 ></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.sha1">apache-camel-2.22.3.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Unix/Linux/Cygwin Distribution (2.22.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.22.3/apache-camel-2.22.3.tar.gz&amp;action=download">apache-camel-2.22.3.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.tar.gz.asc">apache-camel-2.22.3.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-
 camel-2.22.3.tar.gz.md5">apache-camel-2.22.3.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.sha1">apache-camel-2.22.3.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Windows Distribution (2.21.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.21.5/apache-camel-2.21.5.zip&amp;action=download">apache-camel-2.21.5.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.asc">apache-camel-2.21.5.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/di
 st/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.md5">apache-camel-2.21.5.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.sha1">apache-camel-2.21.5.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Unix/Linux/Cygwin Distribution (2.21.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.21.5/apache-camel-2.21.5.tar.gz&amp;action=download">apache-camel-2.21.5.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.tar.gz.asc">apache-camel-2.21.5.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" c
 lass="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.tar.gz.md5">apache-camel-2.21.5.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.sha1">apache-camel-2.21.5.zip.sha1</a></p></td></tr></tbody></table></div><h3 id="Download-SourceDistribution">Source Distribution</h3><div class="table-wrap"><table class="confluenceTable"><colgroup span="1"><col span="1"><col span="1"><col span="1"><col span="1"><col span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5 Checksum file of download</p></th><th colspan="1" rowspan="1" class="conf
 luenceTh"><p>SHA1 Checksum file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip - 3.0.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1-src.zip&amp;action=download">apache-camel-3.0.0-M1-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1-src.zip.asc">apache-camel-3.0.0-M1-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1-src.zip.md5">apache-camel-3.0.0-M1-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/
 dist/camel/apache-camel/3.0.0-M1/apache-camel-3.0.0-M1-src.zip.sha1">apache-camel-3.0.0-M1-src.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip - 2.23.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip&amp;action=download">apache-camel-2.23.1-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip.asc">apache-camel-2.23.1-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip.md5">apache-camel-2.23.1-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" clas
 s="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip.sha1">apache-camel-2.23.1-src.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip - 2.22.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip&amp;action=download">apache-camel-2.22.3-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip.asc">apache-camel-2.22.3-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip.md5">apache-camel-2.22.3-src.zip.md5</a></p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip.sha1">apache-camel-2.22.3-src.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Source (zip - 2.21.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip&amp;action=download">apache-camel-2.21.5-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip.asc">apache-camel-2.21.5-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip.md5">apache-camel-2.21.5-s
 rc.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip.sha1">apache-camel-2.21.5-src.zip.sha1</a></p></td></tr></tbody></table></div><h3 id="Download-Keys">Keys</h3><p>The <code>KEYS</code> used to sign the release can be found <a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/KEYS">here</a>.</p><h3 id="Download-GettingtheBinariesusingMaven">Getting the Binaries using Maven</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div></div></div><h2 id="Download-OlderReleases">Older Releases</h2><p>See <a shape="rect" href="download-archives.html">Download Archives</a></p><h2 id="Download-Gettingthelatestdistributions">Getting the latest distributions</h2><h3 id="Download-BinaryDistribution">Binary Distribution</h3><div class="table-wrap"><table class="confluenceTable"><colgroup span="1"><col span="1" style="width: 322.0px;"><col span="1" style="width: 200.0px;"><col span="1" style="width: 234.0px;"><col span="1" style="width: 243.0px;"><col span="1" style="width: 247.0px;"></colgroup><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5 Checksum file of download</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>SHA1 Checksum file of download</p
 ></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution (3.0.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.zip&amp;action=download">apache-camel-3.0.0-M2.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.zip.asc">apache-camel-3.0.0-M2.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.zip.md5">apache-camel-3.0.0-M2.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.zip.sha
 1">apache-camel-3.0.0-M2.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution (3.0.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.tar.gz&amp;action=download">apache-camel-3.0.0-M2.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.tar.gz.asc">apache-camel-3.0.0-M2.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.tar.gz.md5">apache-camel-3.0.0-M2.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apach
 e.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2.zip.sha1">apache-camel-3.0.0-M2.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Windows Distribution (2.23.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.23.1/apache-camel-2.23.1.zip&amp;action=download">apache-camel-2.23.1.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.asc">apache-camel-2.23.1.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.md5">apache-camel-2.23.1.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="ex
 ternal-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.sha1">apache-camel-2.23.1.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Unix/Linux/Cygwin Distribution (2.23.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.23.1/apache-camel-2.23.1.tar.gz&amp;action=download">apache-camel-2.23.1.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.tar.gz.asc">apache-camel-2.23.1.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.tar.gz.md5">apache-camel-2.23.1.tar.gz.md5</a></p></td><td colspan="1" row
 span="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1.zip.sha1">apache-camel-2.23.1.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Windows Distribution (2.22.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.22.3/apache-camel-2.22.3.zip&amp;action=download">apache-camel-2.22.3.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.asc">apache-camel-2.22.3.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.md5">apache-camel-2.22.3.zip.md5</
 a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.sha1">apache-camel-2.22.3.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Unix/Linux/Cygwin Distribution (2.22.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.22.3/apache-camel-2.22.3.tar.gz&amp;action=download">apache-camel-2.22.3.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.tar.gz.asc">apache-camel-2.22.3.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache
 -camel-2.22.3.tar.gz.md5">apache-camel-2.22.3.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3.zip.sha1">apache-camel-2.22.3.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Windows Distribution (2.21.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.21.5/apache-camel-2.21.5.zip&amp;action=download">apache-camel-2.21.5.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.asc">apache-camel-2.21.5.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/d
 ist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.md5">apache-camel-2.21.5.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.sha1">apache-camel-2.21.5.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Unix/Linux/Cygwin Distribution (2.21.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.21.5/apache-camel-2.21.5.tar.gz&amp;action=download">apache-camel-2.21.5.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.tar.gz.asc">apache-camel-2.21.5.tar.gz.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.tar.gz.md5">apache-camel-2.21.5.tar.gz.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5.zip.sha1">apache-camel-2.21.5.zip.sha1</a></p></td></tr></tbody></table></div><h3 id="Download-SourceDistribution">Source Distribution</h3><div class="table-wrap"><table class="confluenceTable"><colgroup span="1"><col span="1"><col span="1"><col span="1"><col span="1"><col span="1"></colgroup><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>MD5 Checksum file of download</p></th><th colspan="1" rowspan="1" class="con
 fluenceTh"><p>SHA1 Checksum file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip - 3.0.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2-src.zip&amp;action=download">apache-camel-3.0.0-M2-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2-src.zip.asc">apache-camel-3.0.0-M2-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2-src.zip.md5">apache-camel-3.0.0-M2-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org
 /dist/camel/apache-camel/3.0.0-M2/apache-camel-3.0.0-M2-src.zip.sha1">apache-camel-3.0.0-M2-src.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip - 2.23.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip&amp;action=download">apache-camel-2.23.1-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip.asc">apache-camel-2.23.1-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip.md5">apache-camel-2.23.1-src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" cla
 ss="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.23.1/apache-camel-2.23.1-src.zip.sha1">apache-camel-2.23.1-src.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source (zip - 2.22.x branch)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip&amp;action=download">apache-camel-2.22.3-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip.asc">apache-camel-2.22.3-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip.md5">apache-camel-2.22.3-src.zip.md5</a></p></td><td colspan="1" rowspan="1" cl
 ass="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.22.3/apache-camel-2.22.3-src.zip.sha1">apache-camel-2.22.3-src.zip.sha1</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span>Source (zip - 2.21.x branch)</span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.lua?filename=camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip&amp;action=download">apache-camel-2.21.5-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip.asc">apache-camel-2.21.5-src.zip.asc</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip.md5">apache-camel-2.21.5-
 src.zip.md5</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/2.21.5/apache-camel-2.21.5-src.zip.sha1">apache-camel-2.21.5-src.zip.sha1</a></p></td></tr></tbody></table></div><h3 id="Download-Keys">Keys</h3><p>The <code>KEYS</code> used to sign the release can be found <a shape="rect" class="external-link" href="https://www.apache.org/dist/camel/apache-camel/KEYS">here</a>.</p><h3 id="Download-GettingtheBinariesusingMaven">Getting the Binaries using Maven</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Modified: websites/production/camel/content/dozer-type-conversion.html
==============================================================================
--- websites/production/camel/content/dozer-type-conversion.html (original)
+++ websites/production/camel/content/dozer-type-conversion.html Sun Mar 31 15:23:07 2019
@@ -88,7 +88,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="DozerTypeConversion-DozerTypeConversion.">Dozer Type Conversion.</h1><p><a shape="rect" class="external-link" href="http://dozer.sourceforge.net/documentation/about.html" rel="nofollow">Dozer</a> is a fast and flexible framework for mapping back and forth between Java Beans. Coupled with Camel's automatic type conversion, it's a formidable tool for dealing object to object mapping headaches that crop up in enterprise integration projects.</p><p>To explain how Dozer can be uses within Camel we'll use the following example of a simple Customer Support Service. The initial version of the Service defined a 'Customer' object used with a very flat structure.</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Legacy Customer Service Class</b></div><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h1 id="DozerTypeConversion-DozerTypeConversion.">Dozer Type Conversion.</h1><p><a shape="rect" class="external-link" href="http://dozer.sourceforge.net/documentation/about.html" rel="nofollow">Dozer</a> is a fast and flexible framework for mapping back and forth between Java Beans. Coupled with Camel's automatic type conversion, it's a formidable tool for dealing object to object mapping headaches that crop up in enterprise integration projects.</p><p>To explain how Dozer can be uses within Camel we'll use the following example of a simple Customer Support Service. The initial version of the Service defined a 'Customer' object used with a very flat structure.</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Legacy Customer Service Class</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">public class Customer {
     private String firstName;
     private String lastName;
@@ -114,7 +114,7 @@
 
     ... getters and setters for each field
 </pre>
-</div></div><p>In the next version it was decided to structure the data better in the model by moving the address data into its own type, with the resultin domain object ending up looking like</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Next Gen Customer object</b></div><div class="codeContent panelContent pdl">
+</div></div><p>In the next version it was decided to structure the data better in the model by moving the address data into its own type, with the resultin domain object ending up looking like</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Next Gen Customer object</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">public class Customer {
     private String firstName;
     private String lastName;
@@ -141,7 +141,7 @@ public class Address {
         this.streetName = streetName;
     }
 </pre>
-</div></div><p>Much nicer! But as often occurs, the previous version of the service, with the old flat 'Customer' object, was in production with a client and the project must support the legacy interface. To support both versions, we must add a mechanism to convert between the old Customer service type and the new Customer domain type and back again. It would be a simple matter to write a custom converter class to map between them, but this may not be the only service/domain inconsistency and these tedious and error prone custom mappings could quickly start to add up, and bugs with them.</p><p>To a large extent the two object share identical structure, with only the address representation being different. It would be very helpful if there were a practical way to to automate this kind of mapping, such that the similar properties could get mapped automatically and only the inconsistencies requiring custom mapping.</p><p>This is where Dozer comes in; It uses reflection to map data betw
 een two bean types using a set of simple mapping rules. Where no rule is specified, dozer will attempt to map between them by using matching properties of two beans. In this way focus can be given to the inconsistencies between the beans i.e. the address properties, knowing that dozer will automatically match and convert the others.</p><h2 id="DozerTypeConversion-ConfiguringDozer">Configuring Dozer</h2><p>Dozer's configuration is extremely flexible and many mapping scenarios are covered <a shape="rect" class="external-link" href="http://dozer.sourceforge.net/documentation/mappings.html" rel="nofollow">here</a>. For our simple example, the configuration looks like the following.</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>mapping.xml</b></div><div class="codeContent panelContent pdl">
+</div></div><p>Much nicer! But as often occurs, the previous version of the service, with the old flat 'Customer' object, was in production with a client and the project must support the legacy interface. To support both versions, we must add a mechanism to convert between the old Customer service type and the new Customer domain type and back again. It would be a simple matter to write a custom converter class to map between them, but this may not be the only service/domain inconsistency and these tedious and error prone custom mappings could quickly start to add up, and bugs with them.</p><p>To a large extent the two object share identical structure, with only the address representation being different. It would be very helpful if there were a practical way to to automate this kind of mapping, such that the similar properties could get mapped automatically and only the inconsistencies requiring custom mapping.</p><p>This is where Dozer comes in; It uses reflection to map data betw
 een two bean types using a set of simple mapping rules. Where no rule is specified, dozer will attempt to map between them by using matching properties of two beans. In this way focus can be given to the inconsistencies between the beans i.e. the address properties, knowing that dozer will automatically match and convert the others.</p><h2 id="DozerTypeConversion-ConfiguringDozer">Configuring Dozer</h2><p>Dozer's configuration is extremely flexible and many mapping scenarios are covered <a shape="rect" class="external-link" href="http://dozer.sourceforge.net/documentation/mappings.html" rel="nofollow">here</a>. For our simple example, the configuration looks like the following.</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>mapping.xml</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;mappings xmlns="http://dozer.sourceforge.net" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://dozer.sourceforge.net  http://dozer.sourceforge.net/schema/beanmapping.xsd"&gt;
   &lt;mapping&gt;
@@ -158,11 +158,11 @@ public class Address {
   &lt;/mapping&gt;
 &lt;/mappings&gt;
 </pre>
-</div></div><h2 id="DozerTypeConversion-SupportforDozerinCamel">Support for Dozer in Camel</h2><p>Camel provides a simple mechanism to integrate Dozer Mappers with it's own powerful <a shape="rect" class="external-link" href="http://camel.apache.org/type-converter.html">Type Conversion</a> framework. Its configured by creating an instance of <code>DozerTypeConverterLoader</code> providing it the camel context and an optional Dozer mapper. If no mapper is supplied, Camel's registry will be searched for suitable instances. The loader will query the Dozer Mapper for the the types it converts and a register them with Camel's type conversion framework to be handled by the mapper.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Limitation</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-informat
 ion-macro-body"><p>The Camel Dozer type converter does not support having the same type conversion paris in different mapping ids (eg map-id) in Dozer.</p></div></div><p>In Java it can be configured as follows:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h2 id="DozerTypeConversion-SupportforDozerinCamel">Support for Dozer in Camel</h2><p>Camel provides a simple mechanism to integrate Dozer Mappers with it's own powerful <a shape="rect" class="external-link" href="http://camel.apache.org/type-converter.html">Type Conversion</a> framework. Its configured by creating an instance of <code>DozerTypeConverterLoader</code> providing it the camel context and an optional Dozer mapper. If no mapper is supplied, Camel's registry will be searched for suitable instances. The loader will query the Dozer Mapper for the the types it converts and a register them with Camel's type conversion framework to be handled by the mapper.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Limitation</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-informat
 ion-macro-body"><p>The Camel Dozer type converter does not support having the same type conversion paris in different mapping ids (eg map-id) in Dozer.</p></div></div><p>In Java it can be configured as follows:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">DozerBeanMapper mapper = new DozerBeanMapper(Arrays.asList(new String[]{"mapping.xml"}));
 new DozerTypeConverterLoader(camelContext, mapper);
 </pre>
-</div></div><p>Or in Spring</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Or in Spring</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: xml; gutter: false; theme: Default" data-theme="Default">&lt;!-- the registry will be scanned and 'mapper' below will be found and installed --&gt;
 &lt;bean id="dozerConverterLoader" class="org.apache.camel.converter.dozer.DozerTypeConverterLoader" /&gt;
   
@@ -175,7 +175,7 @@ new DozerTypeConverterLoader(camelContex
 &lt;/bean&gt;
 
 </pre>
-</div></div><h4 id="DozerTypeConversion-ConfiguringinOSGiblueprint">Configuring in OSGi blueprint</h4><p><strong>Available as of Camel 2.12</strong></p><p>When using Dozer with OSGi Blueprint then its works better by configuring Dozer using the <code>org.apache.camel.converter.dozer.DozerBeanMapperConfiguration</code> instead of <code>org.dozer.DozerBeanMapper</code>, as shown below:</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h4 id="DozerTypeConversion-ConfiguringinOSGiblueprint">Configuring in OSGi blueprint</h4><p><strong>Available as of Camel 2.12</strong></p><p>When using Dozer with OSGi Blueprint then its works better by configuring Dozer using the <code>org.apache.camel.converter.dozer.DozerBeanMapperConfiguration</code> instead of <code>org.dozer.DozerBeanMapper</code>, as shown below:</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">&lt;bean id="dozerConverterLoader" class="org.apache.camel.converter.dozer.DozerTypeConverterLoader"&gt;
   &lt;argument index="0" ref="myCamel"/&gt;
   &lt;argument index="1" ref="mapper"/&gt;
@@ -192,7 +192,7 @@ new DozerTypeConverterLoader(camelContex
 &lt;camelContext id="myCamel" xmlns="http://camel.apache.org/schema/blueprint"&gt;
   ...
 &lt;/camelContext&gt;</pre>
-</div></div><p>Now, where necessary, Camel will use Dozer to do conversions; In our case between the new domain and legacy Customer types e.g.</p><div class="code panel pdl conf-macro output-block" data-hasbody="true" data-macro-name="code" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Now, where necessary, Camel will use Dozer to do conversions; In our case between the new domain and legacy Customer types e.g.</p><div class="code panel pdl conf-macro output-block" style="border-width: 1px;" data-hasbody="true" data-macro-name="code"><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">// given the following route
 from("direct:legacy-service-in").bean(new CustomerProcessor());