camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From conflue...@apache.org
Subject [CONF] Apache Camel > Enterprise Integration Patterns
Date Sun, 20 Dec 2009 15:46:00 GMT
<html>
<head>
    <base href="http://cwiki.apache.org/confluence">
            <link rel="stylesheet" href="/confluence/s/1519/1/1/_/styles/combined.css?spaceKey=CAMEL&amp;forWysiwyg=true"
type="text/css">
    </head>
<body style="background-color: white" bgcolor="white">
<div id="pageContent">
<div id="notificationFormat">
<div class="wiki-content">
<div class="email">
     <h2><a href="http://cwiki.apache.org/confluence/display/CAMEL/Enterprise+Integration+Patterns">Enterprise
Integration Patterns</a></h2>
     <h4>Page <b>edited</b> by             <a href="http://cwiki.apache.org/confluence/display/~davsclaus">Claus
Ibsen</a>
    </h4>
     
          <br/>
     <div class="notificationGreySide">
         <h2><a name="EnterpriseIntegrationPatterns-EnterpriseIntegrationPatterns"></a>Enterprise
Integration Patterns</h2>

<p>Camel supports most of the <a href="http://www.enterpriseintegrationpatterns.com/toc.html"
rel="nofollow">Enterprise Integration Patterns</a> from the excellent book by <a
href="http://www.amazon.com/exec/obidos/search-handle-url/105-9796798-8100401?%5Fencoding=UTF8&amp;search-type=ss&amp;index=books&amp;field-author=Gregor%20Hohpe"
rel="nofollow">Gregor Hohpe</a> and <a href="http://www.amazon.com/exec/obidos/search-handle-url/105-9796798-8100401?%5Fencoding=UTF8&amp;search-type=ss&amp;index=books&amp;field-author=Bobby%20Woolf"
rel="nofollow">Bobby Woolf</a>. </p>

<p>If you are new to Camel you might want to try the <a href="/confluence/display/CAMEL/Getting+Started"
title="Getting Started">Getting Started</a> in the <a href="/confluence/display/CAMEL/User+Guide"
title="User Guide">User Guide</a> before attempting to implement these patterns.</p>

<p>The EIP icons library is available as a Visio stencil file adapted to render the
icons with the Camel color : sand. Download it <a href="http://cwiki.apache.org/CAMEL/enterprise-integration-patterns.data/Hohpe_EIP_camel.zip"
rel="nofollow">here</a> for your presentation, functional and technical analysis
documents. The original EIP stencil is also available in <a href="/confluence/download/attachments/49204/Hohpe_EIP_camel_OpenOffice.zip?version=1">OpenOffice
3.x Draw</a> (thanks to Marco Garbelini) , <a href="http://www.enterpriseintegrationpatterns.com/download/EIP_Visio_stencil.zip"
rel="nofollow">Microsoft Visio</a>, or <a href="http://www.graffletopia.com/stencils/137"
rel="nofollow">Omnigraffle</a>.</p>


<h3><a name="EnterpriseIntegrationPatterns-MessagingSystems"></a>Messaging
Systems</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/ChannelIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Channel" title="Message
Channel">Message Channel</a> </td>
<td class='confluenceTd'> How does one application communicate with another using messaging?
</td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message" title="Message">Message</a>
</td>
<td class='confluenceTd'> How can two applications connected by a message channel exchange
a piece of information? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/PipesAndFiltersIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Pipes+and+Filters" title="Pipes
and Filters">Pipes and Filters</a> </td>
<td class='confluenceTd'> How can we perform complex processing on a message while maintaining
independence and flexibility? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Router" title="Message
Router">Message Router</a> </td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageTranslatorIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Translator"
title="Message Translator">Message Translator</a> </td>
<td class='confluenceTd'> How can systems using different data formats communicate with
each other using messaging? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageEndpointIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Endpoint" title="Message
Endpoint">Message Endpoint</a> </td>
<td class='confluenceTd'> How does an application connect to a messaging channel to
send and receive messages? </td>
</tr>
</tbody></table>

<h3><a name="EnterpriseIntegrationPatterns-MessagingChannels"></a>Messaging
Channels</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/PointToPointIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Point+to+Point+Channel"
title="Point to Point Channel">Point to Point Channel</a> </td>
<td class='confluenceTd'> How can the caller be sure that exactly one receiver will
receive the document or perform the call? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/PublishSubscribeIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Publish+Subscribe+Channel"
title="Publish Subscribe Channel">Publish Subscribe Channel</a> </td>
<td class='confluenceTd'> How can the sender broadcast an event to all interested receivers?
</td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/DeadLetterChannelIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Dead+Letter+Channel"
title="Dead Letter Channel">Dead Letter Channel</a> </td>
<td class='confluenceTd'> What will the messaging system do with a message it cannot
deliver?  </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/GuaranteedMessagingIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Guaranteed+Delivery"
title="Guaranteed Delivery">Guaranteed Delivery</a> </td>
<td class='confluenceTd'> How can the sender make sure that a message will be delivered,
even if the messaging system fails? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageBusIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Bus" title="Message
Bus">Message Bus</a> </td>
<td 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>

<h3><a name="EnterpriseIntegrationPatterns-MessageConstruction"></a>Message
Construction</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/EventMessageIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Event+Message" title="Event
Message">Event Message</a> </td>
<td class='confluenceTd'> How can messaging be used to transmit events from one application
to another? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/RequestReplyIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Request+Reply" title="Request
Reply">Request Reply</a> </td>
<td class='confluenceTd'> When an application sends a message, how can it get a response
from the receiver? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/CorrelationIdentifierIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Correlation+Identifier"
title="Correlation Identifier">Correlation Identifier</a> </td>
<td class='confluenceTd'> How does a requestor that has received a reply know which
request this is the reply for? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/ReturnAddressIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Return+Address" title="Return
Address">Return Address</a> </td>
<td class='confluenceTd'> How does a replier know where to send the reply? </td>
</tr>
</tbody></table>

<h3><a name="EnterpriseIntegrationPatterns-MessageRouting"></a>Message Routing</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/ContentBasedRouterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Content+Based+Router"
title="Content Based Router">Content Based Router</a> </td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageFilterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Filter" title="Message
Filter">Message Filter</a> </td>
<td class='confluenceTd'> How can a component avoid receiving uninteresting messages?
</td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/DynamicRouterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Dynamic+Router" title="Dynamic
Router">Dynamic Router</a> </td>
<td class='confluenceTd'> How can you avoid the dependency of the router on all possible
destinations while maintaining its efficiency? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/RecipientListIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Recipient+List" title="Recipient
List">Recipient List</a> </td>
<td class='confluenceTd'> How do we route a message to a list of (static or dynamically)
specified recipients? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/SplitterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Splitter" title="Splitter">Splitter</a>
</td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/AggregatorIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Aggregator" title="Aggregator">Aggregator</a>
</td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/ResequencerIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Resequencer" title="Resequencer">Resequencer</a>
</td>
<td class='confluenceTd'> How can we get a stream of related but out-of-sequence messages
back into the correct order? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/DistributionAggregateIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Composed+Message+Processor"
title="Composed Message Processor">Composed Message Processor</a> </td>
<td 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 class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Scatter-Gather" title="Scatter-Gather">Scatter&#45;Gather</a>
</td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/RoutingTableIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Routing+Slip" title="Routing
Slip">Routing Slip</a> </td>
<td 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 class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Throttler" title="Throttler">Throttler</a>
</td>
<td 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 class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Sampling" title="Sampling">Sampling</a>
</td>
<td 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 class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Delayer" title="Delayer">Delayer</a>
</td>
<td class='confluenceTd'> How can I delay the sending of a message? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Load+Balancer" title="Load
Balancer">Load Balancer</a> </td>
<td class='confluenceTd'> How can I balance load across a number of endpoints? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Multicast" title="Multicast">Multicast</a>
</td>
<td class='confluenceTd'> How can I route a message to a number of endpoints at the
same time? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Loop" title="Loop">Loop</a>
</td>
<td class='confluenceTd'> How can I repeat processing a message in a loop? </td>
</tr>
</tbody></table>

<h3><a name="EnterpriseIntegrationPatterns-MessageTransformation"></a>Message
Transformation</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/DataEnricherIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Content+Enricher" title="Content
Enricher">Content Enricher</a> </td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/ContentFilterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Content+Filter" title="Content
Filter">Content Filter</a> </td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/StoreInLibraryIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Claim+Check" title="Claim
Check">Claim Check</a> </td>
<td class='confluenceTd'> How can we reduce the data volume of message sent across the
system without sacrificing information content?  </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/NormalizerIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Normalizer" title="Normalizer">Normalizer</a>
</td>
<td class='confluenceTd'> How do you process messages that are semantically equivalent,
but arrive in a different format? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Sort" title="Sort">Sort</a>
</td>
<td class='confluenceTd'> How can I sort the body of a message? </td>
</tr>
</tbody></table>

<h3><a name="EnterpriseIntegrationPatterns-MessagingEndpoints"></a>Messaging
Endpoints</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Messaging+Mapper" title="Messaging
Mapper">Messaging Mapper</a> </td>
<td 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 class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/EventDrivenConsumerIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Event+Driven+Consumer"
title="Event Driven Consumer">Event Driven Consumer</a> </td>
<td class='confluenceTd'> How can an application automatically consume messages as they
become available? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/PollingConsumerIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Polling+Consumer" title="Polling
Consumer">Polling Consumer</a> </td>
<td class='confluenceTd'> How can an application consume a message when the application
is ready? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/CompetingConsumersIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Competing+Consumers"
title="Competing Consumers">Competing Consumers</a> </td>
<td class='confluenceTd'> How can a messaging client process multiple messages concurrently?
</td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageDispatcherIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Message+Dispatcher"
title="Message Dispatcher">Message Dispatcher</a> </td>
<td class='confluenceTd'> How can multiple consumers on a single channel coordinate
their message processing? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessageSelectorIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Selective+Consumer"
title="Selective Consumer">Selective Consumer</a> </td>
<td class='confluenceTd'> How can a message consumer select which messages it wishes
to receive? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/DurableSubscriptionIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Durable+Subscriber"
title="Durable Subscriber">Durable Subscriber</a> </td>
<td class='confluenceTd'> How can a subscriber avoid missing messages while it's not
listening for them? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Idempotent+Consumer"
title="Idempotent Consumer">Idempotent Consumer</a> </td>
<td class='confluenceTd'> How can a message receiver deal with duplicate messages? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/TransactionalClientIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Transactional+Client"
title="Transactional Client">Transactional Client</a> </td>
<td class='confluenceTd'> How can a client control its transactions with the messaging
system? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessagingGatewayIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Messaging+Gateway" title="Messaging
Gateway">Messaging Gateway</a> </td>
<td class='confluenceTd'> How do you encapsulate access to the messaging system from
the rest of the application? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/MessagingAdapterIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Service+Activator" title="Service
Activator">Service Activator</a> </td>
<td 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>

<h3><a name="EnterpriseIntegrationPatterns-SystemManagement"></a>System
Management</h3>

<table class='confluenceTable'><tbody>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/DetourIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Detour" title="Detour">Detour</a>
</td>
<td class='confluenceTd'> How can you route a message through intermediate steps to
perform validation, testing or debugging functions? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://www.enterpriseintegrationpatterns.com/img/WireTapIcon.gif"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/Wire+Tap" title="Wire
Tap">Wire Tap</a> </td>
<td class='confluenceTd'> How do you inspect messages that travel on a point-to-point
channel? </td>
</tr>
<tr>
<td class='confluenceTd'> <img src="http://cwiki.apache.org/confluence/download/attachments/49204/clear.png"
align="absmiddle" border="0" /> </td>
<td class='confluenceTd'> <a href="/confluence/display/CAMEL/LogEIP" title="LogEIP">Log</a>
</td>
<td class='confluenceTd'> How can I log processing a message? </td>
</tr>
</tbody></table>




<h3><a name="EnterpriseIntegrationPatterns-%23Resources"></a><a href="#EnterpriseIntegrationPatterns-Resources">Resources</a></h3>


    
    

            <table class="tableview attachments">
            <tr>
                                    <th>&nbsp;</th>
                                <th><a href="/confluence/display/CAMEL/Enterprise+Integration+Patterns?sortBy=name">Name</a></th>
                <th><a href="/confluence/display/CAMEL/Enterprise+Integration+Patterns?sortBy=size">Size</a></th>
                <th>Creator (Last Modifier)</th>
                <th><a href="/confluence/display/CAMEL/Enterprise+Integration+Patterns?sortBy=date">Creation
Date</a></th>
                <th>Last Mod Date</th>
                <th>Comment</th>
                                    <th>&nbsp;</th>
                            </tr>

            
                <tr class="currentAttachmentRow">
                                    <td><img align="absmiddle" height="16" width="16"
src="/confluence/images/border/spacer.gif"></td>
                                    <td><a name="Enterprise+Integration+Patterns-attachment-Hohpe_EIP_camel.zip"><img
src="/confluence/images/icons/attachments/zip.gif" height=16 width=16 border=0 vspace=1 align=absmiddle
alt="ZIP Archive"></a> <a href="/confluence/download/attachments/49204/Hohpe_EIP_camel.zip">Hohpe_EIP_camel.zip</a></td>
                    <td>191 kB</td>
                    <td><a href="/confluence/display/~cmoulliard@xpectis.com">Charles
Moulliard</a> </td>
                    <td>Apr 20, 2009</td>
                    <td>Apr 20, 2009</td>
                    <td>                            &nbsp;
                                            </td>
                                        <td>
                                                                                         
                <a  id="editAttachmentLink"  href="/confluence/pages/editattachment.action?pageId=49204&fileName=Hohpe_EIP_camel.zip"
>Edit</a>
                                                                                  |      
                      <a  id="removeAttachmentLink"  href="/confluence/pages/removeattachment.action?pageId=49204&fileName=Hohpe_EIP_camel.zip&version=1"
 class="deleteAttachmentLink" >Remove</a>
                                                            <fieldset class="hidden">
                                    <input type="hidden" name="i18n-deleteConfirmMessage"
value="Are you sure you want to remove attached file Hohpe_EIP_camel.zip?" />
                                </fieldset>
                                                                         </td>
                                    </tr>
                                    
                    </table>
    
    
     </div>
     <div id="commentsSection" class="wiki-content pageSection">
       <div style="float: right;">
            <a href="http://cwiki.apache.org/confluence/users/viewnotifications.action"
class="grey">Change Notification Preferences</a>
       </div>

       <a href="http://cwiki.apache.org/confluence/display/CAMEL/Enterprise+Integration+Patterns">View
Online</a>
       |
       <a href="http://cwiki.apache.org/confluence/pages/diffpagesbyversion.action?pageId=49204&revisedVersion=69&originalVersion=68">View
Change</a>
              |
       <a href="http://cwiki.apache.org/confluence/display/CAMEL/Enterprise+Integration+Patterns?showComments=true&amp;showCommentArea=true#addcomment">Add
Comment</a>
            </div>
</div>
</div>
</div>
</div>
</body>
</html>

Mime
View raw message