You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2015/11/25 09:18:57 UTC

svn commit: r973508 - in /websites/production/camel/content: cache/main.pageCache elasticsearch.html hbase.html

Author: buildbot
Date: Wed Nov 25 08:18:57 2015
New Revision: 973508

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/elasticsearch.html
    websites/production/camel/content/hbase.html

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

Modified: websites/production/camel/content/elasticsearch.html
==============================================================================
--- websites/production/camel/content/elasticsearch.html (original)
+++ websites/production/camel/content/elasticsearch.html Wed Nov 25 08:18:57 2015
@@ -96,7 +96,7 @@
 </div></div><h3 id="ElasticSearch-URIformat">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[elasticsearch://clusterName[?options]
 ]]></script>
-</div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>if you want to run against a local (in JVM/classloader) ElasticSearch server, just set the clusterName value in the URI to "local". See the <a shape="rect" class="external-link" href="http://www.elasticsearch.org/guide/reference/java-api/client.html" rel="nofollow">client guide</a> for more details.</p></div></div><h3 id="ElasticSearch-EndpointOptions">Endpoint Options</h3><p>The following options may be configured on the ElasticSearch endpoint. All are required to be set as either an endpoint URI parameter or as a header (headers override endpoint properties)</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>descrip
 tion</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>operation</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>required, indicates the operation to perform</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the name of the index to act against</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the type of the index to act against</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ip</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the TransportClient remote host ip to use <strong>Camel 2.12</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>port</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the TransportClient remote port to use (defaults to 9300) <strong>Camel 2.12</strong></p></td></tr><tr><td colspan="1" r
 owspan="1" class="confluenceTd"><p>transportAddresses</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span>comma separated list with <em>ip:port</em> formatted remote transport addresses to use <strong>Camel 2.16</strong></span></p><p><span>Options <em>ip</em> and <em>port</em> must be left blank for <em>transportAddresses</em> to be considered instead</span>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consistencyLevel</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the write consistency level to use with INDEX and BULK <span>operations</span> (can be any of <span>ONE, QUORUM, ALL or DEFAULT</span>) <strong>Camel 2.16</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>replicationType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the replication type to use with INDEX<span> and BULK</span> operations (can be any of SYNC, ASYNC or DEFAULT) <strong>Camel 2.16</strong></p></td></tr><tr><td colspa
 n="1" rowspan="1" class="confluenceTd"><p>parent</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(34,34,34);">optionally used with INDEX operations for Elasticsearch <a shape="rect" class="external-link" href="https://www.elastic.co/guide/en/elasticsearch/guide/current/parent-child.html" rel="nofollow">Parent-Child relationships</a> to specify the ID of the parent record <strong>Camel 2.16.1 / 2.17.0</strong></span></p></td></tr></tbody></table></div><h3 id="ElasticSearch-MessageOperations">Message Operations</h3><p>The following ElasticSearch operations are currently supported. Simply set an endpoint URI option or exchange header with a key of "operation" and a value set to one of the following. Some operations also require other parameters or the message body to be set.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>operation</p></th><th colspan="1" rowspan="1" class="confl
 uenceTh"><p>message body</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>INDEX</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Map, String, byte[] or XContentBuilder content to index</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>adds content to an index and returns the content's indexId in the body.</p><p><strong>Camel 2.15,</strong> you can set the <span style="line-height: 1.4285715;">indexId by setting the message header with the key "indexId".</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>GET_BY_ID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>index id of content to retrieve</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>retrieves the specified index and returns a GetResult object in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>DELETE</p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>index id of content to delete</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>deletes the specified indexId and returns a DeleteResult object in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1">BULK_INDEX</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>a&#160;<strong>List</strong>&#160;or <strong>Collection</strong> of any type that is already accepted (XContentBuilder, Map, byte[], String)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14, </strong>adds content to an index and return a&#160;List of the id&#160;of the successfully indexed documents in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>BULK</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span>a&#160;</span><strong>List</strong><span>&#160;or </span><strong>Collection</strong><span> of any type that is already accepted (XContentBuilder, Map, byte[], String)</span></p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.15:</strong> Adds content to an index and returns the BulkResponse object in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SEARCH</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Map or SearchRequest Object</p></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong><span>&#160;search the content with the map of query string</span></td></tr></tbody></table></div><h3 id="ElasticSearch-IndexExample">Index Example</h3><p>Below is a simple INDEX example</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>if you want to run against a local (in JVM/classloader) ElasticSearch server, just set the clusterName value in the URI to "local". See the <a shape="rect" class="external-link" href="http://www.elasticsearch.org/guide/reference/java-api/client.html" rel="nofollow">client guide</a> for more details.</p></div></div><h3 id="ElasticSearch-EndpointOptions">Endpoint Options</h3><p>The following options may be configured on the ElasticSearch endpoint. All are required to be set as either an endpoint URI parameter or as a header (headers override endpoint properties)</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>descrip
 tion</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>operation</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>required, indicates the operation to perform</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexName</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the name of the index to act against</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>indexType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the type of the index to act against</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>ip</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the TransportClient remote host ip to use <strong>Camel 2.12</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>port</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the TransportClient remote port to use (defaults to 9300) <strong>Camel 2.12</strong></p></td></tr><tr><td colspan="1" r
 owspan="1" class="confluenceTd"><p>transportAddresses</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span>comma separated list with <em>ip:port</em> formatted remote transport addresses to use <strong>Camel 2.16</strong></span></p><p><span>Options <em>ip</em> and <em>port</em> must be left blank for <em>transportAddresses</em> to be considered instead</span>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>consistencyLevel</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the write consistency level to use with INDEX and BULK <span>operations</span> (can be any of <span>ONE, QUORUM, ALL or DEFAULT</span>) <strong>Camel 2.16</strong></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>replicationType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>the replication type to use with INDEX<span> and BULK</span> operations (can be any of SYNC, ASYNC or DEFAULT) <strong>Camel 2.16</strong></p></td></tr><tr><td colspa
 n="1" rowspan="1" class="confluenceTd"><p>parent</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span style="color: rgb(34,34,34);">optionally used with INDEX operations for Elasticsearch <a shape="rect" class="external-link" href="https://www.elastic.co/guide/en/elasticsearch/guide/current/parent-child.html" rel="nofollow">Parent-Child relationships</a> to specify the ID of the parent record <strong>Camel 2.16.1 / 2.17.0</strong></span></p></td></tr></tbody></table></div><h3 id="ElasticSearch-MessageOperations">Message Operations</h3><p>The following ElasticSearch operations are currently supported. Simply set an endpoint URI option or exchange header with a key of "operation" and a value set to one of the following. Some operations also require other parameters or the message body to be set.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>operation</p></th><th colspan="1" rowspan="1" class="confl
 uenceTh"><p>message body</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>INDEX</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Map, String, byte[] or XContentBuilder content to index</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>adds content to an index and returns the content's indexId in the body.</p><p><strong>Camel 2.15,</strong> you can set the <span style="line-height: 1.4285715;">indexId by setting the message header with the key "indexId".</span></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>GET_BY_ID</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>index id of content to retrieve</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>retrieves the specified index and returns a GetResult object in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>DELETE</p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>index id of content to delete</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>deletes the specified indexId and returns a DeleteResult object in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p class="p1">BULK_INDEX</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>a&#160;<strong>List</strong>&#160;or <strong>Collection</strong> of any type that is already accepted (XContentBuilder, Map, byte[], String)</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.14, </strong>adds content to an index and return a&#160;List of the id&#160;of the successfully indexed documents in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>BULK</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><span>a&#160;</span><strong>List</strong><span>&#160;or </span><strong>Collection</strong><span> of any type that is already accepted (XContentBuilder, Map, byte[], String)</span></p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.15:</strong> Adds content to an index and returns the BulkResponse object in the body</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>SEARCH</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Map or SearchRequest Object</p></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.15:</strong><span>&#160;search the content with the map of query string</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">UPDATE</td><td colspan="1" rowspan="1" class="confluenceTd"><span>Map, String, byte[] or XContentBuilder content to update</span></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> Updates content to an index <span>and returns the content's indexId in the body.</span></td></tr></tbody></table></div><h3 id="ElasticSearch-IndexExample">Index Example</h3><p>Below is a simple INDEX example</p><div class="code panel pdl" style="b
 order-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:index&quot;)
 .to(&quot;elasticsearch://local?operation=INDEX&amp;indexName=twitter&amp;indexType=tweet&quot;);
 ]]></script>

Modified: websites/production/camel/content/hbase.html
==============================================================================
--- websites/production/camel/content/hbase.html (original)
+++ websites/production/camel/content/hbase.html Wed Nov 25 08:18:57 2015
@@ -101,11 +101,7 @@
 </div></div><p>If no configuration object is provided to the component, the component will create one. The created configuration will search the class path for an hbase-site.xml file, from which it will draw the configuration. You can find more information about how to configure HBase clients at: <a shape="rect" class="external-link" href="http://archive.apache.org/dist/hbase/docs/client_dependencies.html">HBase client configuration and dependencies </a></p><h3 id="hbase-HBaseProducer">HBase Producer</h3><p>As mentioned above camel provides produers endpoints for HBase. This allows you to store, delete, retrieve or query data from HBase using your camel routes.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[hbase://table[?options]
 ]]></script>
-</div></div><p>where <strong>table</strong> is the table name.</p><p>The supported operations are:</p><ul class="alternate"><li>Put</li><li>Get</li><li>Delete</li><li>Scan</li></ul><h4 id="hbase-SupportedURIoptionsonproducer">Supported URI options on producer</h4><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>operation</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelHBasePut</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The HBase operation to perform. <strong>Supported values</strong>: <code>CamelHBasePut</code>, <code>CamelHBaseGet</code>, <code>CamelHBaseDelete</code>, and <code>CamelHBaseScan</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>maxResults</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>100</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The maximum number of rows to scan.<strong>Supported op
 erations</strong>: <code>CamelHBaseScan</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>mappingStrategyName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>header</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The strategy to use for mapping Camel messages to HBase columns. Supported values: <code>header</code>, or <code>body</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>mappingStrategyClassName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The class name of a custom mapping strategy implementation. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>filters</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A list of filters. <strong>Sup
 ported operations</strong>: <code>CamelHBaseScan</code>. </p></td></tr></tbody></table></div>
-</div><p>Header mapping options:</p><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>rowId</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The id of the row. This has limited use as the row usually changes per Exchange.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>rowType</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> String </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The type to covert row id to. <strong>Supported operations</strong>: <code>CamelHBaseScan</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>family</code> </p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The column family. <strong>Supports</strong> a number suffix for referring to more than one columns </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>qualifier</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The column qualifier. <strong>Supports</strong> a number suffix for referring to more than one columns </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>value</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The value. <strong>Supports</strong> a number suffix for referring to more than one columns </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>valueType</code> </p></td><td colspan="1" rowspan="1" class="confl
 uenceTd"><p> String </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The value type. Supports a number suffix for referring to more than one columns. <strong>Supported operations</strong>: <code>CamelHBaseGet</code>, and <code>CamelHBaseScan</code>. </p></td></tr></tbody></table></div>
-</div><h4 id="hbase-PutOperations.">Put Operations.</h4><p>HBase is a column based store, which allows you to store data into a specific column of a specific row. Columns are grouped into families, so in order to specify a column you need to specify the column family and the qualifier of that column. To store data into a specific column you need to specify both the column and the row.</p><p>The simplest scenario for storing data into HBase from a camel route, would be to store part of the message body to specified HBase column.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>where <strong>table</strong> is the table name.</p><p>The supported operations are:</p><ul class="alternate"><li>Put</li><li>Get</li><li>Delete</li><li>Scan</li></ul><h4 id="hbase-SupportedURIoptionsonproducer">Supported URI options on producer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>operation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHBasePut</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HBase operation to perform. <strong>Supported values</strong>: <code>CamelHBasePut</code>, <code>CamelHBaseGet</code>, <code>CamelHBaseDelete</code>, and <code>CamelHBaseScan</code>.</p><
 /td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxResults</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The maximum number of rows to scan.<strong>Supported operations</strong>: <code>CamelHBaseScan</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mappingStrategyName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>header</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The strategy to use for mapping Camel messages to HBase columns. Supported values: <code>header</code>, or <code>body</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mappingStrategyClassName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The class name of a custom mapping strategy implementat
 ion.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>filters</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>A list of filters. <strong>Supported operations</strong>: <code>CamelHBaseScan</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">userGroupInformation</td><td colspan="1" rowspan="1" class="confluenceTd">UserGroupInformation</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> Defines privileges to communicate with HBase such as using kerberos</td></tr></tbody></table></div></div><p>Header mapping options:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Descript
 ion</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rowId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The id of the row. This has limited use as the row usually changes per Exchange.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rowType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The type to covert row id to. <strong>Supported operations</strong>: <code>CamelHBaseScan</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>family</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The column family. <strong>Supports</strong> a number suffix for referring to more than one columns</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
 <p><code>qualifier</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The column qualifier. <strong>Supports</strong> a number suffix for referring to more than one columns</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>value</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The value. <strong>Supports</strong> a number suffix for referring to more than one columns</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>valueType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The value type. Supports a number suffix for referring to more than one columns. <strong>Supported operations</strong>: <code>CamelHBaseGet</code>, and <code>CamelHBaseScan</code>.</p></td></tr></tbody></table></div
 ></div><h4 id="hbase-PutOperations.">Put Operations.</h4><p>HBase is a column based store, which allows you to store data into a specific column of a specific row. Columns are grouped into families, so in order to specify a column you need to specify the column family and the qualifier of that column. To store data into a specific column you need to specify both the column and the row.</p><p>The simplest scenario for storing data into HBase from a camel route, would be to store part of the message body to specified HBase column.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[        &lt;route&gt;
             &lt;from uri=&quot;direct:in&quot;/&gt;
             &lt;!-- Set the HBase Row --&gt;
@@ -215,11 +211,7 @@
 </div></div><p>You can specify the columns that you want to be return and their types as part of the uri options:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[hbase:mutable?family=name&amp;qualifer=first&amp;valueType=java.lang.String&amp;family=address&amp;qualifer=number&amp;valueType2=java.lang.Integer&amp;rowType=java.lang.Long
 ]]></script>
-</div></div><p>The example above will create a model object that is consisted of the specified fields and the scan results will populate the model object with values. Finally the mapping strategy will be used to map this model to the camel message.</p><h4 id="hbase-SupportedURIoptionsonconsumer">Supported URI options on consumer</h4><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>initialDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Milliseconds before the first polling starts. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>delay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>500</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Milliseconds before the next poll. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>useFixedDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</
 code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Controls if fixed delay or fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> timeUnit </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>TimeUnit.MILLISECONDS</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> time unit for <code>initialDelay</code> and <code>delay</code> options. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>runLoggingLevel</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>TRACE</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.8:</strong> The consumer logs a start/complete log line when it polls. This option allows you to configure t
 he logging level for that. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>operation</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>CamelHBasePut</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The HBase operation to perform. <strong>Supported values</strong>: <code>CamelHBasePut</code>, <code>CamelHBaseGet</code>, <code>CamelHBaseDelete</code>, and <code>CamelHBaseScan</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>maxResults</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>100</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The maximum number of rows to scan. <strong>Supported operations:</strong> <code>CamelHBaseScan</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>mappingStrategyName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>header</code> </p></td><td
  colspan="1" rowspan="1" class="confluenceTd"><p> The strategy to use for mapping Camel messages to HBase columns. Supported values: <code>header</code>, or <code>body</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>mappingStrategyClassName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The class name of a custom mapping strategy implementation. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>filters</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> A list of filters. <strong>Supported operations</strong>: <code>CamelHBaseScan</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>remove</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td colspa
 n="1" rowspan="1" class="confluenceTd"><p> If the option is true, Camel HBase Consumer will remove the rows which it processes.</p></td></tr></tbody></table></div>
-</div><p>Header mapping options:</p><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>rowId</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The id of the row. This has limited use as the row usually changes per Exchange.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>rowType</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> String </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The type to covert row id to. <strong>Supported operations</strong>: CamelHBaseScan </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>family</code> </p></td><td colspan="1" r
 owspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The column family. *upports a number suffix for referring to more than one columns </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>qualifier</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The column qualifier. *Supports a number suffix for referring to more than one columns </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>value</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The value. Supports a number suffix for referring to more than one columns </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>rowModel</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> String </p></td><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p> An instance of org.apache.camel.component.hbase.model.HBaseRow which describes how each row should be modeled </p></td></tr></tbody></table></div>
-</div><p>If the role of the rowModel is not clear, it allows you to construct the HBaseRow modle programmatically instead of "describing" it with uri options (such as family, qualifier, type etc).</p><h3 id="hbase-HBaseIdempotentrepository">HBase Idempotent repository</h3><p>The camel-hbase component also provides an idempotent repository which can be used when you want to make sure that each message is processed only once. The HBase idempotent repository is configured with a table, a column family and a column qualifier and will create to that table a row per message.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The example above will create a model object that is consisted of the specified fields and the scan results will populate the model object with values. Finally the mapping strategy will be used to map this model to the camel message.</p><h4 id="hbase-SupportedURIoptionsonconsumer">Supported URI options on consumer</h4><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>initialDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before the first polling starts.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>delay
 </code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>500</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before the next poll.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>useFixedDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Controls if fixed delay or fixed rate is used. See <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html" rel="nofollow">ScheduledExecutorService</a> in JDK for details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>timeUnit</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>TimeUnit.MILLISECONDS</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>time unit for <code>initialDelay</code> and <code>delay</code> options.</p></td></tr><tr><td colspa
 n="1" rowspan="1" class="confluenceTd"><p><code>runLoggingLevel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>TRACE</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The consumer logs a start/complete log line when it polls. This option allows you to configure the logging level for that.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>operation</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>CamelHBasePut</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The HBase operation to perform. <strong>Supported values</strong>: <code>CamelHBasePut</code>, <code>CamelHBaseGet</code>, <code>CamelHBaseDelete</code>, and <code>CamelHBaseScan</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>maxResults</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>100</code></p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>The maximum number of rows to scan. <strong>Supported operations:</strong> <code>CamelHBaseScan</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mappingStrategyName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>header</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The strategy to use for mapping Camel messages to HBase columns. Supported values: <code>header</code>, or <code>body</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>mappingStrategyClassName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The class name of a custom mapping strategy implementation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>filters</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan=
 "1" class="confluenceTd"><p>A list of filters. <strong>Supported operations</strong>: <code>CamelHBaseScan</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>remove</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If the option is true, Camel HBase Consumer will remove the rows which it processes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">userGroupInformation</td><td colspan="1" rowspan="1" class="confluenceTd">UserGroupInformation</td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> Defines privileges to communicate with HBase such as using kerberos</td></tr></tbody></table></div></div><p>Header mapping options:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
 class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rowId</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The id of the row. This has limited use as the row usually changes per Exchange.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rowType</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The type to covert row id to. <strong>Supported operations</strong>: CamelHBaseScan</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>family</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The column family. *upports a number suffix for referring to more than one
  columns</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>qualifier</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The column qualifier. *Supports a number suffix for referring to more than one columns</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>value</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The value. Supports a number suffix for referring to more than one columns</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>rowModel</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>An instance of org.apache.camel.component.hbase.model.HBaseRow which describes how each row should be modeled</p></td></tr></tbody></table></div></div><p>If the role of the r
 owModel is not clear, it allows you to construct the HBaseRow modle programmatically instead of "describing" it with uri options (such as family, qualifier, type etc).</p><h3 id="hbase-HBaseIdempotentrepository">HBase Idempotent repository</h3><p>The camel-hbase component also provides an idempotent repository which can be used when you want to make sure that each message is processed only once. The HBase idempotent repository is configured with a table, a column family and a column qualifier and will create to that table a row per message.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[HBaseConfiguration configuration = HBaseConfiguration.create();
 HBaseIdempotentRepository repository = new HBaseIdempotentRepository(configuration, tableName, family, qualifier);
 
@@ -227,13 +219,7 @@ from(&quot;direct:in&quot;)
   .idempotentConsumer(header(&quot;messageId&quot;), repository)
   .to(&quot;log:out);
 ]]></script>
-</div></div><h3 id="hbase-HBaseMapping">HBase Mapping</h3><p>It was mentioned above that you the default mapping strategies are <strong>header</strong> and <strong>body</strong> mapping.<br clear="none"> Below you can find some detailed examples of how each mapping strategy works.</p><h4 id="hbase-HBaseHeadermappingExamples">HBase Header mapping Examples</h4><p>The header mapping is the default mapping.<br clear="none"> To put the value "myvalue" into HBase row "myrow" and column "myfamily:mycolum" the message should contain the following headers:</p><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseRowId </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myrow </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseFamily </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myfamily </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseQualifier </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myqualifier </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseValue </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myvalue </p></td></tr></tbody></table></div>
-</div><p>To put more values for different columns and / or different rows you can specify additional headers suffixed with the index of the headers, e.g:</p><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseRowId </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myrow </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseFamily </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myfamily </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseQualifier </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myqualifier </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseValue </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myvalue </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseRowId2 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myrow2 </p></td><
 /tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseFamily2 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myfamily </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseQualifier2 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myqualifier </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseValue2 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myvalue2 </p></td></tr></tbody></table></div>
-</div><p>In the case of retrieval operations such as get or scan you can also specify for each column the type that you want the data to be converted to. For exampe:</p><div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Header </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Value </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseFamily </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myfamily </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseQualifier </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> myqualifier </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> CamelHBaseValueType </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Long </p></td></tr></tbody></table></div>
-</div><p>Please note that in order to avoid boilerplate headers that are considered constant for all messages, you can also specify them as part of the endpoint uri, as you will see below.</p><h4 id="hbase-BodymappingExamples">Body mapping Examples</h4><p>In order to use the body mapping strategy you will have to specify the option mappingStrategy as part of the uri, for example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="hbase-HBaseMapping">HBase Mapping</h3><p>It was mentioned above that you the default mapping strategies are <strong>header</strong> and <strong>body</strong> mapping.<br clear="none"> Below you can find some detailed examples of how each mapping strategy works.</p><h4 id="hbase-HBaseHeadermappingExamples">HBase Header mapping Examples</h4><p>The header mapping is the default mapping.<br clear="none"> To put the value "myvalue" into HBase row "myrow" and column "myfamily:mycolum" the message should contain the following headers:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseRowId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myrow</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd
 "><p>CamelHBaseFamily</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myfamily</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseQualifier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myqualifier</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseValue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myvalue</p></td></tr></tbody></table></div></div><p>To put more values for different columns and / or different rows you can specify additional headers suffixed with the index of the headers, e.g:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseRowId</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myrow</p></td></tr><tr><td col
 span="1" rowspan="1" class="confluenceTd"><p>CamelHBaseFamily</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myfamily</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseQualifier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myqualifier</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseValue</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myvalue</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseRowId2</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myrow2</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseFamily2</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myfamily</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseQualifier2</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myqualifier</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseVa
 lue2</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myvalue2</p></td></tr></tbody></table></div></div><p>In the case of retrieval operations such as get or scan you can also specify for each column the type that you want the data to be converted to. For exampe:</p><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Header</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Value</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseFamily</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myfamily</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseQualifier</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>myqualifier</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHBaseValueType</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Long</p></td></tr></tbody></t
 able></div></div><p>Please note that in order to avoid boilerplate headers that are considered constant for all messages, you can also specify them as part of the endpoint uri, as you will see below.</p><h4 id="hbase-BodymappingExamples">Body mapping Examples</h4><p>In order to use the body mapping strategy you will have to specify the option mappingStrategy as part of the uri, for example:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[hbase:mytable?mappingStrategy=body
 ]]></script>
 </div></div><p>To use the body mapping strategy the body needs to contain an instance of org.apache.camel.component.hbase.model.HBaseData. You can construct t</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">