You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by dk...@apache.org on 2012/08/29 17:54:09 UTC

svn commit: r830472 [3/15] - in /websites/production/camel/content: ./ cache/

Modified: websites/production/camel/content/book-enterprise-integration-patterns.html
==============================================================================
--- websites/production/camel/content/book-enterprise-integration-patterns.html (original)
+++ websites/production/camel/content/book-enterprise-integration-patterns.html Wed Aug 29 15:53:50 2012
@@ -87,49 +87,49 @@
 <p></p><h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-MessagingSystems"></a>Messaging Systems</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/ChannelIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-channel.html" title="Message Channel">Message Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does one application communicate with another using messaging? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message.html" title="Message">Message</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can two applications connected by a message channel exchange a piece of information? </td>
 </tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFiltersIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="pipes-and-filters.html" title="Pipes and Filters">Pipes and Filters</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we perform complex processing on a message while maintaining independence and flexibility? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-router.html" title="Message Router">Message Router</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you decouple individual processing steps 
 so that messages can be passed to different filters depending on a set of conditions? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageTranslatorIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-translator.html" title="Message Translator">Message Translator</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can systems using different data formats communicate with each other using messaging? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-endpoint.html" title="Message Endpoint">Message Endpoint</a> </td><td colsp
 an="1" rowspan="1" class="confluenceTd"> How does an application connect to a messaging channel to send and receive messages? </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/ChannelIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-channel.html" title="Message Channel">Message Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does one application communicate with another using messaging? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message.html" title="Message">Message</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can two applications connected by a message channel exchange a piece of information? </td></tr><tr><td colspan="1" rowspan="1"
  class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/PipesAndFiltersIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="pipes-and-filters.html" title="Pipes and Filters">Pipes and Filters</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we perform complex processing on a message while maintaining independence and flexibility? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-router.html" title="Message Router">Message Router</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you decouple individual processing steps so that messages can be passed to different filters depending on a set o
 f conditions? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageTranslatorIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-translator.html" title="Message Translator">Message Translator</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can systems using different data formats communicate with each other using messaging? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageEndpointIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-endpoint.html" title="Message Endpoint">Message Endpoint</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does an application connect to a messaging channel to send and 
 receive messages? </td></tr></tbody></table>
 </div>
 
 
 <h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-MessagingChannels"></a>Messaging Channels</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/PointToPointIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="point-to-point-channel.html" title="Point to Point Channel">Point to Point Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can the caller be sure that exactly one receiver will receive the document or perform the call? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/PublishSubscribeIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="publish-subscribe-channel.html" title="Publish Subscribe Channel">Publish Subscribe Channel</a> </td><td colspan="1" rowspa
 n="1" class="confluenceTd"> How can the sender broadcast an event to all interested receivers? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/DeadLetterChannelIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">Dead Letter Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> What will the messaging system do with a message it cannot deliver?  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="guaranteed-delivery.html" title="Guaranteed Delivery">Guaranteed Delivery</a> </td><td c
 olspan="1" rowspan="1" class="confluenceTd"> How can the sender make sure that a message will be delivered, even if the messaging system fails? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageBusIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-bus.html" title="Message Bus">Message Bus</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> What is an architecture that enables separate applications to work together, but in a de-coupled fashion such that applications can be easily added or removed without affecting the others? </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/PointToPointIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="point-to-point-channel.html" title="Point to Point Channel">Point to Point Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can the caller be sure that exactly one receiver will receive the document or perform the call? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/PublishSubscribeIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="publish-subscribe-channel.html" title="Publish Subscribe Channel">Publish Subscribe Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can 
 the sender broadcast an event to all interested receivers? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/DeadLetterChannelIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="dead-letter-channel.html" title="Dead Letter Channel">Dead Letter Channel</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> What will the messaging system do with a message it cannot deliver?  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/GuaranteedMessagingIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="guaranteed-delivery.html" title="Guaranteed Delivery">Guaranteed Delivery</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can the sender make sur
 e that a message will be delivered, even if the messaging system fails? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageBusIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-bus.html" title="Message Bus">Message Bus</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> What is an architecture that enables separate applications to work together, but in a de-coupled fashion such that applications can be easily added or removed without affecting the others? </td></tr></tbody></table>
 </div>
 
 
 <h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-MessageConstruction"></a>Message Construction</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/EventMessageIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="event-message.html" title="Event Message">Event Message</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can messaging be used to transmit events from one application to another? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/RequestReplyIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> When an application sends a message, how can it get a respons
 e from the receiver? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="correlation-identifier.html" title="Correlation Identifier">Correlation Identifier</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does a requestor that has received a reply know which request this is the reply for? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/ReturnAddressIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="return-address.html" title="Return Address">Return Address</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does a replie
 r know where to send the reply? </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/EventMessageIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="event-message.html" title="Event Message">Event Message</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can messaging be used to transmit events from one application to another? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/RequestReplyIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="request-reply.html" title="Request Reply">Request Reply</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> When an application sends a message, how can it get a response from the receiver? </td></tr><tr><
 td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/CorrelationIdentifierIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="correlation-identifier.html" title="Correlation Identifier">Correlation Identifier</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does a requestor that has received a reply know which request this is the reply for? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/ReturnAddressIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="return-address.html" title="Return Address">Return Address</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How does a replier know where to send the reply? </td></tr></tbody></table>
 </div>
 
 
 <h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-MessageRouting"></a>Message Routing</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="content-based-router.html" title="Content Based Router">Content Based Router</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageFilterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-filter.html" title="Message Filter">Message Filter</a> </td><td col
 span="1" rowspan="1" class="confluenceTd"> How can a component avoid receiving uninteresting messages? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/DynamicRouterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="dynamic-router.html" title="Dynamic Router">Dynamic Router</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you avoid the dependency of the router on all possible destinations while maintaining its efficiency? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/RecipientListIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="recipient-list.html" title="Recipient List">Recipient List</a> <
 /td><td colspan="1" rowspan="1" class="confluenceTd"> How do we route a message to a list of (static or dynamically) specified recipients? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/SplitterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="splitter.html" title="Splitter">Splitter</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we process a message if it contains multiple elements, each of which may have to be processed in a different way? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/AggregatorIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggr
 egator</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we combine the results of individual, but related messages so that they can be processed as a whole? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/ResequencerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="resequencer.html" title="Resequencer">Resequencer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we get a stream of related but out-of-sequence messages back into the correct order? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/DistributionAggregateIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="composed-mess
 age-processor.html" title="Composed Message Processor">Composed Message Processor</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="scatter-gather.html" title="Scatter-Gather">Scatter-Gather</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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?  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatte
 rns.com/img/RoutingTableIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="routing-slip.html" title="Routing Slip">Routing Slip</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="throttler.html" title="Throttler">Throttler</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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? </td></tr><tr
 ><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="sampling.html" title="Sampling">Sampling</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I sample one message out of many in a given period to avoid downstream route does not get overloaded? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="delayer.html" title="Delayer">Delayer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I delay the sending of a message? </td></tr><tr><td colspan="1" rowspan="1" class="confluen
 ceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="load-balancer.html" title="Load Balancer">Load Balancer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I balance load across a number of endpoints? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="multicast.html" title="Multicast">Multicast</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I route a message to a number of endpoints at the same time? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="ht
 tp://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="loop.html" title="Loop">Loop</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I repeat processing a message in a loop? </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/ContentBasedRouterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="content-based-router.html" title="Content Based Router">Content Based Router</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we handle a situation where the implementation of a single logical function (e.g., inventory check) is spread across multiple physical systems? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageFilterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-filter.html" title="Message Filter">Message Filter</a> </td><td colspan="1" rowspan="1" class="confluen
 ceTd"> How can a component avoid receiving uninteresting messages? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/DynamicRouterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="dynamic-router.html" title="Dynamic Router">Dynamic Router</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you avoid the dependency of the router on all possible destinations while maintaining its efficiency? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/RecipientListIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="recipient-list.html" title="Recipient List">Recipient List</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we route a 
 message to a list of (static or dynamically) specified recipients? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/SplitterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="splitter.html" title="Splitter">Splitter</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we process a message if it contains multiple elements, each of which may have to be processed in a different way? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/AggregatorIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="aggregator2.html" title="Aggregator2">Aggregator</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we combine the results of individua
 l, but related messages so that they can be processed as a whole? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/ResequencerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="resequencer.html" title="Resequencer">Resequencer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we get a stream of related but out-of-sequence messages back into the correct order? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/DistributionAggregateIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="composed-message-processor.html" title="Composed Message Processor">Composed Message Processor</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How
  can you maintain the overall message flow when processing a message consisting of multiple elements, each of which may require different processing? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="scatter-gather.html" title="Scatter-Gather">Scatter-Gather</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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?  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/RoutingTableIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="routing-sli
 p.html" title="Routing Slip">Routing Slip</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="throttler.html" title="Throttler">Throttler</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> 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? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear
 .png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="sampling.html" title="Sampling">Sampling</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I sample one message out of many in a given period to avoid downstream route does not get overloaded? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="delayer.html" title="Delayer">Delayer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I delay the sending of a message? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span
 > </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="load-balancer.html" title="Load Balancer">Load Balancer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I balance load across a number of endpoints? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="multicast.html" title="Multicast">Multicast</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I route a message to a number of endpoints at the same time? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceT
 d"> <a shape="rect" href="loop.html" title="Loop">Loop</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I repeat processing a message in a loop? </td></tr></tbody></table>
 </div>
 
 
 <h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-MessageTransformation"></a>Message Transformation</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/DataEnricherIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="content-enricher.html" title="Content Enricher">Content Enricher</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we communicate with another system if the message originator does not have all the required data items available? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/ContentFilterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="content-filter.html" title="Content Filter">Content Filter</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How d
 o you simplify dealing with a large message, when you are interested only in a few data items? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/StoreInLibraryIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="claim-check.html" title="Claim Check">Claim Check</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we reduce the data volume of message sent across the system without sacrificing information content?  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/NormalizerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="normalizer.html" title="Normalizer">Normalizer</a> </td><td colspan="1" rowspan="1"
  class="confluenceTd"> How do you process messages that are semantically equivalent, but arrive in a different format? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="sort.html" title="Sort">Sort</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I sort the body of a message? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="validate.html" title="Validate">Validate</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I validate a message? </td></tr></tbody>
 </table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/DataEnricherIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="content-enricher.html" title="Content Enricher">Content Enricher</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do we communicate with another system if the message originator does not have all the required data items available? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/ContentFilterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="content-filter.html" title="Content Filter">Content Filter</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you simplify dealing with a large 
 message, when you are interested only in a few data items? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/StoreInLibraryIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="claim-check.html" title="Claim Check">Claim Check</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can we reduce the data volume of message sent across the system without sacrificing information content?  </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/NormalizerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="normalizer.html" title="Normalizer">Normalizer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you process messages that are semantically
  equivalent, but arrive in a different format? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="sort.html" title="Sort">Sort</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I sort the body of a message? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="validate.html" title="Validate">Validate</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I validate a message? </td></tr></tbody></table>
 </div>
 
 
 <h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-MessagingEndpoints"></a>Messaging Endpoints</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="messaging-mapper.html" title="Messaging Mapper">Messaging Mapper</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you move data between domain objects and the messaging infrastructure while keeping the two independent of each other? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="event-driven-consumer.html" title="Event Driven Consumer">Event Driven Consumer</a> </td><td colspan="1" rowsp
 an="1" class="confluenceTd"> How can an application automatically consume messages as they become available? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/PollingConsumerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling Consumer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can an application consume a message when the application is ready? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/CompetingConsumersIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="competing-consumers.html" title="Competing Consumers">Competing Consumers</a> </td>
 <td colspan="1" rowspan="1" class="confluenceTd"> How can a messaging client process multiple messages concurrently? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageDispatcherIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-dispatcher.html" title="Message Dispatcher">Message Dispatcher</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can multiple consumers on a single channel coordinate their message processing? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessageSelectorIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="selective-consumer.html" title="Selective Consumer">Select
 ive Consumer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a message consumer select which messages it wishes to receive? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/DurableSubscriptionIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="durable-subscriber.html" title="Durable Subscriber">Durable Subscriber</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a subscriber avoid missing messages while it's not listening for them? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="idempotent-consumer.html" title="Ide
 mpotent Consumer">Idempotent Consumer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a message receiver deal with duplicate messages? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/TransactionalClientIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="transactional-client.html" title="Transactional Client">Transactional Client</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a client control its transactions with the messaging system? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessagingGatewayIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="messaging-gateway.html" tit
 le="Messaging Gateway">Messaging Gateway</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you encapsulate access to the messaging system from the rest of the application? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/MessagingAdapterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="service-activator.html" title="Service Activator">Service Activator</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can an application design a service to be invoked both via various messaging technologies and via non-messaging techniques? </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="messaging-mapper.html" title="Messaging Mapper">Messaging Mapper</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you move data between domain objects and the messaging infrastructure while keeping the two independent of each other? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/EventDrivenConsumerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="event-driven-consumer.html" title="Event Driven Consumer">Event Driven Consumer</a> </td><td colspan="1" rowspan="1" class="conf
 luenceTd"> How can an application automatically consume messages as they become available? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/PollingConsumerIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="polling-consumer.html" title="Polling Consumer">Polling Consumer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can an application consume a message when the application is ready? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/CompetingConsumersIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="competing-consumers.html" title="Competing Consumers">Competing Consumers</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How 
 can a messaging client process multiple messages concurrently? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageDispatcherIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="message-dispatcher.html" title="Message Dispatcher">Message Dispatcher</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can multiple consumers on a single channel coordinate their message processing? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessageSelectorIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="selective-consumer.html" title="Selective Consumer">Selective Consumer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a message 
 consumer select which messages it wishes to receive? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/DurableSubscriptionIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="durable-subscriber.html" title="Durable Subscriber">Durable Subscriber</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a subscriber avoid missing messages while it's not listening for them? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="idempotent-consumer.html" title="Idempotent Consumer">Idempotent Consumer</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a m
 essage receiver deal with duplicate messages? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/TransactionalClientIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="transactional-client.html" title="Transactional Client">Transactional Client</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can a client control its transactions with the messaging system? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessagingGatewayIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="messaging-gateway.html" title="Messaging Gateway">Messaging Gateway</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you encapsulate access to the messagi
 ng system from the rest of the application? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/MessagingAdapterIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="service-activator.html" title="Service Activator">Service Activator</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can an application design a service to be invoked both via various messaging technologies and via non-messaging techniques? </td></tr></tbody></table>
 </div>
 
 
 <h3><a shape="rect" name="BookEnterpriseIntegrationPatterns-SystemManagement"></a>System Management</h3>
 
 <div class="table-wrap">
-<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/DetourIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="detour.html" title="Detour">Detour</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you route a message through intermediate steps to perform validation, testing or debugging functions? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.enterpriseintegrationpatterns.com/img/WireTapIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="wire-tap.html" title="Wire Tap">Wire Tap</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you inspect messages that travel on a point-to-point channel? </td></
 tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="logeip.html" title="LogEIP">Log</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I log processing a message? </td></tr></tbody></table>
+<table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/DetourIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="detour.html" title="Detour">Detour</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can you route a message through intermediate steps to perform validation, testing or debugging functions? </td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"> <span class="image-wrap" style=""><img src="http://www.eaipatterns.com/img/WireTapIcon.gif" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="wire-tap.html" title="Wire Tap">Wire Tap</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How do you inspect messages that travel on a point-to-point channel? </td></tr><tr><td colspan="1" rowspan="1" c
 lass="confluenceTd"> <span class="image-wrap" style=""><img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png" style="border: 0px solid black"></span> </td><td colspan="1" rowspan="1" class="confluenceTd"> <a shape="rect" href="logeip.html" title="LogEIP">Log</a> </td><td colspan="1" rowspan="1" class="confluenceTd"> How can I log processing a message? </td></tr></tbody></table>
 </div>
 
 
@@ -200,7 +200,8 @@
     <div class="footer_r">
       <div>
         <a href="$base/privacy-policy.html">Privacy Policy</a> -
-        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=60163">edit page</a>) 
+        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=60163">edit page</a>)
+   	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=60163&amp;showComments=true&amp;showCommentArea=true#addcomment">add comment</a>)
       </div>
     </div>
   </div>

Modified: websites/production/camel/content/book-front-cover.html
==============================================================================
--- websites/production/camel/content/book-front-cover.html (original)
+++ websites/production/camel/content/book-front-cover.html Wed Aug 29 15:53:50 2012
@@ -144,7 +144,8 @@
     <div class="footer_r">
       <div>
         <a href="$base/privacy-policy.html">Privacy Policy</a> -
-        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=104984">edit page</a>) 
+        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=104984">edit page</a>)
+   	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=104984&amp;showComments=true&amp;showCommentArea=true#addcomment">add comment</a>)
       </div>
     </div>
   </div>

Modified: websites/production/camel/content/book-getting-started.html
==============================================================================
--- websites/production/camel/content/book-getting-started.html (original)
+++ websites/production/camel/content/book-getting-started.html Wed Aug 29 15:53:50 2012
@@ -301,7 +301,8 @@ However, there is another option that th
     <div class="footer_r">
       <div>
         <a href="$base/privacy-policy.html">Privacy Policy</a> -
-        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=60182">edit page</a>) 
+        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=60182">edit page</a>)
+   	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=60182&amp;showComments=true&amp;showCommentArea=true#addcomment">add comment</a>)
       </div>
     </div>
   </div>