Author: buildbot
Date: Wed Dec 21 22:21:14 2016
New Revision: 1003257

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-pattern-appendix.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/pipes-and-filters.html

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Dec 21 22:21:14 
2016
@@ -3966,11 +3966,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1481883518542 {padding: 0px;}
-div.rbtoc1481883518542 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1481883518542 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1482358760237 {padding: 0px;}
+div.rbtoc1482358760237 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1482358760237 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1481883518542">
+/*]]>*/</style></p><div class="toc-macro rbtoc1482358760237">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -6085,11 +6085,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1481883519297 {padding: 0px;}
-div.rbtoc1481883519297 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1481883519297 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1482358760516 {padding: 0px;}
+div.rbtoc1482358760516 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1482358760516 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1481883519297">
+/*]]>*/</style><div class="toc-macro rbtoc1482358760516">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -11758,23 +11758,24 @@ from(&quot;direct:start&quot;)
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;direct:startInOnly&amp;quot;/&amp;gt; &amp;lt;inOnly 
uri=&amp;quot;bean:process&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; 
&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;direct:startInOut&amp;quot;/&amp;gt; &amp;lt;inOut 
uri=&amp;quot;bean:process&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; </script> 
  </div>
-</div><h4 id="BookInOnePage-UsingThisPattern.1">Using This Pattern</h4><p>If 
you would like to use this EIP Pattern then please read the <a shape="rect" 
href="getting-started.html">Getting Started</a>, you may also find the <a 
shape="rect" href="architecture.html">Architecture</a> useful particularly the 
description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a 
shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a 
shape="rect" href="examples.html">Examples</a> first before trying this pattern 
out.</p><h3 id="BookInOnePage-PipesandFilters">Pipes and Filters</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html"; 
rel="nofollow">Pipes and Filters</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> in various 
ways.</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource
 " src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif";></span></p><p>With
 Camel you can split your processing across multiple independent <a 
shape="rect" href="endpoint.html">Endpoint</a> instances which can then be 
chained together.</p><h4 id="BookInOnePage-UsingRoutingLogic">Using Routing 
Logic</h4><p>You can create pipelines of logic using multiple <a shape="rect" 
href="endpoint.html">Endpoint</a> or <a shape="rect" 
href="message-translator.html">Message Translator</a> instances as 
follows</p><div class="code panel pdl" style="border-width: 1px;">
- <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> 
from(&amp;quot;direct:a&amp;quot;).pipeline(&amp;quot;direct:x&amp;quot;, 
&amp;quot;direct:y&amp;quot;, &amp;quot;direct:z&amp;quot;, 
&amp;quot;mock:result&amp;quot;); </script> 
- </div>
-</div><p>Though pipeline is the default mode of operation when you specify 
multiple outputs in Camel. The opposite to pipeline is multicast; which fires 
the same message into each of its outputs. (See the example below).</p><p>In 
Spring XML you can use the &lt;pipeline/&gt; element</p><div class="code panel 
pdl" style="border-width: 1px;">
+</div><h4 id="BookInOnePage-UsingThisPattern.1">Using This Pattern</h4><p>If 
you would like to use this EIP Pattern then please read the <a shape="rect" 
href="getting-started.html">Getting Started</a>, you may also find the <a 
shape="rect" href="architecture.html">Architecture</a> useful particularly the 
description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a 
shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a 
shape="rect" href="examples.html">Examples</a> first before trying this pattern 
out.</p><h3 id="BookInOnePage-PipesandFilters">Pipes and Filters</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html"; 
rel="nofollow">Pipes and Filters</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> in various 
ways.</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource
 " src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif";></span></p><p>With
 Camel you can split your processing across multiple independent <a 
shape="rect" href="endpoint.html">Endpoint</a> instances which can then be 
chained together.</p><h4 id="BookInOnePage-UsingRoutingLogic">Using Routing 
Logic</h4><p>You can create pipelines of logic using multiple <a shape="rect" 
href="endpoint.html">Endpoint</a> or <a shape="rect" 
href="message-translator.html">Message Translator</a> instances as follows
+ </p><div class="code panel pdl" style="border-width: 1px;">
+  <div class="codeContent panelContent pdl"> 
+   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> 
from(&amp;quot;direct:a&amp;quot;).pipeline(&amp;quot;direct:x&amp;quot;, 
&amp;quot;direct:y&amp;quot;, &amp;quot;direct:z&amp;quot;, 
&amp;quot;mock:result&amp;quot;); </script> 
+  </div>
+ </div>Though pipeline is the default mode of operation when you specify 
multiple outputs in Camel. The opposite to pipeline is multicast; which fires 
the same message into each of its outputs. (See the example below).<p>In Spring 
XML you can use the&#160;<strong><code>&lt;pipeline/&gt;</code></strong> 
element</p><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;pipeline&amp;gt; 
&amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/route&amp;gt; </script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;pipeline&amp;gt; 
&amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/route&amp;gt; </script> 
  </div>
-</div><p>In the above the pipeline element is actually unnecessary, you could 
use this...</p><div class="code panel pdl" style="border-width: 1px;">
+</div><p>In the above the pipeline element is actually unnecessary, you could 
use this:</p><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; 
</script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; 
</script> 
  </div>
-</div><p>Its just a bit more explicit. However if you wish to use 
&lt;multicast/&gt; to avoid a pipeline - to send the same message into multiple 
pipelines - then the &lt;pipeline/&gt; element comes into its own.</p><div 
class="code panel pdl" style="border-width: 1px;">
+</div><p>which is a bit more explicit.</p><p>However if you wish to 
use&#160;<strong><code>&lt;multicast/&gt;</code></strong> to avoid a pipeline - 
to send the same message into multiple pipelines - then 
the&#160;<strong><code>&lt;pipeline/&gt;</code></strong> element comes into its 
own:</p><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;multicast&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean 
ref=&amp;quot;something&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;log:Something&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; 
&amp;lt;bean ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/multicast&amp;gt; &amp;lt;/route&amp;gt; </script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;multicast&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean 
ref=&amp;quot;something&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;log:Something&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; 
&amp;lt;bean ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/multicast&amp;gt; &amp;lt;/route&amp;gt; </script> 
  </div>
-</div><p>In the above example we are routing from a single <a shape="rect" 
href="endpoint.html">Endpoint</a> to a list of different endpoints specified 
using <a shape="rect" href="uris.html">URIs</a>. If you find the above a bit 
confusing, try reading about the <a shape="rect" 
href="architecture.html">Architecture</a> or try the <a shape="rect" 
href="examples.html">Examples</a></p><h4 
id="BookInOnePage-UsingThisPattern.2">Using This Pattern</h4><p>If you would 
like to use this EIP Pattern then please read the <a shape="rect" 
href="getting-started.html">Getting Started</a>, you may also find the <a 
shape="rect" href="architecture.html">Architecture</a> useful particularly the 
description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a 
shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a 
shape="rect" href="examples.html">Examples</a> first before trying this pattern 
out.</p><h3 id="BookInOnePage-MessageRouter">Message Router</h3><p>The <a 
shape="re
 ct" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageRouter.html"; 
rel="nofollow">Message Router</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
consume from an input destination, evaluate some predicate then choose the 
right output destination.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif";></span></p><p>The
 following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
<strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
expressions</p><p><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builder
 s</a></strong></p><div class="code panel pdl" style="border-width: 1px;">
+</div><p>In the above example we are routing from a single <a shape="rect" 
href="endpoint.html">Endpoint</a> to a list of different endpoints specified 
using <a shape="rect" href="uris.html">URIs</a>. If you find the above a bit 
confusing, try reading about the <a shape="rect" 
href="architecture.html">Architecture</a> or try the <a shape="rect" 
href="examples.html">Examples</a></p><p></p><h4 
id="BookInOnePage-UsingThisPattern.2">Using This Pattern</h4> <p>If you would 
like to use this EIP Pattern then please read the <a shape="rect" 
href="getting-started.html">Getting Started</a>, you may also find the <a 
shape="rect" href="architecture.html">Architecture</a> useful particularly the 
description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a 
shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a 
shape="rect" href="examples.html">Examples</a> first before trying this pattern 
out.</p><h3 id="BookInOnePage-MessageRouter">Message Router</h3><p>The <a s
 hape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageRouter.html"; 
rel="nofollow">Message Router</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
consume from an input destination, evaluate some predicate then choose the 
right output destination.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif";></span></p><p>The
 following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
<strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
expressions</p><p><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent
  Builders</a></strong></p><div class="code panel pdl" style="border-width: 
1px;">
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> RouteBuilder builder = new RouteBuilder() { public 
void configure() { 
errorHandler(deadLetterChannel(&amp;quot;mock:error&amp;quot;)); 
from(&amp;quot;direct:a&amp;quot;) .choice() 
.when(header(&amp;quot;foo&amp;quot;).isEqualTo(&amp;quot;bar&amp;quot;)) 
.to(&amp;quot;direct:b&amp;quot;) 
.when(header(&amp;quot;foo&amp;quot;).isEqualTo(&amp;quot;cheese&amp;quot;)) 
.to(&amp;quot;direct:c&amp;quot;) .otherwise() 
.to(&amp;quot;direct:d&amp;quot;); } }; </script> 
  </div>
@@ -14269,8 +14270,8 @@ cometds://localhost:8443/service/mychann
  <div class="confluence-information-macro-body">
   <p>When using CXF in streaming modes (see DataFormat option), then also read 
about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p>
  </div>
-</div><p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ 
div.rbtoc1481883558580 {padding: 0px;} div.rbtoc1481883558580 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1481883558580 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1481883558580"> 
+</div><p>The <strong>cxf:</strong> component provides integration with <a 
shape="rect" href="http://cxf.apache.org";>Apache CXF</a> for connecting to 
JAX-WS services hosted in CXF.</p><p><style type="text/css">/**/ 
div.rbtoc1482358769821 {padding: 0px;} div.rbtoc1482358769821 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1482358769821 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1482358769821"> 
   <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a> 
     <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a> 
       <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a> 
@@ -14516,7 +14517,7 @@ cometds://localhost:8443/service/mychann
 </div><p>You can also configure the CXF REST endpoint through the spring 
configuration. Since there are lots of difference between the CXF REST client 
and CXF REST Server, we provide different configuration for them.<br 
clear="none"> Please check out the <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd";>schema
 file</a> and <a shape="rect" class="external-link" 
href="https://cwiki.apache.org/CXF20DOC/JAX-RS";>CXF JAX-RS documentation</a> 
for more information.</p><h3 
id="BookInOnePage-HowtoconfiguretheRESTendpointinCamel">How to configure the 
REST endpoint in Camel</h3><p>In <a shape="rect" class="external-link" 
href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-cxf/src/main/resources/schema/cxfEndpoint.xsd";>camel-cxf
 schema file</a>, there are two elements for the REST endpoint definition. 
<strong>cxf:rsServer</strong> for REST consumer, <strong>cxf:rsClient</strong> f
 or REST producer.<br clear="none"> You can find a Camel REST service route 
configuration example here.
  </p><div class="code panel pdl" style="border-width: 1px;">
   <div class="codeContent panelContent pdl"> 
-   <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;beans 
xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot; 
xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
xmlns:cxf=&amp;quot;http://camel.apache.org/schema/cxf&amp;quot; 
xmlns:jaxrs=&amp;quot;http://cxf.apache.org/jaxrs&amp;quot; 
xsi:schemaLocation=&amp;quot; http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://camel.apache.org/schema/cxf 
http://camel.apache.org/schema/cxf/camel-cxf.xsd http://cxf.apache.org/jaxrs 
http://cxf.apache.org/schemas/jaxrs.xsd http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd &amp;quot;&amp;gt; 
&amp;lt;bean 
class=&amp;quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&amp;quot;/&amp;gt;
 &amp;lt;!-- Defined the real JAXRS back end service --&amp;gt; 
&amp;lt;jaxrs:server id=&amp;quot;restService&am
 p;quot; 
address=&amp;quot;http://localhost:${CXFTestSupport.port2}/CxfRsRouterTest/rest&amp;quot;
 staticSubresourceResolution=&amp;quot;true&amp;quot;&amp;gt; 
&amp;lt;jaxrs:serviceBeans&amp;gt; &amp;lt;ref 
bean=&amp;quot;customerService&amp;quot;/&amp;gt; 
&amp;lt;/jaxrs:serviceBeans&amp;gt; &amp;lt;/jaxrs:server&amp;gt; &amp;lt;bean 
id=&amp;quot;jsonProvider&amp;quot; 
class=&amp;quot;org.apache.cxf.jaxrs.provider.json.JSONProvider&amp;quot;/&amp;gt;
 &amp;lt;bean id=&amp;quot;customerService&amp;quot; 
class=&amp;quot;org.apache.camel.component.cxf.jaxrs.testbean.CustomerService&amp;quot;
 /&amp;gt; &amp;lt;!-- Defined the server endpoint to create the cxf-rs 
consumer --&amp;gt; &amp;lt;cxf:rsServer id=&amp;quot;rsServer&amp;quot; 
address=&amp;quot;http://localhost:${CXFTestSupport.port1}/CxfRsRouterTest/route&amp;quot;
 
serviceClass=&amp;quot;org.apache.camel.component.cxf.jaxrs.testbean.CustomerService&amp;quot;
 loggingFeatureEnabled=&amp;quot;true&amp;quot; loggingSizeLimit=&amp;quot
 ;20&amp;quot; skipFaultLogging=&amp;quot;true&amp;quot;&amp;gt; 
&amp;lt;cxf:providers&amp;gt; &amp;lt;ref 
bean=&amp;quot;jsonProvider&amp;quot;/&amp;gt; &amp;lt;/cxf:providers&amp;gt; 
&amp;lt;/cxf:rsServer&amp;gt; &amp;lt;!-- Defined the client endpoint to create 
the cxf-rs producer --&amp;gt; &amp;lt;cxf:rsClient 
id=&amp;quot;rsClient&amp;quot; 
address=&amp;quot;http://localhost:${CXFTestSupport.port2}/CxfRsRouterTest/rest&amp;quot;
 
serviceClass=&amp;quot;org.apache.camel.component.cxf.jaxrs.testbean.CustomerService&amp;quot;
 loggingFeatureEnabled=&amp;quot;true&amp;quot; 
skipFaultLogging=&amp;quot;true&amp;quot;&amp;gt; &amp;lt;cxf:providers&amp;gt; 
&amp;lt;ref bean=&amp;quot;jsonProvider&amp;quot;/&amp;gt; 
&amp;lt;/cxf:providers&amp;gt; &amp;lt;/cxf:rsClient&amp;gt; &amp;lt;!-- The 
camel route context --&amp;gt; &amp;lt;camelContext 
id=&amp;quot;camel&amp;quot; 
xmlns=&amp;quot;http://camel.apache.org/schema/spring&amp;quot;&amp;gt; 
&amp;lt;route&amp;gt; &amp;lt;!-- Just need to i
 gnoreDeleteMethodMessageBody --&amp;gt; &amp;lt;from 
uri=&amp;quot;cxfrs://bean://rsServer&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;log:body?level=INFO&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;cxfrs://bean://rsClient?ignoreDeleteMethodMessageBody=true&amp;quot;/&amp;gt;
 &amp;lt;/route&amp;gt; &amp;lt;/camelContext&amp;gt; &amp;lt;/beans&amp;gt; 
</script> 
+   <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;beans 
xmlns=&amp;quot;http://www.springframework.org/schema/beans&amp;quot; 
xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; 
xmlns:cxf=&amp;quot;http://camel.apache.org/schema/cxf&amp;quot; 
xmlns:jaxrs=&amp;quot;http://cxf.apache.org/jaxrs&amp;quot; 
xsi:schemaLocation=&amp;quot; http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd 
http://camel.apache.org/schema/cxf 
http://camel.apache.org/schema/cxf/camel-cxf.xsd http://cxf.apache.org/jaxrs 
http://cxf.apache.org/schemas/jaxrs.xsd http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd &amp;quot;&amp;gt; 
&amp;lt;bean 
class=&amp;quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&amp;quot;/&amp;gt;
 &amp;lt;!-- Defined the real JAXRS back end service --&amp;gt; 
&amp;lt;jaxrs:server id=&amp;quot;restService&am
 p;quot; 
address=&amp;quot;http://localhost:${CXFTestSupport.port2}/CxfRsRouterTest/rest&amp;quot;
 staticSubresourceResolution=&amp;quot;true&amp;quot;&amp;gt; 
&amp;lt;jaxrs:serviceBeans&amp;gt; &amp;lt;ref 
bean=&amp;quot;customerService&amp;quot;/&amp;gt; 
&amp;lt;/jaxrs:serviceBeans&amp;gt; &amp;lt;/jaxrs:server&amp;gt; &amp;lt;bean 
id=&amp;quot;jsonProvider&amp;quot; 
class=&amp;quot;org.apache.cxf.jaxrs.provider.json.JSONProvider&amp;quot;/&amp;gt;
 &amp;lt;bean id=&amp;quot;customerService&amp;quot; 
class=&amp;quot;org.apache.camel.component.cxf.jaxrs.testbean.CustomerService&amp;quot;
 /&amp;gt; &amp;lt;!-- Defined the server endpoint to create the cxf-rs 
consumer --&amp;gt; &amp;lt;cxf:rsServer id=&amp;quot;rsServer&amp;quot; 
address=&amp;quot;http://localhost:${CXFTestSupport.port1}/CxfRsRouterTest/route&amp;quot;
 
serviceClass=&amp;quot;org.apache.camel.component.cxf.jaxrs.testbean.CustomerService&amp;quot;
 loggingFeatureEnabled=&amp;quot;true&amp;quot; loggingSizeLimit=&amp;quot
 ;20&amp;quot; skipFaultLogging=&amp;quot;true&amp;quot;&amp;gt; 
&amp;lt;cxf:providers&amp;gt; &amp;lt;ref 
bean=&amp;quot;jsonProvider&amp;quot;/&amp;gt; &amp;lt;/cxf:providers&amp;gt; 
&amp;lt;/cxf:rsServer&amp;gt; &amp;lt;!-- Defined the client endpoint to create 
the cxf-rs producer --&amp;gt; &amp;lt;cxf:rsClient 
id=&amp;quot;rsClient&amp;quot; 
address=&amp;quot;http://localhost:${CXFTestSupport.port2}/CxfRsRouterTest/rest&amp;quot;
 
serviceClass=&amp;quot;org.apache.camel.component.cxf.jaxrs.testbean.CustomerService&amp;quot;
 loggingFeatureEnabled=&amp;quot;true&amp;quot; 
skipFaultLogging=&amp;quot;true&amp;quot;&amp;gt; &amp;lt;cxf:providers&amp;gt; 
&amp;lt;ref bean=&amp;quot;jsonProvider&amp;quot;/&amp;gt; 
&amp;lt;/cxf:providers&amp;gt; &amp;lt;/cxf:rsClient&amp;gt; &amp;lt;!-- The 
camel route context --&amp;gt; &amp;lt;camelContext 
id=&amp;quot;camel&amp;quot; 
xmlns=&amp;quot;http://camel.apache.org/schema/spring&amp;quot;&amp;gt; 
&amp;lt;route&amp;gt; &amp;lt;!-- Just need to i
 gnoreDeleteMethodMessageBody --&amp;gt; &amp;lt;from 
uri=&amp;quot;cxfrs://bean://rsServer&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;log:body?level=INFO&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;cxfrs://bean://rsClient?ignoreDeleteMethodMessageBody=true&amp;amp;amp;synchronous=true&amp;quot;/&amp;gt;
 &amp;lt;/route&amp;gt; &amp;lt;/camelContext&amp;gt; &amp;lt;/beans&amp;gt; 
</script> 
   </div>
  </div><h3 
id="BookInOnePage-HowtooverridetheCXFproduceraddressfrommessageheader.1">How to 
override the CXF producer address from message 
header</h3><p>The&#160;<code>camel-cxfrs</code>&#160;producer supports to 
override the services address by setting the message with the key of 
"<span>CamelDestinationOverrideUrl".</span></p><div class="code panel pdl" 
style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 

Modified: websites/production/camel/content/book-pattern-appendix.html
==============================================================================
--- websites/production/camel/content/book-pattern-appendix.html (original)
+++ websites/production/camel/content/book-pattern-appendix.html Wed Dec 21 
22:21:14 2016
@@ -110,23 +110,24 @@
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;direct:startInOnly&amp;quot;/&amp;gt; &amp;lt;inOnly 
uri=&amp;quot;bean:process&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; 
&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;direct:startInOut&amp;quot;/&amp;gt; &amp;lt;inOut 
uri=&amp;quot;bean:process&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; </script> 
  </div>
-</div><h4 id="BookPatternAppendix-UsingThisPattern.1">Using This 
Pattern</h4><p>If you would like to use this EIP Pattern then please read the 
<a shape="rect" href="getting-started.html">Getting Started</a>, you may also 
find the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern out.</p><h3 
id="BookPatternAppendix-PipesandFilters">Pipes and Filters</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html"; 
rel="nofollow">Pipes and Filters</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> in various 
ways.</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-exter
 nal-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif";></span></p><p>With
 Camel you can split your processing across multiple independent <a 
shape="rect" href="endpoint.html">Endpoint</a> instances which can then be 
chained together.</p><h4 id="BookPatternAppendix-UsingRoutingLogic">Using 
Routing Logic</h4><p>You can create pipelines of logic using multiple <a 
shape="rect" href="endpoint.html">Endpoint</a> or <a shape="rect" 
href="message-translator.html">Message Translator</a> instances as 
follows</p><div class="code panel pdl" style="border-width: 1px;">
+</div><h4 id="BookPatternAppendix-UsingThisPattern.1">Using This 
Pattern</h4><p>If you would like to use this EIP Pattern then please read the 
<a shape="rect" href="getting-started.html">Getting Started</a>, you may also 
find the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern out.</p><h3 
id="BookPatternAppendix-PipesandFilters">Pipes and Filters</h3><p>Camel 
supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html"; 
rel="nofollow">Pipes and Filters</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> in various 
ways.</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-exter
 nal-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif";></span></p><p>With
 Camel you can split your processing across multiple independent <a 
shape="rect" href="endpoint.html">Endpoint</a> instances which can then be 
chained together.</p><h4 id="BookPatternAppendix-UsingRoutingLogic">Using 
Routing Logic</h4><p>You can create pipelines of logic using multiple <a 
shape="rect" href="endpoint.html">Endpoint</a> or <a shape="rect" 
href="message-translator.html">Message Translator</a> instances as follows
+ </p><div class="code panel pdl" style="border-width: 1px;">
+  <div class="codeContent panelContent pdl"> 
+   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> 
from(&amp;quot;direct:a&amp;quot;).pipeline(&amp;quot;direct:x&amp;quot;, 
&amp;quot;direct:y&amp;quot;, &amp;quot;direct:z&amp;quot;, 
&amp;quot;mock:result&amp;quot;); </script> 
+  </div>
+ </div>Though pipeline is the default mode of operation when you specify 
multiple outputs in Camel. The opposite to pipeline is multicast; which fires 
the same message into each of its outputs. (See the example below).<p>In Spring 
XML you can use the&#160;<strong><code>&lt;pipeline/&gt;</code></strong> 
element</p><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> 
from(&amp;quot;direct:a&amp;quot;).pipeline(&amp;quot;direct:x&amp;quot;, 
&amp;quot;direct:y&amp;quot;, &amp;quot;direct:z&amp;quot;, 
&amp;quot;mock:result&amp;quot;); </script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;pipeline&amp;gt; 
&amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/route&amp;gt; </script> 
  </div>
-</div><p>Though pipeline is the default mode of operation when you specify 
multiple outputs in Camel. The opposite to pipeline is multicast; which fires 
the same message into each of its outputs. (See the example below).</p><p>In 
Spring XML you can use the &lt;pipeline/&gt; element</p><div class="code panel 
pdl" style="border-width: 1px;">
+</div><p>In the above the pipeline element is actually unnecessary, you could 
use this:</p><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;pipeline&amp;gt; 
&amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/route&amp;gt; </script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; 
</script> 
  </div>
-</div><p>In the above the pipeline element is actually unnecessary, you could 
use this...</p><div class="code panel pdl" style="border-width: 1px;">
+</div><p>which is a bit more explicit.</p><p>However if you wish to 
use&#160;<strong><code>&lt;multicast/&gt;</code></strong> to avoid a pipeline - 
to send the same message into multiple pipelines - then 
the&#160;<strong><code>&lt;pipeline/&gt;</code></strong> element comes into its 
own:</p><div class="code panel pdl" style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;foo&amp;quot;/&amp;gt; &amp;lt;bean 
ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/route&amp;gt; 
</script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;multicast&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean 
ref=&amp;quot;something&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;log:Something&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; 
&amp;lt;bean ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/multicast&amp;gt; &amp;lt;/route&amp;gt; </script> 
  </div>
-</div><p>Its just a bit more explicit. However if you wish to use 
&lt;multicast/&gt; to avoid a pipeline - to send the same message into multiple 
pipelines - then the &lt;pipeline/&gt; element comes into its own.</p><div 
class="code panel pdl" style="border-width: 1px;">
- <div class="codeContent panelContent pdl"> 
-  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> &amp;lt;route&amp;gt; &amp;lt;from 
uri=&amp;quot;activemq:SomeQueue&amp;quot;/&amp;gt; &amp;lt;multicast&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean 
ref=&amp;quot;something&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;log:Something&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;pipeline&amp;gt; &amp;lt;bean ref=&amp;quot;foo&amp;quot;/&amp;gt; 
&amp;lt;bean ref=&amp;quot;bar&amp;quot;/&amp;gt; &amp;lt;to 
uri=&amp;quot;activemq:OutputQueue&amp;quot;/&amp;gt; &amp;lt;/pipeline&amp;gt; 
&amp;lt;/multicast&amp;gt; &amp;lt;/route&amp;gt; </script> 
- </div>
-</div><p>In the above example we are routing from a single <a shape="rect" 
href="endpoint.html">Endpoint</a> to a list of different endpoints specified 
using <a shape="rect" href="uris.html">URIs</a>. If you find the above a bit 
confusing, try reading about the <a shape="rect" 
href="architecture.html">Architecture</a> or try the <a shape="rect" 
href="examples.html">Examples</a></p><h4 
id="BookPatternAppendix-UsingThisPattern.2">Using This Pattern</h4><p>If you 
would like to use this EIP Pattern then please read the <a shape="rect" 
href="getting-started.html">Getting Started</a>, you may also find the <a 
shape="rect" href="architecture.html">Architecture</a> useful particularly the 
description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a 
shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a 
shape="rect" href="examples.html">Examples</a> first before trying this pattern 
out.</p><h3 id="BookPatternAppendix-MessageRouter">Message Router</h3><p>The 
 <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/MessageRouter.html"; 
rel="nofollow">Message Router</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
consume from an input destination, evaluate some predicate then choose the 
right output destination.</p><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif";></span></p><p>The
 following example shows how to route a request from an input 
<strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
<strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
expressions</p><p><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fl
 uent Builders</a></strong></p><div class="code panel pdl" style="border-width: 
1px;">
+</div><p>In the above example we are routing from a single <a shape="rect" 
href="endpoint.html">Endpoint</a> to a list of different endpoints specified 
using <a shape="rect" href="uris.html">URIs</a>. If you find the above a bit 
confusing, try reading about the <a shape="rect" 
href="architecture.html">Architecture</a> or try the <a shape="rect" 
href="examples.html">Examples</a></p><p></p><h4 
id="BookPatternAppendix-UsingThisPattern.2">Using This Pattern</h4> <p>If you 
would like to use this EIP Pattern then please read the <a shape="rect" 
href="getting-started.html">Getting Started</a>, you may also find the <a 
shape="rect" href="architecture.html">Architecture</a> useful particularly the 
description of <a shape="rect" href="endpoint.html">Endpoint</a> and <a 
shape="rect" href="uris.html">URIs</a>. Then you could try out some of the <a 
shape="rect" href="examples.html">Examples</a> first before trying this pattern 
out.</p><h3 id="BookPatternAppendix-MessageRouter">Message Router</h3
 ><p>The <a shape="rect" class="external-link" 
 >href="http://www.enterpriseintegrationpatterns.com/MessageRouter.html"; 
 >rel="nofollow">Message Router</a> from the <a shape="rect" 
 >href="enterprise-integration-patterns.html">EIP patterns</a> allows you to 
 >consume from an input destination, evaluate some predicate then choose the 
 >right output destination.</p><p><span 
 >class="confluence-embedded-file-wrapper"><img 
 >class="confluence-embedded-image confluence-external-resource" 
 >src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif"; 
 >data-image-src="http://www.enterpriseintegrationpatterns.com/img/MessageRouter.gif";></span></p><p>The
 > following example shows how to route a request from an input 
 ><strong>queue:a</strong> endpoint to either <strong>queue:b</strong>, 
 ><strong>queue:c</strong> or <strong>queue:d</strong> depending on the 
 >evaluation of various <a shape="rect" href="predicate.html">Predicate</a> 
 >expressions</p><p><strong>Using the <a shape="rect" href="fluent-builders.
 html">Fluent Builders</a></strong></p><div class="code panel pdl" 
style="border-width: 1px;">
  <div class="codeContent panelContent pdl"> 
   <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> RouteBuilder builder = new RouteBuilder() { public 
void configure() { 
errorHandler(deadLetterChannel(&amp;quot;mock:error&amp;quot;)); 
from(&amp;quot;direct:a&amp;quot;) .choice() 
.when(header(&amp;quot;foo&amp;quot;).isEqualTo(&amp;quot;bar&amp;quot;)) 
.to(&amp;quot;direct:b&amp;quot;) 
.when(header(&amp;quot;foo&amp;quot;).isEqualTo(&amp;quot;cheese&amp;quot;)) 
.to(&amp;quot;direct:c&amp;quot;) .otherwise() 
.to(&amp;quot;direct:d&amp;quot;); } }; </script> 
  </div>

Modified: websites/production/camel/content/cache/main.pageCache
==============================================================================
Binary files - no diff available.

Modified: websites/production/camel/content/pipes-and-filters.html
==============================================================================
--- websites/production/camel/content/pipes-and-filters.html (original)
+++ websites/production/camel/content/pipes-and-filters.html Wed Dec 21 
22:21:14 2016
@@ -86,31 +86,12 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 
id="PipesandFilters-PipesandFilters">Pipes and Filters</h3>
-
-<p>Camel supports the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html"; 
rel="nofollow">Pipes and Filters</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> in various 
ways.</p>
-
-<p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif";></span></p>
-
-<p>With Camel you can split your processing across multiple independent <a 
shape="rect" href="endpoint.html">Endpoint</a> instances which can then be 
chained together.</p>
-
-<h4 id="PipesandFilters-UsingRoutingLogic">Using Routing Logic</h4>
-
-<p>You can create pipelines of logic using multiple <a shape="rect" 
href="endpoint.html">Endpoint</a> or <a shape="rect" 
href="message-translator.html">Message Translator</a> instances as follows</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+<div class="wiki-content maincontent"><h3 
id="PipesandFilters-PipesandFilters">Pipes and Filters</h3><p>Camel supports 
the <a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/PipesAndFilters.html"; 
rel="nofollow">Pipes and Filters</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> in various 
ways.</p><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif"; 
data-image-src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFilters.gif";></span></p><p>With
 Camel you can split your processing across multiple independent <a 
shape="rect" href="endpoint.html">Endpoint</a> instances which can then be 
chained together.</p><h4 id="PipesandFilters-UsingRoutingLogic">Using Routing 
Logic</h4><p>You can create pipelines of logic using multiple <a shape="rect" 
href="endpoint.html">End
 point</a> or <a shape="rect" href="message-translator.html">Message 
Translator</a> instances as follows</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:a&quot;).pipeline(&quot;direct:x&quot;, 
&quot;direct:y&quot;, &quot;direct:z&quot;, &quot;mock:result&quot;);
 ]]></script>
-</div></div>
-
-<p>Though pipeline is the default mode of operation when you specify multiple 
outputs in Camel. The opposite to pipeline is multicast; which fires the same 
message into each of its outputs. (See the example below).</p>
-
-<p>In Spring XML you can use the &lt;pipeline/&gt; element</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-&lt;route&gt;
+</div></div>Though pipeline is the default mode of operation when you specify 
multiple outputs in Camel. The opposite to pipeline is multicast; which fires 
the same message into each of its outputs. (See the example below).<p>In Spring 
XML you can use the&#160;<strong><code>&lt;pipeline/&gt;</code></strong> 
element</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
   &lt;from uri=&quot;activemq:SomeQueue&quot;/&gt;
   &lt;pipeline&gt;
     &lt;bean ref=&quot;foo&quot;/&gt;
@@ -119,26 +100,16 @@ from(&quot;direct:a&quot;).pipeline(&quo
   &lt;/pipeline&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<p>In the above the pipeline element is actually unnecessary, you could use 
this...</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-&lt;route&gt;
+</div></div><p>In the above the pipeline element is actually unnecessary, you 
could use this:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
   &lt;from uri=&quot;activemq:SomeQueue&quot;/&gt;
   &lt;bean ref=&quot;foo&quot;/&gt;
   &lt;bean ref=&quot;bar&quot;/&gt;
   &lt;to uri=&quot;activemq:OutputQueue&quot;/&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<p>Its just a bit more explicit. However if you wish to use &lt;multicast/&gt; 
to avoid a pipeline - to send the same message into multiple pipelines - then 
the &lt;pipeline/&gt; element comes into its own.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[
-&lt;route&gt;
+</div></div><p>which is a bit more explicit.</p><p>However if you wish to 
use&#160;<strong><code>&lt;multicast/&gt;</code></strong> to avoid a pipeline - 
to send the same message into multiple pipelines - then 
the&#160;<strong><code>&lt;pipeline/&gt;</code></strong> element comes into its 
own:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;route&gt;
   &lt;from uri=&quot;activemq:SomeQueue&quot;/&gt;
   &lt;multicast&gt;
     &lt;pipeline&gt;
@@ -153,14 +124,7 @@ from(&quot;direct:a&quot;).pipeline(&quo
   &lt;/multicast&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div>
-
-
-
-
-<p>In the above example we are routing from a single <a shape="rect" 
href="endpoint.html">Endpoint</a> to a list of different endpoints specified 
using <a shape="rect" href="uris.html">URIs</a>. If you find the above a bit 
confusing, try reading about the <a shape="rect" 
href="architecture.html">Architecture</a> or try the <a shape="rect" 
href="examples.html">Examples</a></p>
-
-<h4 id="PipesandFilters-UsingThisPattern">Using This Pattern</h4>
+</div></div><p>In the above example we are routing from a single <a 
shape="rect" href="endpoint.html">Endpoint</a> to a list of different endpoints 
specified using <a shape="rect" href="uris.html">URIs</a>. If you find the 
above a bit confusing, try reading about the <a shape="rect" 
href="architecture.html">Architecture</a> or try the <a shape="rect" 
href="examples.html">Examples</a></p><p></p><h4 
id="PipesandFilters-UsingThisPattern">Using This Pattern</h4>
 
 <p>If you would like to use this EIP Pattern then please read the <a 
shape="rect" href="getting-started.html">Getting Started</a>, you may also find 
the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern 
out.</p></div>
         </td>


Reply via email to