camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r941067 - in /websites/production/camel/content: cache/main.pageCache cassandra.html rabbitmq.html
Date Sun, 22 Feb 2015 16:18:07 GMT
Author: buildbot
Date: Sun Feb 22 16:18:06 2015
New Revision: 941067

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/cassandra.html
    websites/production/camel/content/rabbitmq.html

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

Modified: websites/production/camel/content/cassandra.html
==============================================================================
--- websites/production/camel/content/cassandra.html (original)
+++ websites/production/camel/content/cassandra.html Sun Feb 22 16:18:06 2015
@@ -92,14 +92,14 @@
     <version>x.y.z</version>
     <!-- use the same version as your Camel core version -->
 &lt;/dependency&gt;]]></script>
-</div></div><h2 id="Cassandra-URIformat">URI format</h2><p>The
endpoint can initiate the Cassandra connection or use an existing one.</p><div class="table-wrap"><table
class="confluenceTable"><thead><tr><th colspan="1" rowspan="1" class="confluenceTh">URI</th><th
colspan="1" rowspan="1" class="confluenceTh">Description</th></tr></thead><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:localhost/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Single host, default port, usual for testing</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:host1,host2/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Multi host, default port</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:host1,host2:9042/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Multi host, custom port</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:host1,host2</code></td><td
colspa
 n="1" rowspan="1" class="confluenceTd">Default port and keyspace</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:bean:sessionRef</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Provided Session reference</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:bean:clusterRef/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Provided Cluster reference</td></tr></tbody></table></div><p>To
fine tune the Cassandra connection (SSL options, pooling options, load balancing policy, retry
policy, reconnection policy...), create your own Cluster instance and give it to the Camel
endpoint.</p><h2 id="Cassandra-EndpointOptions">Endpoint Options</h2><div
class="table-wrap"><table class="confluenceTable"><thead><tr><th colspan="1"
rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th
colspan="1" rowspan="1" class="confluenceTh">Description</th></tr></thead><tbody><tr><td
c
 olspan="1" rowspan="1" class="confluenceTd"><p>clusterName</p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Cluster name</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>username and password</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Session authentication</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>cql</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>CQL query. Can be overriden with a message header.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>consistencyLevel</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>ANY</code>, <code>ONE</code>,
<code>TWO</code>, <code>QUORUM</code>, <code>L
 OCAL_QUORUM</code>...</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>resultSetConversionStrategy</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">ALL</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>How is ResultSet converted transformed into message body
<code>ALL</code>, <code>ONE</code>, <code>LIMIT_10</code>,
<code>LIMIT_100</code>...</p></td></tr></tbody></table></div><h2
id="Cassandra-Messages">Messages</h2><h3 id="Cassandra-IncomingMessage">Incoming
Message</h3><p>The Camel Cassandra endpoint expects a bunch of simple objects
(Object[] or Collection&lt;Object&gt;) which will be bound to the CQL statement as
query parameters.</p><p>Headers:</p><ul class="task-list"><li><code>CamelCqlQuery</code>
(optional, String): CQL query</li></ul><h3 id="Cassandra-OutgoingMessage">Outgoing
Message</h3><p>The Camel Cassandra endpoint produces one or many a Cassandra Row
objects depending on the&#160;resultSetConversionStrategy:</p><p>&#160;<
 /p><ul><li><code>List&lt;Row&gt;</code> if resultSetConversionStrategy
is ALL or LIMIT_10</li><li><code>Single Row</code> if resultSetConversionStrategy
is ONE</li><li>Anything else, if resultSetConversionStrategy is a custom implementation
of the ResultSetConversionStrategy</li></ul><h2 id="Cassandra-Repositories">Repositories</h2><p>Cassandra
can be used to store messages or messages for the idempotent and aggregation EIP.</p><p>Cassandra
might not be the best tool for queuing use cases yet, read <a shape="rect" class="external-link"
href="http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets"
rel="nofollow">Cassandra anti-patterns queues and queue like datasets</a>. It's advised
to use LeveledCompaction and a small GC grace setting for these tables to allow tombstoned
rows to be removed quickly.</p><h3 id="Cassandra-Idempotentrepository">Idempotent
repository</h3><p>The NamedCassandraIdempotentRepository stores messages keys
in a Cassandra table 
 like this:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>CAMEL_IDEMPOTENT.cql</b></div><div
class="codeContent panelContent pdl">
+</div></div><h2 id="Cassandra-URIformat">URI format</h2><p>The
endpoint can initiate the Cassandra connection or use an existing one.</p><div class="table-wrap"><table
class="confluenceTable"><thead><tr><th colspan="1" rowspan="1" class="confluenceTh">URI</th><th
colspan="1" rowspan="1" class="confluenceTh">Description</th></tr></thead><tbody><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:localhost/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Single host, default port, usual for testing</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:host1,host2/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Multi host, default port</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:host1,host2:9042/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Multi host, custom port</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:host1,host2</code></td><td
colspa
 n="1" rowspan="1" class="confluenceTd">Default port and keyspace</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:bean:sessionRef</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Provided Session reference</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>cql:bean:clusterRef/keyspace</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Provided Cluster reference</td></tr></tbody></table></div><p>To
fine tune the Cassandra connection (SSL options, pooling options, load balancing policy, retry
policy, reconnection policy...), create your own Cluster instance and give it to the Camel
endpoint.</p><h2 id="Cassandra-EndpointOptions">Endpoint Options</h2><div
class="table-wrap"><table class="confluenceTable"><thead><tr><th colspan="1"
rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1" class="confluenceTh">Default</th><th
colspan="1" rowspan="1" class="confluenceTh">Description</th></tr></thead><tbody><tr><td
c
 olspan="1" rowspan="1" class="confluenceTd"><p><code>clusterName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Cluster name</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>username and password</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Session authentication</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>cql</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p>CQL query. Can be overriden with a message header.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>consistencyLevel</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>ANY</code>, <code>ONE</code>,
<code>TWO</code>, <code>QUORUM</c
 ode>, <code>LOCAL_QUORUM</code>...</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>prepareStatements</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>true</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Use prepared statement (default) or not</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>resultSetConversionStrategy</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>ALL</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>How is ResultSet converted transformed
into message body <code>ALL</code>, <code>ONE</code>, <code>LIMIT_10</code>,
<code>LIMIT_100</code>...</p></td></tr></tbody></table></div><h2
id="Cassandra-Messages">Messages</h2><h3 id="Cassandra-IncomingMessage">Incoming
Message</h3><p>The Camel Cassandra endpoint expects a bunch of simple objects
(<code>Object</code> or <code>Object[]</code> or <code>Collection&lt;Object&gt;</code>)
which will be bound to the CQL statem
 ent as query parameters. If message body is null or empty, then&#160; CQL query will
be executed without binding parameters.</p><p>Headers:</p><ul class="task-list"><li><code>CamelCqlQuery</code>
(optional, <code>String</code> or <code>RegularStatement</code>):
CQL query either as a plain String or built using the <code>QueryBuilder</code>.</li></ul><h3
id="Cassandra-OutgoingMessage">Outgoing Message</h3><p>The Camel Cassandra
endpoint produces one or many a Cassandra Row objects depending on the&#160;<code>resultSetConversionStrategy</code>:</p><p>&#160;</p><ul><li><code>List&lt;Row&gt;</code>
if <code>resultSetConversionStrategy</code> is <code>ALL</code> or
<code>LIMIT_[0-9]+</code></li><li>Single<code> Row</code>
if <code>resultSetConversionStrategy</code> is <code>ONE</code></li><li>Anything
else, if <code>resultSetConversionStrategy</code> is a custom implementation of
the <code>ResultSetConversionStrategy</code></li></ul><h2 id="Cassandra-Repositories">Repositories</h2><p>Cas
 sandra can be used to store message keys or messages for the idempotent and aggregation EIP.</p><p>Cassandra
might not be the best tool for queuing use cases yet, read <a shape="rect" class="external-link"
href="http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets"
rel="nofollow">Cassandra anti-patterns queues and queue like datasets</a>. It's advised
to use LeveledCompaction and a small GC grace setting for these tables to allow tombstoned
rows to be removed quickly.</p><h3 id="Cassandra-Idempotentrepository">Idempotent
repository</h3><p>The <code>NamedCassandraIdempotentRepository</code>
stores messages keys in a Cassandra table like this:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>CAMEL_IDEMPOTENT.cql</b></div><div class="codeContent panelContent
pdl">
 <script class="theme: Default; brush: sql; gutter: false" type="syntaxhighlighter"><![CDATA[CREATE
TABLE CAMEL_IDEMPOTENT (
   NAME varchar,   -- Repository name
   KEY varchar,    -- Message key
   PRIMARY KEY (NAME, KEY)
 ) WITH compaction = {&#39;class&#39;:&#39;LeveledCompactionStrategy&#39;}
   AND gc_grace_seconds = 86400;]]></script>
-</div></div><p>This repository implementation uses lightweight transactions
(also known as Compare and Set) and requires Cassandra 2.0.7+.</p><p>The CassandraIdempotentRepository
can be extended to use a different data model.</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Option</th><th
colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1"
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>table</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>CAMEL_IDEMPOTENT</code></td><td colspan="1"
rowspan="1" class="confluenceTd">Table name</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>pkColumns</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>NAME</code>,<code> KEY</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Primary key columns</td></tr><tr><td
colspan="1" rowspan="1" clas
 s="confluenceTd"><code>name</code></td><td colspan="1" rowspan="1"
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Repository
name, value used for <code>NAME</code> column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>ttl</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Key time to live</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>writeConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Consistency level used to insert/delete key: <code>ANY</code>,
<code>ONE</code>, <code>TWO</code>, <code>QUORUM</code>,
<code>LOCAL_QUORUM</code>&#8230;</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>readConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Consistency
  level used to read/check key: <code>ONE</code>, <code>TWO</code>,
<code>QUORUM</code>, <code>LOCAL_QUORUM</code>&#8230;</td></tr></tbody></table></div><h3
id="Cassandra-Aggregationrepository">Aggregation repository</h3><p>The NamedCassandraAggregationRepository
stores exchanges by correlation key in a Cassandra table like this:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>CAMEL_AGGREGATION.cql</b></div><div class="codeContent panelContent
pdl">
+</div></div><p>This repository implementation uses lightweight transactions
(also known as Compare and Set) and requires Cassandra 2.0.7+.</p><p>Alternatively,
the <code>CassandraIdempotentRepository</code> does not have a <code>NAME</code>
column and can be extended to use a different data model.</p><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh">Option</th><th
colspan="1" rowspan="1" class="confluenceTh">Default</th><th colspan="1" rowspan="1"
class="confluenceTh">Description</th></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>table</code></td><td colspan="1" rowspan="1"
class="confluenceTd"><code>CAMEL_IDEMPOTENT</code></td><td colspan="1"
rowspan="1" class="confluenceTd">Table name</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>pkColumns</code></td><td colspan="1"
rowspan="1" class="confluenceTd"><code>NAME</code>,<code> KEY</code></td><td
colspan="1" rowspan="1" class="conflu
 enceTd">Primary key columns</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><code>name</code></td><td colspan="1" rowspan="1"
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Repository
name, value used for <code>NAME</code> column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>ttl</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Key time to live</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>writeConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Consistency level used to insert/delete key: <code>ANY</code>,
<code>ONE</code>, <code>TWO</code>, <code>QUORUM</code>,
<code>LOCAL_QUORUM</code>&#8230;</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>readConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd
 ">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Consistency
level used to read/check key: <code>ONE</code>, <code>TWO</code>,
<code>QUORUM</code>, <code>LOCAL_QUORUM</code>&#8230;</td></tr></tbody></table></div><h3
id="Cassandra-Aggregationrepository">Aggregation repository</h3><p>The <code>NamedCassandraAggregationRepository</code>
stores exchanges by correlation key in a Cassandra table like this:</p><div class="code
panel pdl" style="border-width: 1px;"><div class="codeHeader panelHeader pdl" style="border-bottom-width:
1px;"><b>CAMEL_AGGREGATION.cql</b></div><div class="codeContent panelContent
pdl">
 <script class="theme: Default; brush: sql; gutter: false" type="syntaxhighlighter"><![CDATA[CREATE
TABLE CAMEL_AGGREGATION (
   NAME varchar,        -- Repository name
   KEY varchar,         -- Correlation id
@@ -108,7 +108,7 @@
   PRIMARY KEY (NAME, KEY)
 ) WITH compaction = {&#39;class&#39;:&#39;LeveledCompactionStrategy&#39;}
   AND gc_grace_seconds = 86400;]]></script>
-</div></div><p>The CassandraAggregationRepository can be extended to use
a different data model.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1"
class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>table</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>CAMEL_AGGREGATION</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Table name</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>pkColumns</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>NAME</code>,<code>KEY</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Primary key columns</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>exchangeIdColumn</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>EXCHANGE_ID</code></td>
 <td colspan="1" rowspan="1" class="confluenceTd">Exchange Id column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>exchangeColumn</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>EXCHANGE</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Exchange content column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>name</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Repository name, value used for <code>NAME</code> column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>ttl</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Exchange time to live</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>writeConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Consistency l
 evel used to insert/delete exchange: <code>ANY</code>, <code>ONE</code>,
<code>TWO</code>, <code>QUORUM</code>, <code>LOCAL_QUORUM</code>&#8230;</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>readConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Consistency level used to read/check exchange: <code>ONE</code>,
<code>TWO</code>, <code>QUORUM</code>, <code>LOCAL_QUORUM</code>&#8230;</td></tr></tbody></table></div></div>
+</div></div><p>Alternatively, the <code>CassandraAggregationRepository</code>
does not have a <code>NAME</code> column and can be extended to use a different
data model.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th
colspan="1" rowspan="1" class="confluenceTh">Option</th><th colspan="1" rowspan="1"
class="confluenceTh">Default</th><th colspan="1" rowspan="1" class="confluenceTh">Description</th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>table</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>CAMEL_AGGREGATION</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Table name</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>pkColumns</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>NAME</code>,<code>KEY</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Primary key columns</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>exchangeIdColumn</code></td><td
c
 olspan="1" rowspan="1" class="confluenceTd"><code>EXCHANGE_ID</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Exchange Id column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>exchangeColumn</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>EXCHANGE</code></td><td
colspan="1" rowspan="1" class="confluenceTd">Exchange content column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>name</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Repository name, value used for <code>NAME</code> column</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>ttl</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Exchange time to live</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><code>writeConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">
 &#160;</td><td colspan="1" rowspan="1" class="confluenceTd">Consistency level
used to insert/delete exchange: <code>ANY</code>, <code>ONE</code>,
<code>TWO</code>, <code>QUORUM</code>, <code>LOCAL_QUORUM</code>&#8230;</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>readConsistencyLevel</code></td><td
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1"
class="confluenceTd">Consistency level used to read/check exchange: <code>ONE</code>,
<code>TWO</code>, <code>QUORUM</code>, <code>LOCAL_QUORUM</code>&#8230;</td></tr></tbody></table></div></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/rabbitmq.html
==============================================================================
--- websites/production/camel/content/rabbitmq.html (original)
+++ websites/production/camel/content/rabbitmq.html Sun Feb 22 16:18:06 2015
@@ -110,7 +110,7 @@
   &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>
-</div></div><p><span style="font-size: 16.0px;line-height: 1.5625;"><br
clear="none"></span></p><p><span style="font-size: 16.0px;line-height:
1.5625;">Headers</span></p><p>The following headers are set on exchanges
when consuming messages.</p><div class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.ROUTING_KEY</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The routing key that was used to
receive the message, or the routing key that will be used when producing a message</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.EXCHANGE_NAME</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The exchange the message was received
from</p></td></tr><tr><td colspan="1" rowspa
 n="1" class="confluenceTd"><p><code>rabbitmq.DELIVERY_TAG</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The rabbitmq delivery tag of the
received message</p></td></tr></tbody></table></div></div><p>The
following headers are used by the producer. If these are set on the camel exchange then they
will be set on the RabbitMQ message.</p><div class="confluenceTableSmall"><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Property</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.ROUTING_KEY</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The routing key that will be used
when sending the message</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>rabbitmq.EXCHANGE_NAME</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The exchange the message wa
 s received from, or sent to</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>rabbitmq.CONTENT_TYPE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The contentType to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.PRIORITY</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The priority header to set on the
RabbitMQ message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CORRELATIONID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The correlationId to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.MESSAGE_ID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The message id to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.DELIVERY_MODE</code></p></td><td
colspan=
 "1" rowspan="1" class="confluenceTd"><p>If the message should be persistent or not</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.USERID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The userId to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CLUSTERID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The clusterId to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.REPLY_TO</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The replyTo to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CONTENT_ENCODING</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The contentEncoding to set on the
RabbitMQ message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.TY
 PE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The
type to set on the RabbitMQ message</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>rabbitmq.EXPIRATION</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The expiration to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.TIMESTAMP</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The timestamp to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.APP_ID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The appId to set on the RabbitMQ
message</p></td></tr></tbody></table></div></div><p>Headers
are set by the consumer once the message is received. The producer will also set the headers
for downstream processors once the exchange has taken place. Any headers set prior to production
that the producer sets will be o
 verriden.</p><h3 id="RabbitMQ-MessageBody">Message Body</h3><p>The
component will use the camel exchange in body as the rabbit mq message body. The camel exchange
in object must be convertible to a byte array. Otherwise the producer will throw an exception
of unsupported body type.</p><h3 id="RabbitMQ-Samples">Samples</h3><p>To
receive messages from a queue that is bound to an exchange A with the routing key B,</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><p><span style="font-size: 16.0px;line-height: 1.5625;"><br
clear="none"></span></p><p><span style="font-size: 16.0px;line-height:
1.5625;">Headers</span></p><p>The following headers are set on exchanges
when consuming messages.</p><div class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Property</p></th><th
colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.ROUTING_KEY</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The routing key that was used to
receive the message, or the routing key that will be used when producing a message</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.EXCHANGE_NAME</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The exchange the message was received
from</p></td></tr><tr><td colspan="1" rowspa
 n="1" class="confluenceTd"><p><code>rabbitmq.DELIVERY_TAG</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The rabbitmq delivery tag of the
received message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>rabbitmq.REQUEUE</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14.2:</strong>
This is used by the consumer to control rejection of the message. When the consumer is complete
processing the exchange, and if the exchange failed, then the consumer is going to reject
the message from the RabbitMQ broker. The value of this header controls this behavior. If
the value is false (by default) then the message is discarded/dead-lettered. If the value
is true, then the message is re-queued.&#160;</td></tr></tbody></table></div></div><p>The
following headers are used by the producer. If these are set on the camel exchange then they
will be set on the RabbitMQ message.</p><div class="confluenceTableSmall"><div
class="table-w
 rap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Property</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>rabbitmq.ROUTING_KEY</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The routing key that will be used
when sending the message</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>rabbitmq.EXCHANGE_NAME</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The exchange the message was received
from, or sent to</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CONTENT_TYPE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The contentType to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.PRIORITY</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The priori
 ty header to set on the RabbitMQ message</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CORRELATIONID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The correlationId to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.MESSAGE_ID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The message id to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.DELIVERY_MODE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>If the message should be persistent
or not</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.USERID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The userId to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CLUSTERID</code></p></td><td
colspan="1" r
 owspan="1" class="confluenceTd"><p>The clusterId to set on the RabbitMQ message</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.REPLY_TO</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The replyTo to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.CONTENT_ENCODING</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The contentEncoding to set on the
RabbitMQ message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.TYPE</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The type to set on the RabbitMQ message</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.EXPIRATION</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The expiration to set on the RabbitMQ
message</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rabbitmq.TIMESTA
 MP</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The
timestamp to set on the RabbitMQ message</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>rabbitmq.APP_ID</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The appId to set on the RabbitMQ
message</p></td></tr></tbody></table></div></div><p>Headers
are set by the consumer once the message is received. The producer will also set the headers
for downstream processors once the exchange has taken place. Any headers set prior to production
that the producer sets will be overriden.</p><h3 id="RabbitMQ-MessageBody">Message
Body</h3><p>The component will use the camel exchange in body as the rabbit mq
message body. The camel exchange in object must be convertible to a byte array. Otherwise
the producer will throw an exception of unsupported body type.</p><h3 id="RabbitMQ-Samples">Samples</h3><p>To
receive messages from a queue that is bound to an exchange A with the routing k
 ey B,</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
 <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[from(&quot;rabbitmq://localhost/A?routingKey=B&quot;)
 ]]></script>
 </div></div><p>To receive messages from a queue with a single thread with
auto acknowledge disabled.</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">



Mime
View raw message