camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r851163 - in /websites/production/camel/content: cache/main.pageCache camel-30-message-store.html
Date Tue, 19 Feb 2013 16:18:52 GMT
Author: buildbot
Date: Tue Feb 19 16:18:52 2013
New Revision: 851163

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-30-message-store.html

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

Modified: websites/production/camel/content/camel-30-message-store.html
==============================================================================
--- websites/production/camel/content/camel-30-message-store.html (original)
+++ websites/production/camel/content/camel-30-message-store.html Tue Feb 19 16:18:52 2013
@@ -88,19 +88,44 @@ Message Store implementations are alread
 
 <h3><a shape="rect" name="Camel3.0-MessageStore-Summary"></a>Summary</h3>
 
-<p>...</p>
+<p>In Camel 2.x, a <b>Message Store</b> is not a "first class citizen"
in the sense of a architectural concept, which can be applied consistently whereever needed.<br
clear="none">
+Camel 3.0 should introduce a unified, generic, pluggable Message Store that consolidates
the different approaches and allows to similarly parameterize persistence to various EIP patterns.
<br clear="none">
+It should be usable independently of EIP patterns as well. <br clear="none">
+Implementations would handle the mapping to the underlying persistence layer, which can be
InMemory, RDBMS, NoSQL-based etc. and can be chosen based on the requirements towards reliability
(survive system shutdowns with losing messages) and scalability (reduce memory consumption
when processing many/big messages). </p>
+
+<p>Side note: Spring Integration provides a <a shape="rect" class="external-link"
href="http://static.springsource.org/spring-integration/reference/htmlsingle/#message-store"
rel="nofollow">corresponding concept</a>.</p>
 
 <h3><a shape="rect" name="Camel3.0-MessageStore-Listofproposedfeatures"></a>List
of proposed features</h3>
 
-<ul><li>Ability to temporarily store exchanges for the following EIPs:
-	<ul><li>Aggregator, Multicast, RecipientList, Splitter : alternative to AggregationRepository,
making it eventually obsolete</li><li>Streaming Resequencer (CAMEL-949)</li><li>Stream
Caching <img align="middle" class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/help_16.gif"
height="16" width="16" alt="" border="0"></li></ul>
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1"
valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif"
width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Work
in progress</b><br clear="none">Feel free to add, edit, comment.... At some time
we probably need to assign priorities as to what is indispensable for Camel 3.0 and what could
be delivered in a later patch release</td></tr></table></div>
+
+<ul><li>Generically, entries in a Message Store can be created, updated, read
and deleted.</li><li>Ability to temporarily store exchanges for the following
EIPs:
+	<ul><li>Aggregator, Multicast, RecipientList, Splitter : alternative to AggregationRepository,
making it eventually obsolete</li><li>Streaming Resequencer (CAMEL-949)</li><li>Stream
Caching <img align="middle" class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/help_16.gif"
height="16" width="16" alt="" border="0"></li><li>Claim check <img align="middle"
class="emoticon" src="https://cwiki.apache.org/confluence/images/icons/emoticons/help_16.gif"
height="16" width="16" alt="" border="0"></li></ul>
 	</li><li>Ability to store exchanges for a defined period of time
-	<ul><li>Idempotent Consumer</li><li>Dead Letter Queue (CAMEL-4575)</li></ul>
-	</li><li>Ability to permanently store exchanges (e.g. for audit trails)</li><li>Provide
a certain level of manual retry. That is to get the original message from the store and feed
it back in the originating route.</li><li>Flexibility to specify what should be
stored (e.g. what exchange- and message properties) and in which format (e.g. object serialization,
JSON)</li><li>Possibility to filter what exchanges should be stored (using a predicate)</li><li>Polling
Consumer to randomly access a message store</li></ul>
+	<ul><li>Idempotent Consumer</li><li>Dead Letter Queue (CAMEL-4575)</li><li>Destination
for the Tracer</li></ul>
+	</li><li>Ability to permanently store exchanges (e.g. for audit trails)</li><li>Provide
a certain level of manual retry. That is to get the original message from the store and feed
it back in the originating route.</li><li>Flexibility to specify what part of
an exchange should be stored (e.g. what exchange properties and message headers) and in which
format (e.g. object serialization, JSON, using encryption)</li><li>Possibility
to provide a filter condition to determine which exchanges should be stored (e.g. only failed
exchanges, only with a certain message header)</li><li>Polling Consumer to randomly
access a message store</li><li>Producer to write an exchange into a message store</li></ul>
+
 
+<h3><a shape="rect" name="Camel3.0-MessageStore-Codeexamples"></a>Code
examples</h3>
 
+<div class="panelMacro"><table class="noteMacro"><colgroup span="1"><col
span="1" width="24"><col span="1"></colgroup><tr><td colspan="1" rowspan="1"
valign="top"><img align="middle" src="https://cwiki.apache.org/confluence/images/icons/emoticons/warning.gif"
width="16" height="16" alt="" border="0"></td><td colspan="1" rowspan="1"><b>Work
in progress</b><br clear="none">Sometimes it is easier to express thoughts by
providing a fictional piece of code along with some comments....</td></tr></table></div>
 
-<h3><a shape="rect" name="Camel3.0-MessageStore-Examples"></a>Examples</h3></div>
+
+<p>This section intends to demonstrate the usage of a Message Store by providing hypotethical
code snippets, e.g.</p>
+
+<div class="code panel" style="border-width: 1px;"><div class="codeHeader panelHeader"
style="border-bottom-width: 1px;"><b>AggregatorExample.java</b></div><div
class="codeContent panelContent">
+<pre class="code-java">
+...
+from(...)
+   .aggregate()
+       .correlationExpression(header(id))
+       .aggregationStrategy(myStrategy)
+       .completionTimeout(10000)
+       .messageStore(myStore)
+...
+</pre>
+</div></div>
+</div>
         </td>
         <td valign="top">
           <div class="navigation">



Mime
View raw message