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 [45/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/user-guide.html
==============================================================================
--- websites/production/camel/content/user-guide.html (original)
+++ websites/production/camel/content/user-guide.html Sun Mar 31 15:23:07 2019
@@ -78,7 +78,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="UserGuide-UserGuide">User Guide</h2><p>If you want to get more familiar with what Apache Camel has to offer, please try the following resources:</p><p></p><div class="toc-macro client-side-toc-macro conf-macro output-block" data-hasbody="false" data-headerelements="H3,H4,H5,H6,H7" data-macro-name="toc"> </div><h3 id="UserGuide-Wikipages">Wiki pages</h3><ul><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="book-getting-started.html">Longer Getting Started Guide</a></li><li><a shape="rect" href="camel-jar-dependencies.html">Camel JAR Dependencies</a></li><li><a shape="rect" href="camel-boot.html">Camel Boot</a></li><li><a shape="rect" href="cdi.html">Working with Camel and CDI</a></li><li><a shape="rect" href="spring.html">Working with Camel and Spring</a></li><li><a shape="rect" href="guice.html">Working with Camel and Guice</a></li><li><a shape="rect" href="karaf.html">Working with Camel an
 d Karaf</a></li><li><a shape="rect" href="how-do-i-configure-endpoints.html">How Do I Configure Endpoints?</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a></li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><li><a shape="rect" href="asyncprocessorawaitmanager.html">AsyncProcessorAwaitManager</a> for insight into the routing engine when it has been forced to block threads while exchanges are being processed asynchronous.</li><li><a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a></li><li><a shape="rect" href="using-propertyplaceholder.html">How to use Camel property placeholders</a></li><li><a shape="rect" href="tutorials.html">Tutorials</a></li><li><a shape="rect" href="examples.html"
 >Examples</a></li><li><a shape="rect" href="testing.html">Testing</a></li><li><a shape="rect" href="xml-configuration.html">Xml Configuration</a></li><li><a shape="rect" href="using-camelproxy.html">Using CamelProxy</a> for how to use proxies for clients to easily invoke camel routes without them knowing</li><li><a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> for running Camel from a Maven goal</li><li><a shape="rect" href="guice-maven-plugin.html">Guice Maven Plugin</a> for working with <a shape="rect" href="guice.html">Guice</a></li><li><a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="camel-jmx.html">Camel JMX</a></li><li><a shape="rect" href="how-to-run-camel-in-a-osgi-container.html">How to run Camel in a osgi container</a></li><li><a shape="rect" href="using-osgi-blueprint-with-ca
 mel.html">Using OSGi blueprint with Camel</a></li><li><a shape="rect" href="karaf.html">Karaf</a> for working with <a shape="rect" class="external-link" href="http://karaf.apache.org/">Apache Karaf</a></li><li><a shape="rect" href="camel-and-scr.html">Working with Camel and SCR</a></li><li>Working with REST and&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a></li></ul><h3 id="UserGuide-PDF">PDF</h3><p>You can try the <a shape="rect" href="manual.html">Manual</a> if you want to get a PDF of this documentation.</p><h3 id="UserGuide-OtherResources.">Other Resources.</h3><p>The <a shape="rect" class="external-link" href="http://architects.dzone.com/articles/apache-camel-integration" rel="nofollow">Apache Camel: Integration Nirvana</a> article by Jonathan Anstey, a great place to start your journey.</p><p>The <a shape="rect" href="books.html">Camel in Action</a> book.</p><p>The Camel Components Poster - <a shape="rect" class="external-link" href="http://gliesian.com/camel/ApacheCam
 elComponents.pdf" rel="nofollow">Free PDF</a>, <a shape="rect" class="external-link" href="http://fineartamerica.com/featured/apache-camel-2122-components-poster-robert-liguori.html" rel="nofollow">36"x24" Print</a></p><p>Try these online <a shape="rect" href="articles.html">Articles</a> and <a shape="rect" href="tutorials.html">Tutorials</a>.</p></div>
+<div class="wiki-content maincontent"><h2 id="UserGuide-UserGuide">User Guide</h2><p>If you want to get more familiar with what Apache Camel has to offer, please try the following resources:</p><p></p><div class="toc-macro client-side-toc-macro conf-macro output-block" data-headerelements="H3,H4,H5,H6,H7" data-hasbody="false" data-macro-name="toc"> </div><h3 id="UserGuide-Wikipages">Wiki pages</h3><ul><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="book-getting-started.html">Longer Getting Started Guide</a></li><li><a shape="rect" href="camel-jar-dependencies.html">Camel JAR Dependencies</a></li><li><a shape="rect" href="camel-boot.html">Camel Boot</a></li><li><a shape="rect" href="cdi.html">Working with Camel and CDI</a></li><li><a shape="rect" href="spring.html">Working with Camel and Spring</a></li><li><a shape="rect" href="guice.html">Working with Camel and Guice</a></li><li><a shape="rect" href="karaf.html">Working with Camel an
 d Karaf</a></li><li><a shape="rect" href="how-do-i-configure-endpoints.html">How Do I Configure Endpoints?</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a></li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a></li><li><a shape="rect" href="asyncprocessorawaitmanager.html">AsyncProcessorAwaitManager</a> for insight into the routing engine when it has been forced to block threads while exchanges are being processed asynchronous.</li><li><a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a></li><li><a shape="rect" href="using-propertyplaceholder.html">How to use Camel property placeholders</a></li><li><a shape="rect" href="tutorials.html">Tutorials</a></li><li><a shape="rect" href="examples.html"
 >Examples</a></li><li><a shape="rect" href="testing.html">Testing</a></li><li><a shape="rect" href="xml-configuration.html">Xml Configuration</a></li><li><a shape="rect" href="using-camelproxy.html">Using CamelProxy</a> for how to use proxies for clients to easily invoke camel routes without them knowing</li><li><a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a> for running Camel from a Maven goal</li><li><a shape="rect" href="guice-maven-plugin.html">Guice Maven Plugin</a> for working with <a shape="rect" href="guice.html">Guice</a></li><li><a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></li><li><a shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel Route</a></li><li><a shape="rect" href="camel-jmx.html">Camel JMX</a></li><li><a shape="rect" href="how-to-run-camel-in-a-osgi-container.html">How to run Camel in a osgi container</a></li><li><a shape="rect" href="using-osgi-blueprint-with-ca
 mel.html">Using OSGi blueprint with Camel</a></li><li><a shape="rect" href="karaf.html">Karaf</a> for working with <a shape="rect" class="external-link" href="http://karaf.apache.org/">Apache Karaf</a></li><li><a shape="rect" href="camel-and-scr.html">Working with Camel and SCR</a></li><li>Working with REST and&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a></li></ul><h3 id="UserGuide-PDF">PDF</h3><p>You can try the <a shape="rect" href="manual.html">Manual</a> if you want to get a PDF of this documentation.</p><h3 id="UserGuide-OtherResources.">Other Resources.</h3><p>The <a shape="rect" class="external-link" href="http://architects.dzone.com/articles/apache-camel-integration" rel="nofollow">Apache Camel: Integration Nirvana</a> article by Jonathan Anstey, a great place to start your journey.</p><p>The <a shape="rect" href="books.html">Camel in Action</a> book.</p><p>The Camel Components Poster - <a shape="rect" class="external-link" href="http://gliesian.com/camel/ApacheCam
 elComponents.pdf" rel="nofollow">Free PDF</a>, <a shape="rect" class="external-link" href="http://fineartamerica.com/featured/apache-camel-2122-components-poster-robert-liguori.html" rel="nofollow">36"x24" Print</a></p><p>Try these online <a shape="rect" href="articles.html">Articles</a> and <a shape="rect" href="tutorials.html">Tutorials</a>.</p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/using-getin-or-getout-methods-on-exchange.html
==============================================================================
--- websites/production/camel/content/using-getin-or-getout-methods-on-exchange.html (original)
+++ websites/production/camel/content/using-getin-or-getout-methods-on-exchange.html Sun Mar 31 15:23:07 2019
@@ -87,14 +87,14 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="UsinggetInorgetOutmethodsonExchange-MessageexchangepatternsandtheExchangeobject">Message exchange patterns and the Exchange object</h2><p>The Camel API is influenced by APIs such as <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Java_Business_Integration" rel="nofollow">JBI specification</a>, <a shape="rect" href="http://cxf.apache.org/">CXF</a> which defines a concept called Message Exchange Patterns (MEP for short).</p><p>The MEP defines the messaging style used such as one-way (<a shape="rect" href="event-message.html">InOnly</a>) or request-reply (<a shape="rect" href="request-reply.html">InOut</a>),<br clear="none"> which means you have IN and optionally OUT messages. This closely maps to other APIs such as WS, WSDL, REST, JBI and the likes.</p><p>The <a shape="rect" href="exchange.html">Exchange</a> API provides two methods to get a message, either <code>getIn</code> or <code>getOut</code>.<br clear="none"
 > Obviously the <code>getIn</code> gets the IN message, and the <code>getOut</code> gets the OUT message.</p><h2 id="UsinggetInorgetOutmethodsonExchange-Flowofanexchangethrougharoute">Flow of an exchange through a route</h2><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="using-getin-or-getout-methods-on-exchange.data/Message%20flow%20in%20Route.png" data-image-src="/confluence/download/attachments/23338837/Message%20flow%20in%20Route.png?version=6&amp;modificationDate=1434874475000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="24347145" data-linked-resource-version="6" data-linked-resource-type="attachment" data-linked-resource-default-alias="Message flow in Route.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="23338837" data-linked-resource-container-version="19"></span></p><ul class="alternate"><li>The out message from eac
 h step is used as the in message for the next step</li><li>if there is no out message then the in message is used instead</li><li>For the InOut MEP the out from the last step in the route is returned to the producer. In case of InOnly the last out is thrown away</li></ul><div class="confluence-information-macro confluence-information-macro-tip conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p class="title">Beware of getOut to check if there is an out message</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>exchange.getOut creates an out message if there is none. So if you want to check if there is an out message then you should use exchange.hasOut instead</p></div></div><h2 id="UsinggetInorgetOutmethodsonExchange-UsinggetInorgetOutmethodsonExchange">Using getIn or getOut methods on Exchange</h2><p>Now suppose you want to use a Camel <a shape="rect" href="proce
 ssor.html">Processor</a> to adjust a message. This can be done 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 class="wiki-content maincontent"><h2 id="UsinggetInorgetOutmethodsonExchange-MessageexchangepatternsandtheExchangeobject">Message exchange patterns and the Exchange object</h2><p>The Camel API is influenced by APIs such as <a shape="rect" class="external-link" href="http://en.wikipedia.org/wiki/Java_Business_Integration" rel="nofollow">JBI specification</a>, <a shape="rect" href="http://cxf.apache.org/">CXF</a> which defines a concept called Message Exchange Patterns (MEP for short).</p><p>The MEP defines the messaging style used such as one-way (<a shape="rect" href="event-message.html">InOnly</a>) or request-reply (<a shape="rect" href="request-reply.html">InOut</a>),<br clear="none"> which means you have IN and optionally OUT messages. This closely maps to other APIs such as WS, WSDL, REST, JBI and the likes.</p><p>The <a shape="rect" href="exchange.html">Exchange</a> API provides two methods to get a message, either <code>getIn</code> or <code>getOut</code>.<br clear="none"
 > Obviously the <code>getIn</code> gets the IN message, and the <code>getOut</code> gets the OUT message.</p><h2 id="UsinggetInorgetOutmethodsonExchange-Flowofanexchangethrougharoute">Flow of an exchange through a route</h2><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="using-getin-or-getout-methods-on-exchange.data/Message%20flow%20in%20Route.png" data-image-src="/confluence/download/attachments/23338837/Message%20flow%20in%20Route.png?version=6&amp;modificationDate=1434874475000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="24347145" data-linked-resource-version="6" data-linked-resource-type="attachment" data-linked-resource-default-alias="Message flow in Route.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="23338837" data-linked-resource-container-version="19"></span></p><ul class="alternate"><li>The out message from eac
 h step is used as the in message for the next step</li><li>if there is no out message then the in message is used instead</li><li>For the InOut MEP the out from the last step in the route is returned to the producer. In case of InOnly the last out is thrown away</li></ul><div class="confluence-information-macro confluence-information-macro-tip conf-macro output-block" data-hasbody="true" data-macro-name="tip"><p class="title">Beware of getOut to check if there is an out message</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>exchange.getOut creates an out message if there is none. So if you want to check if there is an out message then you should use exchange.hasOut instead</p></div></div><h2 id="UsinggetInorgetOutmethodsonExchange-UsinggetInorgetOutmethodsonExchange">Using getIn or getOut methods on Exchange</h2><p>Now suppose you want to use a Camel <a shape="rect" href="proce
 ssor.html">Processor</a> to adjust a message. This can be done 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">public void process(Exchange exchange) throws Exception {
    String body = exchange.getIn().getBody(String.class);
    // change the message to say Hello
    exchange.getOut().setBody("Hello " + body);
 }
 </pre>
-</div></div><p>This seems intuitive and is what you would expect is the <em>right</em> approach to change a message from a <a shape="rect" href="processor.html">Processor</a>.<br clear="none"> However there is an big issue - the <code>getOut</code> method will create a new <a shape="rect" href="message.html">Message</a>, which means any other information<br clear="none"> from the IN message will not be propagated; which means you will lose that data.<br clear="none"> To remedy this we'll have to copy the data which is done 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><p>This seems intuitive and is what you would expect is the <em>right</em> approach to change a message from a <a shape="rect" href="processor.html">Processor</a>.<br clear="none"> However there is an big issue - the <code>getOut</code> method will create a new <a shape="rect" href="message.html">Message</a>, which means any other information<br clear="none"> from the IN message will not be propagated; which means you will lose that data.<br clear="none"> To remedy this we'll have to copy the data which is done 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">public void process(Exchange exchange) throws Exception {
    String body = exchange.getIn().getBody(String.class);
    // change the message to say Hello
@@ -103,7 +103,7 @@
    exchange.getOut().setHeaders(exchange.getIn().getHeaders());
 }
 </pre>
-</div></div><p>Well that is not all, a <a shape="rect" href="message.html">Message</a> can also contain attachments so to be sure you need to propagate those as well:</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>Well that is not all, a <a shape="rect" href="message.html">Message</a> can also contain attachments so to be sure you need to propagate those as well:</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">public void process(Exchange exchange) throws Exception {
    String body = exchange.getIn().getBody(String.class);
    // change the message to say Hello
@@ -114,7 +114,7 @@
    exchange.getOut().setAttachments(exchange.getIn().getAttachments());
 }
 </pre>
-</div></div><p>Now we ensure that all additional data is propagated on the new OUT message. But its a shame we need 2 code lines to ensure data is propagated.<br clear="none"> What you can do instead is to change the IN message instead, 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><p>Now we ensure that all additional data is propagated on the new OUT message. But its a shame we need 2 code lines to ensure data is propagated.<br clear="none"> What you can do instead is to change the IN message instead, 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">public void process(Exchange exchange) throws Exception {
    String body = exchange.getIn().getBody(String.class);
    // change the existing message to say Hello

Modified: websites/production/camel/content/vertx.html
==============================================================================
--- websites/production/camel/content/vertx.html (original)
+++ websites/production/camel/content/vertx.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="Vertx-VertxComponent">Vertx Component</h2><p><strong>Available as of Camel 2.12</strong></p><p>The <strong>vertx</strong> component is for working with the <a shape="rect" class="external-link" href="http://vertx.io/" rel="nofollow">Vertx</a> <a shape="rect" class="external-link" href="http://vertx.io/core_manual_js.html#the-event-bus" rel="nofollow">EventBus</a>.</p><p>The vertx <a shape="rect" class="external-link" href="http://vertx.io/core_manual_js.html#the-event-bus" rel="nofollow">EventBus</a> sends and receives JSON events.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>From <strong>Camel 2.16</strong> onwards vertx 3 is in use which requires Java 1.8 at runtime.</p></div></div><p
 >Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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="Vertx-VertxComponent">Vertx Component</h2><p><strong>Available as of Camel 2.12</strong></p><p>The <strong>vertx</strong> component is for working with the <a shape="rect" class="external-link" href="http://vertx.io/" rel="nofollow">Vertx</a> <a shape="rect" class="external-link" href="http://vertx.io/core_manual_js.html#the-event-bus" rel="nofollow">EventBus</a>.</p><p>The vertx <a shape="rect" class="external-link" href="http://vertx.io/core_manual_js.html#the-event-bus" rel="nofollow">EventBus</a> sends and receives JSON events.</p><div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>From <strong>Camel 2.16</strong> onwards vertx 3 is in use which requires Java 1.8 at runtime.</p></div></div><p
 >Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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-vertx&lt;/artifactId&gt;
@@ -96,10 +96,10 @@
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 </pre>
-</div></div><p>&#160;</p><h3 id="Vertx-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><p>&#160;</p><h3 id="Vertx-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">vertx:channelName[?options]
 </pre>
-</div></div><h3 id="Vertx-Options">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pubSub</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Whether to use publish/subscribe instead of point to point when sending to a vertx endpoint.</p></td></tr></tbody></table></div><pre>You can append query options to the URI in the following format, ?option=value&amp;option=value&amp;...</pre><h3 id="Vertx-ConnectingtotheexistingVert.xinstance">Connecting to the existing Vert.x instance</h3><p>If you would like to connect to the Vert.x instance already existing in your 
 JVM, you can set the instance on the component level:</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><h3 id="Vertx-Options">Options</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>pubSub</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12.3:</strong> Whether to use publish/subscribe instead of point to point when sending to a vertx endpoint.</p></td></tr></tbody></table></div><pre>You can append query options to the URI in the following format, ?option=value&amp;option=value&amp;...</pre><h3 id="Vertx-ConnectingtotheexistingVert.xinstance">Connecting to the existing Vert.x instance</h3><p>If you would like to connect to the Vert.x instance already existing in your 
 JVM, you can set the instance on the component level:</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">Vertx vertx = ...;
 VertxComponent vertxComponent = new VertxComponent();
 vertxComponent.setVertx(vertx);

Modified: websites/production/camel/content/visualisation.html
==============================================================================
--- websites/production/camel/content/visualisation.html (original)
+++ websites/production/camel/content/visualisation.html Sun Mar 31 15:23:07 2019
@@ -78,7 +78,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Visualisation-Visualisation">Visualisation</h2><div class="confluence-information-macro confluence-information-macro-warning conf-macro output-block" data-hasbody="true" data-macro-name="warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>This functionality is deprecated and to be removed in future Camel releases.</p></div></div><p>&#160;</p><p>Camel supports the visualisation of your <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> using the <a shape="rect" class="external-link" href="http://graphviz.org" rel="nofollow">GraphViz</a> DOT files which can either be rendered directly via a suitable GraphViz tool or turned into HTML, PNG or SVG files via the <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a>.</p><p>Here is a <a shape="rect" class="external-link" href="http
 ://activemq.apache.org/camel/maven/camel-spring/cameldoc/index.html">typical example</a> of the kind of thing we can generate</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="visualisation.data/org.apache.camel.example.docs.ContentBasedRouteRoute.png" data-image-src="/confluence/download/attachments/64021/org.apache.camel.example.docs.ContentBasedRouteRoute.png?version=1&amp;modificationDate=1229506014000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9437" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="org.apache.camel.example.docs.ContentBasedRouteRoute.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="64021" data-linked-resource-container-version="18"></span></p><p>If you click on <a shape="rect" class="external-link" href="http://activemq.apache.org/camel/maven/
 examples/camel-example-docs/cameldoc/main/routes.html">the actual generated html</a>you will see that you can navigate from an EIP node to its pattern page, along with getting hover-over tool tips ec.</p><h3 id="Visualisation-Howtogenerate">How to generate</h3><p>See <a shape="rect" href="camel-dot-maven-goal.html">Camel Dot Maven Goal</a> or the other maven goals <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a></p><h3 id="Visualisation-ForOSXusers">For OS X users</h3><p>If you are using OS X then you can open the DOT file using <a shape="rect" class="external-link" href="http://www.pixelglow.com/graphviz/" rel="nofollow">graphviz</a> which will then automatically re-render if it changes, so you end up with a real time graphical representation of the topic and queue hierarchies!</p><p>Also if you want to edit the layout a little before adding it to a wiki to distribute to your team, open the DOT file with <a shape="rect" class="external-link" href="http://www.om
 nigroup.com/applications/omnigraffle/" rel="nofollow">OmniGraffle</a> then just edit away <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/7701/d7b403a44466e5e8970db7530201039d865e79e1/_/images/icons/emoticons/smile.svg" data-emoticon-name="smile" alt="(smile)"></p></div>
+<div class="wiki-content maincontent"><h2 id="Visualisation-Visualisation">Visualisation</h2><div class="confluence-information-macro confluence-information-macro-warning conf-macro output-block" data-hasbody="true" data-macro-name="warning"><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"> </span><div class="confluence-information-macro-body"><p>This functionality is deprecated and to be removed in future Camel releases.</p></div></div><p>&#160;</p><p>Camel supports the visualisation of your <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> using the <a shape="rect" class="external-link" href="http://graphviz.org" rel="nofollow">GraphViz</a> DOT files which can either be rendered directly via a suitable GraphViz tool or turned into HTML, PNG or SVG files via the <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a>.</p><p>Here is a <a shape="rect" class="external-link" href="http
 ://activemq.apache.org/camel/maven/camel-spring/cameldoc/index.html">typical example</a> of the kind of thing we can generate</p><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image" src="visualisation.data/org.apache.camel.example.docs.ContentBasedRouteRoute.png" data-image-src="/confluence/download/attachments/64021/org.apache.camel.example.docs.ContentBasedRouteRoute.png?version=1&amp;modificationDate=1229506014000&amp;api=v2" data-unresolved-comment-count="0" data-linked-resource-id="9437" data-linked-resource-version="1" data-linked-resource-type="attachment" data-linked-resource-default-alias="org.apache.camel.example.docs.ContentBasedRouteRoute.png" data-base-url="https://cwiki.apache.org/confluence" data-linked-resource-content-type="image/png" data-linked-resource-container-id="64021" data-linked-resource-container-version="18"></span></p><p>If you click on <a shape="rect" class="external-link" href="http://activemq.apache.org/camel/maven/
 examples/camel-example-docs/cameldoc/main/routes.html">the actual generated html</a>you will see that you can navigate from an EIP node to its pattern page, along with getting hover-over tool tips ec.</p><h3 id="Visualisation-Howtogenerate">How to generate</h3><p>See <a shape="rect" href="camel-dot-maven-goal.html">Camel Dot Maven Goal</a> or the other maven goals <a shape="rect" href="camel-maven-plugin.html">Camel Maven Plugin</a></p><h3 id="Visualisation-ForOSXusers">For OS X users</h3><p>If you are using OS X then you can open the DOT file using <a shape="rect" class="external-link" href="http://www.pixelglow.com/graphviz/" rel="nofollow">graphviz</a> which will then automatically re-render if it changes, so you end up with a real time graphical representation of the topic and queue hierarchies!</p><p>Also if you want to edit the layout a little before adding it to a wiki to distribute to your team, open the DOT file with <a shape="rect" class="external-link" href="http://www.om
 nigroup.com/applications/omnigraffle/" rel="nofollow">OmniGraffle</a> then just edit away <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/7901/17fbf59dc6f69bee0caf86e0cbbd7fb3bd9d8b4a/_/images/icons/emoticons/smile.svg" data-emoticon-name="smile" alt="(smile)"></p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/vm.html
==============================================================================
--- websites/production/camel/content/vm.html (original)
+++ websites/production/camel/content/vm.html Sun Mar 31 15:23:07 2019
@@ -97,7 +97,7 @@
 
 <h3 id="VM-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 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">
 vm:queueName[?options]
 </pre>
@@ -109,7 +109,7 @@ vm:queueName[?options]
 
 <div class="confluence-information-macro confluence-information-macro-information conf-macro output-block" data-hasbody="true" data-macro-name="info"><p class="title">Before Camel 2.3 - Same URI must be used for both producer and consumer</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"> </span><div class="confluence-information-macro-body">
 <p>An exactly identical <a shape="rect" href="vm.html">VM</a> endpoint URI <strong>must</strong> be used for both the producer and the consumer endpoint. Otherwise, Camel will create a second <a shape="rect" href="vm.html">VM</a> endpoint despite that the <code>queueName</code> portion of the URI is identical. For example:</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="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("direct:foo").to("vm:bar?concurrentConsumers=5");
 
@@ -119,7 +119,7 @@ from("vm:bar?concurrentConsumers=5").to(
 <p>Notice that we have to use the full URI, including options in both the producer and consumer.</p>
 
 <p>In Camel 2.4 this has been fixed so that only the queue name must match.  Using the queue name <code>bar</code>, we could rewrite the previous exmple 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 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("direct:foo").to("vm:bar");
 
@@ -135,14 +135,14 @@ from("vm:bar?concurrentConsumers=5").to(
 <h3 id="VM-Samples">Samples</h3>
 <p>In the route below we send exchanges across CamelContext instances to a VM queue named <code>order.email</code>:</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="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("direct:in").bean(MyOrderBean.class).to("vm:order.email");
 </pre>
 </div></div>
 
 <p>And then we receive exchanges in some other Camel context (such as deployed in another <code>.war</code> application):</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="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("vm:order.email").bean(MyOrderEmailSender.class);
 </pre>

Modified: websites/production/camel/content/vtd-xml.html
==============================================================================
--- websites/production/camel/content/vtd-xml.html (original)
+++ websites/production/camel/content/vtd-xml.html Sun Mar 31 15:23:07 2019
@@ -99,7 +99,7 @@
 This component is particular efficient for splitting files or other big payloads.</p>
 
 <p>For example to split a big file containing many persons, you could do:</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="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("file:inbox")
       .split().vtdxml("/persons/person").streaming()
@@ -109,7 +109,7 @@ This component is particular efficient f
 </div></div>
 
 <p>And in XML DSL</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="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;route&gt;
    &lt;from uri="file:inbox"/&gt;

Modified: websites/production/camel/content/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html
==============================================================================
--- websites/production/camel/content/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html (original)
+++ websites/production/camel/content/why-can-i-not-use-when-or-otherwise-in-a-java-camel-route.html Sun Mar 31 15:23:07 2019
@@ -95,7 +95,7 @@
 <p>Use <code>.endChoice()</code> to return "back" to the <a shape="rect" href="content-based-router.html">Content Based Router</a></p></div></div>
 
 <p>For example as shown in the route below where we use the <a shape="rect" href="load-balancer.html">Load Balancer</a> inside the <a shape="rect" href="content-based-router.html">Content Based Router</a> in the first when:</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>Code will not compile</b></div><div class="codeContent panelContent pdl">
+<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>Code will not compile</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("direct:start")
     .choice()
@@ -107,14 +107,14 @@ from("direct:start")
 </div></div>
 
 <p>Well the first issue is that the <a shape="rect" href="load-balancer.html">Load Balancer</a> uses the additional routing to know what to use in the load balancing. In this example that would be the:</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="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">
 .to("mock:foo").to("mock:bar")
 </pre>
 </div></div>
 
 <p>To indicate when the balancing stops, you should use <code>.end()</code> to denote the end. So the route is updates 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="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Code will still not compile</b></div><div class="codeContent panelContent pdl">
+<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>Code will still not compile</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("direct:start")
     .choice()
@@ -127,7 +127,7 @@ from("direct:start")
 
 <p>But the code will still not compile. The reason is we have stretched how far we can take the good old Java language in terms of <a shape="rect" href="dsl.html">DSL</a>. In a more modern language such as <a shape="rect" href="scala-dsl.html">Scala</a> or <a shape="rect" href="groovy.html">Groovy</a> you would be able to let it be stack based, so the <code>.end()</code> will pop the last type of the stack, and you would return back to the scope of the <a shape="rect" href="content-based-router.html">Content Based Router</a>. However that's not easily doable in Java. So we need to help Java a bit, which you do by using <code>.endChoice()</code>, which tells Camel to "pop the stack" and return back to the scope of the <a shape="rect" href="content-based-router.html">Content Based Router</a>.</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>Code compiles</b></div><div class="codeContent panelContent pdl">
+<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>Code compiles</b></div><div class="codeContent panelContent pdl">
 <pre class="syntaxhighlighter-pre" data-syntaxhighlighter-params="brush: java; gutter: false; theme: Default" data-theme="Default">
 from("direct:start")
     .choice()

Modified: websites/production/camel/content/why-does-camel-use-too-many-threads-with-producertemplate.html
==============================================================================
--- websites/production/camel/content/why-does-camel-use-too-many-threads-with-producertemplate.html (original)
+++ websites/production/camel/content/why-does-camel-use-too-many-threads-with-producertemplate.html Sun Mar 31 15:23:07 2019
@@ -99,7 +99,7 @@
 
 <p>For instance using <a shape="rect" href="spring.html">Spring</a> you can define a template and have Spring handle the lifecycle of it:</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="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;camelContext xmlns="http://activemq.apache.org/camel/schema/spring"&gt;
         &lt;template id="template"/&gt;