Author: buildbot
Date: Thu Oct  6 15:21:23 2016
New Revision: 998968

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/load-balancer.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 Thu Oct  6 15:21:23 
2016
@@ -1551,9 +1551,9 @@ However, there is another option that th
 </div><h3 id="BookInOnePage-MessageConstruction">Message Construction</h3><div 
class="table-wrap">
  <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/EventMessageIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/EventMessageIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="event-message.html">Event Message</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can messaging be used to transmit events from one 
application to another?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/RequestReplyIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/RequestReplyIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
  href="request-reply.html">Request Reply</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>When an application sends a message, how 
can it get a response from the receiver?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/CorrelationIdentifierIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/CorrelationIdentifierIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="correlation-identifier.html">Correlation Identifier</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>How does a requestor that has 
received a reply know which request this is the reply for?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" sr
 c="http://www.eaipatterns.com/img/ReturnAddressIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ReturnAddressIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="return-address.html">Return Address</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How does a replier know where to send the 
reply?</p></td></tr></tbody></table>
 </div><h3 id="BookInOnePage-MessageRouting">Message Routing</h3><div 
class="table-wrap">
- <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="content-based-router.html">Content Based Router</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>How do we handle a situation 
where the implementation of a single logical function (e.g., inventory check) 
is spread across multiple physical systems?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/MessageFilterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/Messa
 geFilterIcon.gif"></span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-filter.html">Message 
Filter</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How can 
a component avoid receiving uninteresting messages?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/DynamicRouterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DynamicRouterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="dynamic-router.html">Dynamic Router</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can you avoid the dependency of the 
router on all possible destinations while maintaining its 
efficiency?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper">
 <img class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/RecipientListIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/RecipientListIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="recipient-list.html">Recipient List</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do we route a message to a list of 
(static or dynamically) specified recipients?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/SplitterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/SplitterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="splitter.html">Splitter</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can we process a message if it contains 
 multiple elements, each of which may have to be processed in a different 
way?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/AggregatorIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/AggregatorIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="aggregator2.html">Aggregator</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How do we combine the results of individual, but 
related messages so that they can be processed as a whole?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/ResequencerIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ResequencerIcon.gif";></span></p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="resequencer.html">Resequencer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can we get a stream of related but out-of-sequence 
messages back into the correct order?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/DistributionAggregateIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DistributionAggregateIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="composed-message-processor.html">Composed Message 
Processor</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How 
can you maintain the overall message flow when processing a message consisting 
of multiple elements, each of which may require different 
processing?</p></td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="scatter-gather.html">Scatter-Gather</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do you maintain the overall message 
flow when a message needs to be sent to multiple recipients, each of which may 
send a reply?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/RoutingTableIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/RoutingTableIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" clas
 s="confluenceTd"><p><a shape="rect" href="routing-slip.html">Routing 
Slip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How do we 
route a message consecutively through a series of processing steps when the 
sequence of steps is not known at design-time and may vary for each 
message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="throttler.html">Throttler</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I throttle messages to ensure that a specific 
endpoint does not get overloaded, or we don't exceed an agreed SLA with some 
external service?</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
 >class="confluence-embedded-file-wrapper"><img 
 >class="confluence-embedded-image confluence-external-resource" 
 >src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
 >data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 >href="sampling.html">Sampling</a></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>How can I sample one message out of many in a given 
 >period to avoid downstream route does not get 
 >overloaded?</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
 >class="confluence-embedded-image confluence-external-resource" 
 >src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
 >data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 > col
 span="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="delayer.html">Delayer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I delay the sending of a 
message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="load-balancer.html">Load Balancer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I balance load across a number of 
endpoints?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" 
href="hystrix-eip.html">Hystrix</a></td><td colspan="1" rowspan="1" 
 class="confluenceTd">To use Hystrix Circuit Breaker when calling an external 
service.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><a shape="rect" href="servicecall-eip.html">Service 
Call</a></td><td colspan="1" rowspan="1" class="confluenceTd">To call a remote 
service in a distributed system where the service is looked up from a service 
registry of some sorts.</td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="multicast.html">Multicast</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I route a message to 
 a number of endpoints at the same time?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="loop.html">Loop</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I repeat processing a message in a 
loop?</p></td></tr></tbody></table>
+ <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="content-based-router.html">Content Based Router</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>How do we handle a situation 
where the implementation of a single logical function (e.g., inventory check) 
is spread across multiple physical systems?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/MessageFilterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/Messa
 geFilterIcon.gif"></span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="message-filter.html">Message 
Filter</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How can 
a component avoid receiving uninteresting messages?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/DynamicRouterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DynamicRouterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="dynamic-router.html">Dynamic Router</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can you avoid the dependency of the 
router on all possible destinations while maintaining its 
efficiency?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper">
 <img class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/RecipientListIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/RecipientListIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="recipient-list.html">Recipient List</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do we route a message to a list of 
(static or dynamically) specified recipients?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/SplitterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/SplitterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="splitter.html">Splitter</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can we process a message if it contains 
 multiple elements, each of which may have to be processed in a different 
way?</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/AggregatorIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/AggregatorIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="aggregator2.html">Aggregator</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How do we combine the results of individual, but 
related messages so that they can be processed as a whole?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/ResequencerIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ResequencerIcon.gif";></span></p><
 /td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="resequencer.html">Resequencer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can we get a stream of related but out-of-sequence 
messages back into the correct order?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/DistributionAggregateIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DistributionAggregateIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="composed-message-processor.html">Composed Message 
Processor</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How 
can you maintain the overall message flow when processing a message consisting 
of multiple elements, each of which may require different 
processing?</p></td></tr><tr><td colspan="1" row
 span="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="scatter-gather.html">Scatter-Gather</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do you maintain the overall message 
flow when a message needs to be sent to multiple recipients, each of which may 
send a reply?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/RoutingTableIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/RoutingTableIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" clas
 s="confluenceTd"><p><a shape="rect" href="routing-slip.html">Routing 
Slip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How do we 
route a message consecutively through a series of processing steps when the 
sequence of steps is not known at design-time and may vary for each 
message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="throttler.html">Throttler</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I throttle messages to ensure that a specific 
endpoint does not get overloaded, or we don't exceed an agreed SLA with some 
external service?</p></td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
 >class="confluence-embedded-file-wrapper"><img 
 >class="confluence-embedded-image confluence-external-resource" 
 >src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
 >data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 > colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
 >href="sampling.html">Sampling</a></p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>How can I sample one message out of many in a given 
 >period to avoid downstream route does not get 
 >overloaded?</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
 >class="confluence-embedded-image confluence-external-resource" 
 >src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
 >data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 > col
 span="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="delayer.html">Delayer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I delay the sending of a 
message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="load-balancer.html">Load Balancer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I balance load across a number of 
endpoints?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" 
href="hystrix-eip.html">Hystrix</a></p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p>To use Hystrix Circuit Breaker when calling an 
external service.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="servicecall-eip.html">Service 
Call</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To call a 
remote service in a distributed system where the service is looked up from a 
service registry of some sorts.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="multicast.html">Multicast</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>H
 ow can I route a message to a number of endpoints at the same 
time?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="loop.html">Loop</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I repeat processing a message in a 
loop?</p></td></tr></tbody></table>
 </div><h3 id="BookInOnePage-MessageTransformation">Message 
Transformation</h3><div class="table-wrap">
- <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/DataEnricherIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DataEnricherIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="content-enricher.html">Content Enricher</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do we communicate with another system 
if the message originator does not have all the required data items 
available?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/ContentFilterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ContentFilterIcon.gif";></span></p></td><td
 colspan="1" 
 rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="content-filter.html">Content Filter</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do you simplify dealing with a large 
message, when you are interested only in a few data items?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/StoreInLibraryIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/StoreInLibraryIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="claim-check.html">Claim Check</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can we reduce the data volume of message sent 
across the system without sacrificing information content?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="con
 fluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/NormalizerIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/NormalizerIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="normalizer.html">Normalizer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How do you process messages that are semantically 
equivalent, but arrive in a different format?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="sort.html">Sort</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I sort the bod
 y of a message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd">Script</td><td colspan="1" rowspan="1" 
class="confluenceTd">How do I execute a script which may not change the 
message?</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="validate.html">Validate</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I validate a 
message?</p></td></tr></tbody></table>
+ <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/DataEnricherIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DataEnricherIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="content-enricher.html">Content Enricher</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do we communicate with another system 
if the message originator does not have all the required data items 
available?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/ContentFilterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/ContentFilterIcon.gif";></span></p></td><td
 colspan="1" 
 rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="content-filter.html">Content Filter</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do you simplify dealing with a large 
message, when you are interested only in a few data items?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/StoreInLibraryIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/StoreInLibraryIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="claim-check.html">Claim Check</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can we reduce the data volume of message sent 
across the system without sacrificing information content?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="con
 fluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/NormalizerIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/NormalizerIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="normalizer.html">Normalizer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How do you process messages that are semantically 
equivalent, but arrive in a different format?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="sort.html">Sort</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I sort the bod
 y of a message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Script</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How do I execute a script which may not change the 
message?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="validate.html">Validate</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can I validate a 
message?</p></td></tr></tbody></table>
 </div><h3 id="BookInOnePage-MessagingEndpoints">Messaging Endpoints</h3><div 
class="table-wrap">
  <table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="messaging-mapper.html">Messaging Mapper</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How do you move data between domain objects 
and the messaging infrastructure while keeping the two independent of each 
other?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/EventDrivenConsumerIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/Even
 tDrivenConsumerIcon.gif"></span></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" href="event-driven-consumer.html">Event 
Driven Consumer</a></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>How can an application automatically consume messages 
as they become available?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/PollingConsumerIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/PollingConsumerIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="polling-consumer.html">Polling Consumer</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can an application consume a message 
when the application is ready?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-fil
 e-wrapper"><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/CompetingConsumersIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/CompetingConsumersIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="competing-consumers.html">Competing Consumers</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can a messaging client process multiple 
messages concurrently?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/MessageDispatcherIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/MessageDispatcherIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="message-dispatcher.html">Message Dispatcher</a></p></td><td colspan="1" 
rowspan="1" class="confluence
 Td"><p>How can multiple consumers on a single channel coordinate their message 
processing?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/MessageSelectorIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/MessageSelectorIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="selective-consumer.html">Selective Consumer</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can a message consumer select which 
messages it wishes to receive?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/DurableSubscriptionIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/DurableSubscriptionIcon.
 gif"></span></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" href="durable-subscriber.html">Durable Subscriber</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>How can a subscriber avoid 
missing messages while it's not listening for them?</p></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"; 
data-image-src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="idempotent-consumer.html">Idempotent Consumer</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can a message receiver deal with 
duplicate messages?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-
 wrapper"><img class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/TransactionalClientIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/TransactionalClientIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="transactional-client.html">Transactional Client</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>How can a client control its 
transactions with the messaging system?</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://www.eaipatterns.com/img/MessagingGatewayIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/MessagingGatewayIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="messaging-gateway.html">Messaging Gateway</a></p></td><td colspan="1" 
rowspan="1" class="confluence
 Td"><p>How do you encapsulate access to the messaging system from the rest of 
the application?</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span class="confluence-embedded-file-wrapper"><img 
class="confluence-embedded-image confluence-external-resource" 
src="http://www.eaipatterns.com/img/MessagingAdapterIcon.gif"; 
data-image-src="http://www.eaipatterns.com/img/MessagingAdapterIcon.gif";></span></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
href="service-activator.html">Service Activator</a></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>How can an application design a service to 
be invoked both via various messaging technologies and via non-messaging 
techniques?</p></td></tr></tbody></table>
 </div><h3 id="BookInOnePage-SystemManagement">System Management</h3><div 
class="table-wrap">
@@ -4040,11 +4040,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.rbtoc1475659203190 {padding: 0px;}
-div.rbtoc1475659203190 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1475659203190 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1475767129863 {padding: 0px;}
+div.rbtoc1475767129863 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1475767129863 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1475659203190">
+/*]]>*/</style></p><div class="toc-macro rbtoc1475767129863">
 <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>
@@ -6159,11 +6159,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.rbtoc1475659204319 {padding: 0px;}
-div.rbtoc1475659204319 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1475659204319 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1475767131065 {padding: 0px;}
+div.rbtoc1475767131065 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1475767131065 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1475659204319">
+/*]]>*/</style><div class="toc-macro rbtoc1475767131065">
 <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>
@@ -13128,13 +13128,13 @@ from(&quot;direct:start&quot;)
   <div class="codeContent panelContent pdl"> 
    <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> public static class MyLoadBalancer extends 
LoadBalancerSupport { public boolean process(Exchange exchange, AsyncCallback 
callback) { String body = exchange.getIn().getBody(String.class); try { if 
(&amp;quot;x&amp;quot;.equals(body)) { 
getProcessors().get(0).process(exchange); } else if 
(&amp;quot;y&amp;quot;.equals(body)) { 
getProcessors().get(1).process(exchange); } else { 
getProcessors().get(2).process(exchange); } } catch (Throwable e) { 
exchange.setException(e); } callback.done(true); return true; } } </script> 
   </div>
- </div><h3 id="BookInOnePage-CircuitBreaker">Circuit Breaker</h3><p>The 
Circuit Breaker load balancer is a stateful pattern that monitors all calls for 
certain exceptions. Initially the Circuit Breaker is in closed state and passes 
all messages. If there are failures and the threshold is reached, it moves to 
open state and rejects all calls until halfOpenAfter timeout is reached. After 
this timeout is reached, if there is a new call, it will pass and if the result 
is success the Circuit Breaker will move to closed state, or to open state if 
there was an error.</p><p>An example using Java DSL:</p><div class="code panel 
pdl" style="border-width: 1px;">
+ </div><h3 id="BookInOnePage-CircuitBreaker">Circuit Breaker</h3><p>The 
Circuit Breaker load balancer is a stateful pattern that monitors all calls for 
certain exceptions. Initially the Circuit Breaker is in closed state and passes 
all messages. If there are failures and the threshold is reached, it moves to 
open state and rejects all calls until halfOpenAfter timeout is reached. After 
this timeout is reached, if there is a new call, it will pass and if the result 
is success the Circuit Breaker will move to closed state, or to open state if 
there was an error.</p><p>When the circuit breaker is closed, it will throw a 
<code>java.util.concurrent.RejectedExecutionException</code>. This can then be 
caught to provide an alternate path for processing exchanges.</p><p>An example 
using Java DSL:</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:start&amp;quot;).loadBalance() 
.circuitBreaker(2, 1000L, MyCustomException.class) 
.to(&amp;quot;mock:result&amp;quot;); </script> 
+  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">from(&amp;quot;direct:start&amp;quot;) 
.onException(RejectedExecutionException.class) .handled(true) 
.to(&amp;quot;mock:serviceUnavailable&amp;quot;) .end() &nbsp;.loadBalance() 
.circuitBreaker(2, 1000L, MyCustomException.class) 
.to(&amp;quot;mock:service&amp;quot;) .end(); </script> 
  </div>
 </div><p>And the same example using Spring XML:</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;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;from 
uri=&amp;quot;direct:start&amp;quot;/&amp;gt; &amp;lt;loadBalance&amp;gt; 
&amp;lt;circuitBreaker threshold=&amp;quot;2&amp;quot; 
halfOpenAfter=&amp;quot;1000&amp;quot;&amp;gt; 
&amp;lt;exception&amp;gt;MyCustomException&amp;lt;/exception&amp;gt; 
&amp;lt;/circuitBreaker&amp;gt; &amp;lt;to 
uri=&amp;quot;mock:result&amp;quot;/&amp;gt; &amp;lt;/loadBalance&amp;gt; 
&amp;lt;/route&amp;gt; &amp;lt;/camelContext&amp;gt; </script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&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;from 
uri=&amp;quot;direct:start&amp;quot;/&amp;gt; &amp;lt;onException&amp;gt; 
&amp;lt;exception&amp;gt;java.util.concurrent.RejectedExecutionException&amp;lt;/exception&amp;gt;
 
&amp;lt;handled&amp;gt;&amp;lt;constant&amp;gt;true&amp;lt;/constant&amp;gt;&amp;lt;/handled&amp;gt;
 &amp;lt;to uri=&amp;quot;mock:serviceUnavailable&amp;quot;/&amp;gt; 
&amp;lt;/onException&amp;gt; &nbsp;&amp;lt;loadBalance&amp;gt; 
&amp;lt;circuitBreaker threshold=&amp;quot;2&amp;quot; 
halfOpenAfter=&amp;quot;1000&amp;quot;&amp;gt; 
&amp;lt;exception&amp;gt;MyCustomException&amp;lt;/exception&amp;gt; 
&amp;lt;/circuitBreaker&amp;gt; &amp;lt;to 
uri=&amp;quot;mock:service&amp;quot;/&amp;gt; &amp;lt;/loadBalance&amp;gt; 
&amp;lt;/route&amp;gt; &amp;lt;/camelContext&amp;gt; </script
 > 
  </div>
 </div><p></p><h4 id="BookInOnePage-UsingThisPattern.27">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-Multicast">Multicast</h3><p>The Multicast allows to route the 
same message to a number of endpoints and process them in a different way. The 
main difference between the Multicast and Splitter is that Splitter will split 
the message into several pieces but the Multicast will not modify the request 
message.</p><h3 id="BookInOnePage-Options.16">Options</h3><div 
class="confluenceTableSmall">
  <div class="table-wrap"> 
@@ -14385,8 +14385,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.rbtoc1475659222415 {padding: 0px;} div.rbtoc1475659222415 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1475659222415 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
- </p><div class="toc-macro rbtoc1475659222415"> 
+</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.rbtoc1475767156464 {padding: 0px;} div.rbtoc1475767156464 ul {list-style: 
disc;margin-left: 0px;} div.rbtoc1475767156464 li {margin-left: 
0px;padding-left: 0px;} /**/</style>
+ </p><div class="toc-macro rbtoc1475767156464"> 
   <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> 

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 Thu Oct  6 
15:21:23 2016
@@ -1418,13 +1418,13 @@
   <div class="codeContent panelContent pdl"> 
    <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"> public static class MyLoadBalancer extends 
LoadBalancerSupport { public boolean process(Exchange exchange, AsyncCallback 
callback) { String body = exchange.getIn().getBody(String.class); try { if 
(&amp;quot;x&amp;quot;.equals(body)) { 
getProcessors().get(0).process(exchange); } else if 
(&amp;quot;y&amp;quot;.equals(body)) { 
getProcessors().get(1).process(exchange); } else { 
getProcessors().get(2).process(exchange); } } catch (Throwable e) { 
exchange.setException(e); } callback.done(true); return true; } } </script> 
   </div>
- </div><h3 id="BookPatternAppendix-CircuitBreaker">Circuit Breaker</h3><p>The 
Circuit Breaker load balancer is a stateful pattern that monitors all calls for 
certain exceptions. Initially the Circuit Breaker is in closed state and passes 
all messages. If there are failures and the threshold is reached, it moves to 
open state and rejects all calls until halfOpenAfter timeout is reached. After 
this timeout is reached, if there is a new call, it will pass and if the result 
is success the Circuit Breaker will move to closed state, or to open state if 
there was an error.</p><p>An example using Java DSL:</p><div class="code panel 
pdl" style="border-width: 1px;">
+ </div><h3 id="BookPatternAppendix-CircuitBreaker">Circuit Breaker</h3><p>The 
Circuit Breaker load balancer is a stateful pattern that monitors all calls for 
certain exceptions. Initially the Circuit Breaker is in closed state and passes 
all messages. If there are failures and the threshold is reached, it moves to 
open state and rejects all calls until halfOpenAfter timeout is reached. After 
this timeout is reached, if there is a new call, it will pass and if the result 
is success the Circuit Breaker will move to closed state, or to open state if 
there was an error.</p><p>When the circuit breaker is closed, it will throw a 
<code>java.util.concurrent.RejectedExecutionException</code>. This can then be 
caught to provide an alternate path for processing exchanges.</p><p>An example 
using Java DSL:</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:start&amp;quot;).loadBalance() 
.circuitBreaker(2, 1000L, MyCustomException.class) 
.to(&amp;quot;mock:result&amp;quot;); </script> 
+  <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">from(&amp;quot;direct:start&amp;quot;) 
.onException(RejectedExecutionException.class) .handled(true) 
.to(&amp;quot;mock:serviceUnavailable&amp;quot;) .end() &nbsp;.loadBalance() 
.circuitBreaker(2, 1000L, MyCustomException.class) 
.to(&amp;quot;mock:service&amp;quot;) .end(); </script> 
  </div>
 </div><p>And the same example using Spring XML:</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;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;from 
uri=&amp;quot;direct:start&amp;quot;/&amp;gt; &amp;lt;loadBalance&amp;gt; 
&amp;lt;circuitBreaker threshold=&amp;quot;2&amp;quot; 
halfOpenAfter=&amp;quot;1000&amp;quot;&amp;gt; 
&amp;lt;exception&amp;gt;MyCustomException&amp;lt;/exception&amp;gt; 
&amp;lt;/circuitBreaker&amp;gt; &amp;lt;to 
uri=&amp;quot;mock:result&amp;quot;/&amp;gt; &amp;lt;/loadBalance&amp;gt; 
&amp;lt;/route&amp;gt; &amp;lt;/camelContext&amp;gt; </script> 
+  <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter">&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;from 
uri=&amp;quot;direct:start&amp;quot;/&amp;gt; &amp;lt;onException&amp;gt; 
&amp;lt;exception&amp;gt;java.util.concurrent.RejectedExecutionException&amp;lt;/exception&amp;gt;
 
&amp;lt;handled&amp;gt;&amp;lt;constant&amp;gt;true&amp;lt;/constant&amp;gt;&amp;lt;/handled&amp;gt;
 &amp;lt;to uri=&amp;quot;mock:serviceUnavailable&amp;quot;/&amp;gt; 
&amp;lt;/onException&amp;gt; &nbsp;&amp;lt;loadBalance&amp;gt; 
&amp;lt;circuitBreaker threshold=&amp;quot;2&amp;quot; 
halfOpenAfter=&amp;quot;1000&amp;quot;&amp;gt; 
&amp;lt;exception&amp;gt;MyCustomException&amp;lt;/exception&amp;gt; 
&amp;lt;/circuitBreaker&amp;gt; &amp;lt;to 
uri=&amp;quot;mock:service&amp;quot;/&amp;gt; &amp;lt;/loadBalance&amp;gt; 
&amp;lt;/route&amp;gt; &amp;lt;/camelContext&amp;gt; </script
 > 
  </div>
 </div><p></p><h4 id="BookPatternAppendix-UsingThisPattern.27">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-Multicast">Multicast</h3><p>The Multicast allows to 
route the same message to a number of endpoints and process them in a different 
way. The main difference between the Multicast and Splitter is that Splitter 
will split the message into several pieces but the Multicast will not modify 
the request message.</p><h3 id="BookPatternAppendix-Options.7">Options</h3><div 
class="confluenceTableSmall">
  <div class="table-wrap"> 

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

Modified: websites/production/camel/content/load-balancer.html
==============================================================================
--- websites/production/camel/content/load-balancer.html (original)
+++ websites/production/camel/content/load-balancer.html Thu Oct  6 15:21:23 
2016
@@ -266,22 +266,33 @@ public static class MyLoadBalancer exten
     }
 }
 ]]></script>
-</div></div><h3 id="LoadBalancer-CircuitBreaker">Circuit Breaker</h3><p>The 
Circuit Breaker load balancer is a stateful pattern that monitors all calls for 
certain exceptions. Initially the Circuit Breaker is in closed state and passes 
all messages. If there are failures and the threshold is reached, it moves to 
open state and rejects all calls until halfOpenAfter timeout is reached. After 
this timeout is reached, if there is a new call, it will pass and if the result 
is success the Circuit Breaker will move to closed state, or to open state if 
there was an error.</p><p>An example using Java DSL:</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:start&quot;).loadBalance()
-       .circuitBreaker(2, 1000L, MyCustomException.class)
-    .to(&quot;mock:result&quot;);
+</div></div><h3 id="LoadBalancer-CircuitBreaker">Circuit Breaker</h3><p>The 
Circuit Breaker load balancer is a stateful pattern that monitors all calls for 
certain exceptions. Initially the Circuit Breaker is in closed state and passes 
all messages. If there are failures and the threshold is reached, it moves to 
open state and rejects all calls until halfOpenAfter timeout is reached. After 
this timeout is reached, if there is a new call, it will pass and if the result 
is success the Circuit Breaker will move to closed state, or to open state if 
there was an error.</p><p>When the circuit breaker is closed, it will throw a 
<code>java.util.concurrent.RejectedExecutionException</code>. This can then be 
caught to provide an alternate path for processing exchanges.</p><p>An example 
using Java DSL:</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:start&quot;)
+    .onException(RejectedExecutionException.class)
+        .handled(true)
+        .to(&quot;mock:serviceUnavailable&quot;)
+    .end()
+    .loadBalance()
+        .circuitBreaker(2, 1000L, MyCustomException.class)
+        .to(&quot;mock:service&quot;)
+    .end();
 ]]></script>
 </div></div><p>And the same example using Spring XML:</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;camelContext id=&quot;camel&quot; 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
        &lt;route&gt;
-    &lt;from uri=&quot;direct:start&quot;/&gt;
-    &lt;loadBalance&gt;
-        &lt;circuitBreaker threshold=&quot;2&quot; 
halfOpenAfter=&quot;1000&quot;&gt;
-            &lt;exception&gt;MyCustomException&lt;/exception&gt;
-        &lt;/circuitBreaker&gt;
-        &lt;to uri=&quot;mock:result&quot;/&gt;
-    &lt;/loadBalance&gt;
-&lt;/route&gt;
+        &lt;from uri=&quot;direct:start&quot;/&gt;
+        &lt;onException&gt;
+            
&lt;exception&gt;java.util.concurrent.RejectedExecutionException&lt;/exception&gt;
+            
&lt;handled&gt;&lt;constant&gt;true&lt;/constant&gt;&lt;/handled&gt;
+            &lt;to uri=&quot;mock:serviceUnavailable&quot;/&gt;
+        &lt;/onException&gt;
+        &lt;loadBalance&gt;
+            &lt;circuitBreaker threshold=&quot;2&quot; 
halfOpenAfter=&quot;1000&quot;&gt;
+                &lt;exception&gt;MyCustomException&lt;/exception&gt;
+            &lt;/circuitBreaker&gt;
+            &lt;to uri=&quot;mock:service&quot;/&gt;
+        &lt;/loadBalance&gt;
+    &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>
 </div></div><p></p><h4 id="LoadBalancer-UsingThisPattern">Using This 
Pattern</h4>


Reply via email to