Author: buildbot
Date: Wed Apr 27 09:19:30 2016
New Revision: 986806

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/book-pattern-appendix.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/idempotent-consumer.html
    websites/production/camel/content/producertemplate.html
    websites/production/camel/content/spring.html

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Apr 27 09:19:30 
2016
@@ -3612,11 +3612,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the 
various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro 
confluence-information-macro-information"><p class="title">Thanks</p><span 
class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>This tutorial was kindly donated 
to Apache Camel by Martin Gilday.</p></div></div><h2 
id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the 
reader through the stages of creating a project which uses Camel to facilitate 
the routing of messages from a JMS queue to a <a shape="rect" 
class="external-link" href="http://www.springramework.org"; 
rel="nofollow">Spring</a> service. The route works in a synchronous fashion 
returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1461745109691 {padding: 0px;}
-div.rbtoc1461745109691 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1461745109691 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1461748683707 {padding: 0px;}
+div.rbtoc1461748683707 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1461748683707 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1461745109691">
+/*]]>*/</style></p><div class="toc-macro rbtoc1461748683707">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring 
Remoting with JMS</a></li><li><a shape="rect" 
href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-About">About</a></li><li><a shape="rect" 
href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with 
Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the 
Server</a>
@@ -5731,11 +5731,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. 
Apache Axis 1.4 is a very old and unsupported framework. We encourage users to 
use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1461745109963 {padding: 0px;}
-div.rbtoc1461745109963 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1461745109963 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1461748684175 {padding: 0px;}
+div.rbtoc1461748684175 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1461748684175 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1461745109963">
+/*]]>*/</style><div class="toc-macro rbtoc1461748684175">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 
1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" 
href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" 
href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" 
href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to 
run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" 
href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" 
href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a 
shape="rect" href="#BookInOnePage-RunningtheExample">Running the 
Example</a></li></ul>
@@ -15665,7 +15665,7 @@ from(&quot;activemq:queue:Consumer.2.Vir
 <h4 id="BookInOnePage-UsingThisPattern.41">Using This Pattern</h4>
 
 <p>If you would like to use this EIP Pattern then please read the <a 
shape="rect" href="getting-started.html">Getting Started</a>, you may also find 
the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern out.</p>
-<h3 id="BookInOnePage-IdempotentConsumer">Idempotent Consumer</h3><p>The <a 
shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html"; 
rel="nofollow">Idempotent Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> is used to filter 
out duplicate messages.</p><p>This pattern is implemented using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/idempotent/IdempotentConsumer.html";>IdempotentConsumer</a>
 class. This uses an <a shape="rect" href="expression.html">Expression</a> to 
calculate a unique message ID string for a given message exchange; this ID can 
then be looked up in the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";>IdempotentRepository</a>
 to see if it has been seen before; if it has the message 
 is consumed; if its not then the message is processed and the ID is added to 
the repository.</p><p>The Idempotent Consumer essentially acts like a <a 
shape="rect" href="message-filter.html">Message Filter</a> to filter out 
duplicates.</p><p>Camel will add the message id eagerly to the repository to 
detect duplication also for Exchanges currently in progress.<br clear="none"> 
On completion Camel will remove the message id from the repository if the 
Exchange failed, otherwise it stays there.</p><p>Camel provides the following 
Idempotent Consumer implementations:</p><ul 
class="alternate"><li>MemoryIdempotentRepository</li><li><a shape="rect" 
href="file2.html">FileIdempotentRepository</a></li><li><a shape="rect" 
href="hazelcast-component.html">HazelcastIdempotentRepository</a> 
(<strong>Available as of Camel 2.8</strong>)</li><li><a shape="rect" 
href="sql-component.html">JdbcMessageIdRepository</a> (<strong>Available as of 
Camel 2.7</strong>)</li><li><a shape="rect" href="jpa.html">JpaMe
 ssageIdRepository</a></li><li><p><a shape="rect" 
href="infinispan.html">InfinispanIdempotentRepository</a> (<strong>Available as 
of Camel 2.13.0)</strong></p></li><li><p><strong><a shape="rect" 
href="jcache.html">JCacheIdempotentRepository</a>&#160;(<strong>Available as of 
Camel 2.17.0)</strong></strong></p></li></ul><h3 
id="BookInOnePage-Options.19">Options</h3><p>The Idempotent Consumer has the 
following options:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>eager</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Eager controls whether Camel adds the message to the 
repository before or after the exchange has been processe
 d. If enabled before then Camel will be able to detect duplicate messages even 
when messages are currently in progress. By disabling Camel will only detect 
duplicates when a message has successfully been processed.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>messageIdRepositoryRef</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A reference to a 
<code>IdempotentRepository</code> to lookup in the registry. This option is 
mandatory when using XML DSL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>skipDuplicate</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.8:</strong> Sets whether to skip 
duplicate messages. If set to <code>false</code> then the message will be 
continued. However the <a shape="rect" href="exchange.html">Exchange</a> has 
been marked as a dupl
 icate by having the <code>Exchange.DUPLICATE_MESSAG</code> exchange property 
set to a <code>Boolean.TRUE</code> value.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>removeOnFailure</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> Sets whether to remove the 
id of an Exchange that failed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">completionEager</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.16:</strong> Sets whether to complete 
the idempotent consumer eager or when the exchange is done.</p><p>If this 
option is true to complete eager, then the idempotent consumer will trigger its 
completion when the exchange reached the end of the block of the idempotent 
consumer pattern. So if the exchange is continued routed after the block ends, 
then whatever happens 
 there does not affect the state.</p><p>If this option is false (default) to 
not complete eager, then the idempotent consumer will complete when the 
exchange is done being routed. So if the exchange is continued routed after the 
block ends, then whatever happens there also affect the state. For example if 
the exchange failed due to an exception, then the state of the idempotent 
consumer will be a rollback.</p></td></tr></tbody></table></div><h3 
id="BookInOnePage-Usingthe"><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></h3><p>The following 
example will use the header <strong>myMessageId</strong> to filter out 
duplicates</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<h3 id="BookInOnePage-IdempotentConsumer">Idempotent Consumer</h3><p>The <a 
shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html"; 
rel="nofollow">Idempotent Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> is used to filter 
out duplicate messages.</p><p>This pattern is implemented using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/idempotent/IdempotentConsumer.html";>IdempotentConsumer</a>
 class. This uses an <a shape="rect" href="expression.html">Expression</a> to 
calculate a unique message ID string for a given message exchange; this ID can 
then be looked up in the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";>IdempotentRepository</a>
 to see if it has been seen before; if it has the message 
 is consumed; if its not then the message is processed and the ID is added to 
the repository.</p><p>The Idempotent Consumer essentially acts like a <a 
shape="rect" href="message-filter.html">Message Filter</a> to filter out 
duplicates.</p><p>Camel will add the message id eagerly to the repository to 
detect duplication also for Exchanges currently in progress.<br clear="none"> 
On completion Camel will remove the message id from the repository if the 
Exchange failed, otherwise it stays there.</p><p>Camel provides the following 
Idempotent Consumer implementations:</p><ul 
class="alternate"><li>MemoryIdempotentRepository</li><li><a shape="rect" 
href="file2.html">FileIdempotentRepository</a></li><li><a shape="rect" 
href="hazelcast-component.html">HazelcastIdempotentRepository</a> 
(<strong>Available as of Camel 2.8</strong>)</li><li><a shape="rect" 
href="sql-component.html">JdbcMessageIdRepository</a> (<strong>Available as of 
Camel 2.7</strong>)</li><li><a shape="rect" href="jpa.html">JpaMe
 ssageIdRepository</a></li><li><p><a shape="rect" 
href="infinispan.html">InfinispanIdempotentRepository</a> (<strong>Available as 
of Camel 2.13.0)</strong></p></li><li><p><a shape="rect" 
href="jcache.html">JCacheIdempotentRepository</a><strong>&#160;(<strong>Available
 as of Camel 2.17.0)</strong></strong></p></li><li><p><a shape="rect" 
href="spring.html">SpringCacheIdempotentRepository</a>&#160;<strong>(<strong>Available
 as of Camel 2.17.1)</strong></strong><strong><strong><br 
clear="none"></strong></strong></p></li></ul><h3 
id="BookInOnePage-Options.19">Options</h3><p>The Idempotent Consumer has the 
following options:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>eager</p></td><td colspan="1" rows
 pan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Eager controls whether Camel adds the message to the 
repository before or after the exchange has been processed. If enabled before 
then Camel will be able to detect duplicate messages even when messages are 
currently in progress. By disabling Camel will only detect duplicates when a 
message has successfully been processed.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>messageIdRepositoryRef</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A reference to a 
<code>IdempotentRepository</code> to lookup in the registry. This option is 
mandatory when using XML DSL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>skipDuplicate</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 
 2.8:</strong> Sets whether to skip duplicate messages. If set to 
<code>false</code> then the message will be continued. However the <a 
shape="rect" href="exchange.html">Exchange</a> has been marked as a duplicate 
by having the <code>Exchange.DUPLICATE_MESSAG</code> exchange property set to a 
<code>Boolean.TRUE</code> value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>removeOnFailure</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> Sets whether to remove the 
id of an Exchange that failed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">completionEager</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.16:</strong> Sets whether to complete 
the idempotent consumer eager or when the exchange is done.</p><p>If this 
option is true to complete eager, then the idempot
 ent consumer will trigger its completion when the exchange reached the end of 
the block of the idempotent consumer pattern. So if the exchange is continued 
routed after the block ends, then whatever happens there does not affect the 
state.</p><p>If this option is false (default) to not complete eager, then the 
idempotent consumer will complete when the exchange is done being routed. So if 
the exchange is continued routed after the block ends, then whatever happens 
there also affect the state. For example if the exchange failed due to an 
exception, then the state of the idempotent consumer will be a 
rollback.</p></td></tr></tbody></table></div><h3 
id="BookInOnePage-Usingthe"><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></h3><p>The following 
example will use the header <strong>myMessageId</strong> to filter out 
duplicates</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[
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {
@@ -17132,11 +17132,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring 
Camel</a></li><li><a shape="rect" 
href="component.html">Component</a></li><li><a shape="rect" 
href="endpoint.html">Endpoint</a></li><li><a shape="rect" 
href="getting-started.html">Getting Started</a></li></ul><ul><li><a 
shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a 
shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 
id="BookInOnePage-CXFComponent">CXF Component</h2><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>When using CXF as a consumer, the 
<a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows 
you to factor out how message payloads are received from their processing as a 
RESTful or SOAP web service. This has the potential of using a multitude of 
transports to consume web 
 services. The bean component's configuration is also simpler and provides the 
fastest method to implement web services using Camel and 
CXF.</p></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>When using CXF in streaming modes 
(see DataFormat option), then also read about <a shape="rect" 
href="stream-caching.html">Stream caching</a>.</p></div></div><p>The 
<strong>cxf:</strong> component provides integration with <a shape="rect" 
href="http://cxf.apache.org";>Apache CXF</a> for connecting to JAX-WS services 
hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1461745111745 {padding: 0px;}
-div.rbtoc1461745111745 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1461745111745 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1461748689491 {padding: 0px;}
+div.rbtoc1461748689491 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1461748689491 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1461745111745">
+/*]]>*/</style></p><div class="toc-macro rbtoc1461748689491">
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" 
href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" 
href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the 
dataformats</a>

Modified: websites/production/camel/content/book-pattern-appendix.html
==============================================================================
--- websites/production/camel/content/book-pattern-appendix.html (original)
+++ websites/production/camel/content/book-pattern-appendix.html Wed Apr 27 
09:19:30 2016
@@ -4125,7 +4125,7 @@ from(&quot;activemq:queue:Consumer.2.Vir
 <h4 id="BookPatternAppendix-UsingThisPattern.41">Using This Pattern</h4>
 
 <p>If you would like to use this EIP Pattern then please read the <a 
shape="rect" href="getting-started.html">Getting Started</a>, you may also find 
the <a shape="rect" href="architecture.html">Architecture</a> useful 
particularly the description of <a shape="rect" 
href="endpoint.html">Endpoint</a> and <a shape="rect" 
href="uris.html">URIs</a>. Then you could try out some of the <a shape="rect" 
href="examples.html">Examples</a> first before trying this pattern out.</p>
-<h3 id="BookPatternAppendix-IdempotentConsumer">Idempotent Consumer</h3><p>The 
<a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html"; 
rel="nofollow">Idempotent Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> is used to filter 
out duplicate messages.</p><p>This pattern is implemented using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/idempotent/IdempotentConsumer.html";>IdempotentConsumer</a>
 class. This uses an <a shape="rect" href="expression.html">Expression</a> to 
calculate a unique message ID string for a given message exchange; this ID can 
then be looked up in the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";>IdempotentRepository</a>
 to see if it has been seen before; if it has the me
 ssage is consumed; if its not then the message is processed and the ID is 
added to the repository.</p><p>The Idempotent Consumer essentially acts like a 
<a shape="rect" href="message-filter.html">Message Filter</a> to filter out 
duplicates.</p><p>Camel will add the message id eagerly to the repository to 
detect duplication also for Exchanges currently in progress.<br clear="none"> 
On completion Camel will remove the message id from the repository if the 
Exchange failed, otherwise it stays there.</p><p>Camel provides the following 
Idempotent Consumer implementations:</p><ul 
class="alternate"><li>MemoryIdempotentRepository</li><li><a shape="rect" 
href="file2.html">FileIdempotentRepository</a></li><li><a shape="rect" 
href="hazelcast-component.html">HazelcastIdempotentRepository</a> 
(<strong>Available as of Camel 2.8</strong>)</li><li><a shape="rect" 
href="sql-component.html">JdbcMessageIdRepository</a> (<strong>Available as of 
Camel 2.7</strong>)</li><li><a shape="rect" href="jpa.html"
 >JpaMessageIdRepository</a></li><li><p><a shape="rect" 
 >href="infinispan.html">InfinispanIdempotentRepository</a> (<strong>Available 
 >as of Camel 2.13.0)</strong></p></li><li><p><strong><a shape="rect" 
 >href="jcache.html">JCacheIdempotentRepository</a>&#160;(<strong>Available as 
 >of Camel 2.17.0)</strong></strong></p></li></ul><h3 
 >id="BookPatternAppendix-Options.10">Options</h3><p>The Idempotent Consumer 
 >has the following options:</p><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>eager</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p>Eager controls whether Camel adds the message to the 
 >repository before or after the exchange has b
 een processed. If enabled before then Camel will be able to detect duplicate 
messages even when messages are currently in progress. By disabling Camel will 
only detect duplicates when a message has successfully been 
processed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>messageIdRepositoryRef</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A reference to a 
<code>IdempotentRepository</code> to lookup in the registry. This option is 
mandatory when using XML DSL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>skipDuplicate</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.8:</strong> Sets whether to skip 
duplicate messages. If set to <code>false</code> then the message will be 
continued. However the <a shape="rect" href="exchange.html">Exchange</a> has 
been mark
 ed as a duplicate by having the <code>Exchange.DUPLICATE_MESSAG</code> 
exchange property set to a <code>Boolean.TRUE</code> 
value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>removeOnFailure</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> Sets whether to remove the 
id of an Exchange that failed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">completionEager</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.16:</strong> Sets whether to complete 
the idempotent consumer eager or when the exchange is done.</p><p>If this 
option is true to complete eager, then the idempotent consumer will trigger its 
completion when the exchange reached the end of the block of the idempotent 
consumer pattern. So if the exchange is continued routed after the block ends, 
then whate
 ver happens there does not affect the state.</p><p>If this option is false 
(default) to not complete eager, then the idempotent consumer will complete 
when the exchange is done being routed. So if the exchange is continued routed 
after the block ends, then whatever happens there also affect the state. For 
example if the exchange failed due to an exception, then the state of the 
idempotent consumer will be a rollback.</p></td></tr></tbody></table></div><h3 
id="BookPatternAppendix-Usingthe"><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></h3><p>The following 
example will use the header <strong>myMessageId</strong> to filter out 
duplicates</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<h3 id="BookPatternAppendix-IdempotentConsumer">Idempotent Consumer</h3><p>The 
<a shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html"; 
rel="nofollow">Idempotent Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> is used to filter 
out duplicate messages.</p><p>This pattern is implemented using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/idempotent/IdempotentConsumer.html";>IdempotentConsumer</a>
 class. This uses an <a shape="rect" href="expression.html">Expression</a> to 
calculate a unique message ID string for a given message exchange; this ID can 
then be looked up in the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";>IdempotentRepository</a>
 to see if it has been seen before; if it has the me
 ssage is consumed; if its not then the message is processed and the ID is 
added to the repository.</p><p>The Idempotent Consumer essentially acts like a 
<a shape="rect" href="message-filter.html">Message Filter</a> to filter out 
duplicates.</p><p>Camel will add the message id eagerly to the repository to 
detect duplication also for Exchanges currently in progress.<br clear="none"> 
On completion Camel will remove the message id from the repository if the 
Exchange failed, otherwise it stays there.</p><p>Camel provides the following 
Idempotent Consumer implementations:</p><ul 
class="alternate"><li>MemoryIdempotentRepository</li><li><a shape="rect" 
href="file2.html">FileIdempotentRepository</a></li><li><a shape="rect" 
href="hazelcast-component.html">HazelcastIdempotentRepository</a> 
(<strong>Available as of Camel 2.8</strong>)</li><li><a shape="rect" 
href="sql-component.html">JdbcMessageIdRepository</a> (<strong>Available as of 
Camel 2.7</strong>)</li><li><a shape="rect" href="jpa.html"
 >JpaMessageIdRepository</a></li><li><p><a shape="rect" 
 >href="infinispan.html">InfinispanIdempotentRepository</a> (<strong>Available 
 >as of Camel 2.13.0)</strong></p></li><li><p><a shape="rect" 
 >href="jcache.html">JCacheIdempotentRepository</a><strong>&#160;(<strong>Available
 > as of Camel 2.17.0)</strong></strong></p></li><li><p><a shape="rect" 
 >href="spring.html">SpringCacheIdempotentRepository</a>&#160;<strong>(<strong>Available
 > as of Camel 2.17.1)</strong></strong><strong><strong><br 
 >clear="none"></strong></strong></p></li></ul><h3 
 >id="BookPatternAppendix-Options.10">Options</h3><p>The Idempotent Consumer 
 >has the following options:</p><div class="table-wrap"><table 
 >class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
 >class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd"><p>eager</p></td><td cols
 pan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Eager controls whether Camel adds the 
message to the repository before or after the exchange has been processed. If 
enabled before then Camel will be able to detect duplicate messages even when 
messages are currently in progress. By disabling Camel will only detect 
duplicates when a message has successfully been processed.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p>messageIdRepositoryRef</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A reference to a 
<code>IdempotentRepository</code> to lookup in the registry. This option is 
mandatory when using XML DSL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>skipDuplicate</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><s
 trong>Camel 2.8:</strong> Sets whether to skip duplicate messages. If set to 
<code>false</code> then the message will be continued. However the <a 
shape="rect" href="exchange.html">Exchange</a> has been marked as a duplicate 
by having the <code>Exchange.DUPLICATE_MESSAG</code> exchange property set to a 
<code>Boolean.TRUE</code> value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>removeOnFailure</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> Sets whether to remove the 
id of an Exchange that failed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">completionEager</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.16:</strong> Sets whether to complete 
the idempotent consumer eager or when the exchange is done.</p><p>If this 
option is true to complete eager, then
  the idempotent consumer will trigger its completion when the exchange reached 
the end of the block of the idempotent consumer pattern. So if the exchange is 
continued routed after the block ends, then whatever happens there does not 
affect the state.</p><p>If this option is false (default) to not complete 
eager, then the idempotent consumer will complete when the exchange is done 
being routed. So if the exchange is continued routed after the block ends, then 
whatever happens there also affect the state. For example if the exchange 
failed due to an exception, then the state of the idempotent consumer will be a 
rollback.</p></td></tr></tbody></table></div><h3 
id="BookPatternAppendix-Usingthe"><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></h3><p>The following 
example will use the header <strong>myMessageId</strong> to filter out 
duplicates</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[
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {

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

Modified: websites/production/camel/content/idempotent-consumer.html
==============================================================================
--- websites/production/camel/content/idempotent-consumer.html (original)
+++ websites/production/camel/content/idempotent-consumer.html Wed Apr 27 
09:19:30 2016
@@ -86,7 +86,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h3 
id="IdempotentConsumer-IdempotentConsumer">Idempotent Consumer</h3><p>The <a 
shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html"; 
rel="nofollow">Idempotent Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> is used to filter 
out duplicate messages.</p><p>This pattern is implemented using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/idempotent/IdempotentConsumer.html";>IdempotentConsumer</a>
 class. This uses an <a shape="rect" href="expression.html">Expression</a> to 
calculate a unique message ID string for a given message exchange; this ID can 
then be looked up in the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";>IdempotentRepository</a>
 to see if it h
 as been seen before; if it has the message is consumed; if its not then the 
message is processed and the ID is added to the repository.</p><p>The 
Idempotent Consumer essentially acts like a <a shape="rect" 
href="message-filter.html">Message Filter</a> to filter out 
duplicates.</p><p>Camel will add the message id eagerly to the repository to 
detect duplication also for Exchanges currently in progress.<br clear="none"> 
On completion Camel will remove the message id from the repository if the 
Exchange failed, otherwise it stays there.</p><p>Camel provides the following 
Idempotent Consumer implementations:</p><ul 
class="alternate"><li>MemoryIdempotentRepository</li><li><a shape="rect" 
href="file2.html">FileIdempotentRepository</a></li><li><a shape="rect" 
href="hazelcast-component.html">HazelcastIdempotentRepository</a> 
(<strong>Available as of Camel 2.8</strong>)</li><li><a shape="rect" 
href="sql-component.html">JdbcMessageIdRepository</a> (<strong>Available as of 
Camel 2.7</strong>)</l
 i><li><a shape="rect" href="jpa.html">JpaMessageIdRepository</a></li><li><p><a 
shape="rect" href="infinispan.html">InfinispanIdempotentRepository</a> 
(<strong>Available as of Camel 2.13.0)</strong></p></li><li><p><strong><a 
shape="rect" 
href="jcache.html">JCacheIdempotentRepository</a>&#160;(<strong>Available as of 
Camel 2.17.0)</strong></strong></p></li></ul><h3 
id="IdempotentConsumer-Options">Options</h3><p>The Idempotent Consumer has the 
following options:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>eager</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Eager controls whether Camel adds the message to the 
repository b
 efore or after the exchange has been processed. If enabled before then Camel 
will be able to detect duplicate messages even when messages are currently in 
progress. By disabling Camel will only detect duplicates when a message has 
successfully been processed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>messageIdRepositoryRef</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A reference to a 
<code>IdempotentRepository</code> to lookup in the registry. This option is 
mandatory when using XML DSL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>skipDuplicate</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.8:</strong> Sets whether to skip 
duplicate messages. If set to <code>false</code> then the message will be 
continued. However the <a shape="rect" href="exchange
 .html">Exchange</a> has been marked as a duplicate by having the 
<code>Exchange.DUPLICATE_MESSAG</code> exchange property set to a 
<code>Boolean.TRUE</code> value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>removeOnFailure</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> Sets whether to remove the 
id of an Exchange that failed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">completionEager</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.16:</strong> Sets whether to complete 
the idempotent consumer eager or when the exchange is done.</p><p>If this 
option is true to complete eager, then the idempotent consumer will trigger its 
completion when the exchange reached the end of the block of the idempotent 
consumer pattern. So if the exchange is continued routed
  after the block ends, then whatever happens there does not affect the 
state.</p><p>If this option is false (default) to not complete eager, then the 
idempotent consumer will complete when the exchange is done being routed. So if 
the exchange is continued routed after the block ends, then whatever happens 
there also affect the state. For example if the exchange failed due to an 
exception, then the state of the idempotent consumer will be a 
rollback.</p></td></tr></tbody></table></div><h3 
id="IdempotentConsumer-Usingthe"><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></h3><p>The following 
example will use the header <strong>myMessageId</strong> to filter out 
duplicates</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h3 
id="IdempotentConsumer-IdempotentConsumer">Idempotent Consumer</h3><p>The <a 
shape="rect" class="external-link" 
href="http://www.enterpriseintegrationpatterns.com/IdempotentReceiver.html"; 
rel="nofollow">Idempotent Consumer</a> from the <a shape="rect" 
href="enterprise-integration-patterns.html">EIP patterns</a> is used to filter 
out duplicate messages.</p><p>This pattern is implemented using the <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/idempotent/IdempotentConsumer.html";>IdempotentConsumer</a>
 class. This uses an <a shape="rect" href="expression.html">Expression</a> to 
calculate a unique message ID string for a given message exchange; this ID can 
then be looked up in the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";>IdempotentRepository</a>
 to see if it h
 as been seen before; if it has the message is consumed; if its not then the 
message is processed and the ID is added to the repository.</p><p>The 
Idempotent Consumer essentially acts like a <a shape="rect" 
href="message-filter.html">Message Filter</a> to filter out 
duplicates.</p><p>Camel will add the message id eagerly to the repository to 
detect duplication also for Exchanges currently in progress.<br clear="none"> 
On completion Camel will remove the message id from the repository if the 
Exchange failed, otherwise it stays there.</p><p>Camel provides the following 
Idempotent Consumer implementations:</p><ul 
class="alternate"><li>MemoryIdempotentRepository</li><li><a shape="rect" 
href="file2.html">FileIdempotentRepository</a></li><li><a shape="rect" 
href="hazelcast-component.html">HazelcastIdempotentRepository</a> 
(<strong>Available as of Camel 2.8</strong>)</li><li><a shape="rect" 
href="sql-component.html">JdbcMessageIdRepository</a> (<strong>Available as of 
Camel 2.7</strong>)</l
 i><li><a shape="rect" href="jpa.html">JpaMessageIdRepository</a></li><li><p><a 
shape="rect" href="infinispan.html">InfinispanIdempotentRepository</a> 
(<strong>Available as of Camel 2.13.0)</strong></p></li><li><p><a shape="rect" 
href="jcache.html">JCacheIdempotentRepository</a><strong>&#160;(<strong>Available
 as of Camel 2.17.0)</strong></strong></p></li><li><p><a shape="rect" 
href="spring.html">SpringCacheIdempotentRepository</a>&#160;<strong>(<strong>Available
 as of Camel 2.17.1)</strong></strong><strong><strong><br 
clear="none"></strong></strong></p></li></ul><h3 
id="IdempotentConsumer-Options">Options</h3><p>The Idempotent Consumer has the 
following options:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Option</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="conflu
 enceTd"><p>eager</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Eager controls whether Camel adds the message to the 
repository before or after the exchange has been processed. If enabled before 
then Camel will be able to detect duplicate messages even when messages are 
currently in progress. By disabling Camel will only detect duplicates when a 
message has successfully been processed.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p>messageIdRepositoryRef</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A reference to a 
<code>IdempotentRepository</code> to lookup in the registry. This option is 
mandatory when using XML DSL.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>skipDuplicate</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowsp
 an="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> Sets whether to 
skip duplicate messages. If set to <code>false</code> then the message will be 
continued. However the <a shape="rect" href="exchange.html">Exchange</a> has 
been marked as a duplicate by having the <code>Exchange.DUPLICATE_MESSAG</code> 
exchange property set to a <code>Boolean.TRUE</code> 
value.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>removeOnFailure</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.9:</strong> Sets whether to remove the 
id of an Exchange that failed.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">completionEager</td><td colspan="1" rowspan="1" 
class="confluenceTd">false</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.16:</strong> Sets whether to complete 
the idempotent consumer eager or when the exchange is done.</p><p>If this optio
 n is true to complete eager, then the idempotent consumer will trigger its 
completion when the exchange reached the end of the block of the idempotent 
consumer pattern. So if the exchange is continued routed after the block ends, 
then whatever happens there does not affect the state.</p><p>If this option is 
false (default) to not complete eager, then the idempotent consumer will 
complete when the exchange is done being routed. So if the exchange is 
continued routed after the block ends, then whatever happens there also affect 
the state. For example if the exchange failed due to an exception, then the 
state of the idempotent consumer will be a 
rollback.</p></td></tr></tbody></table></div><h3 
id="IdempotentConsumer-Usingthe"><strong>Using the <a shape="rect" 
href="fluent-builders.html">Fluent Builders</a></strong></h3><p>The following 
example will use the header <strong>myMessageId</strong> to filter out 
duplicates</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[
 RouteBuilder builder = new RouteBuilder() {
     public void configure() {

Modified: websites/production/camel/content/producertemplate.html
==============================================================================
--- websites/production/camel/content/producertemplate.html (original)
+++ websites/production/camel/content/producertemplate.html Wed Apr 27 09:19:30 
2016
@@ -107,7 +107,31 @@ String ret = template.requestBody(&quot;
 // or specify the endpoint directly
 String ret = template.requestBody(&quot;cxf:bean:HelloWorldService&quot;, 
&quot;&lt;hello/&gt;&quot;, String.class);
 ]]></script>
-</div></div></div>
+</div></div><p>&#160;</p><h3 
id="ProducerTemplate-Fluentinterface(camel2.18.0)">Fluent interface (camel 
2.18.0)</h3><p>The FluentProducerTemplate provides a fluent syntax to 
ProducerTemplate,, examples:</p><p>&#160;</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeHeader panelHeader pdl" 
style="border-bottom-width: 1px;"><b>Set headers and body</b></div><div 
class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[Integer result = 
FluentProducerTemplate.on(context)
+    .withHeader(&quot;key-1&quot;, &quot;value-1&quot;)
+    .withHeader(&quot;key-2&quot;, &quot;value-2&quot;)
+    .withBody(&quot;Hello&quot;)
+    .to(&quot;direct:inout&quot;)
+    .request(Integer.class)]]></script>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 1px;"><b>Use a 
processor</b></div><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[Integer result = 
FluentProducerTemplate.on(context)
+    .withProcessor(exchange -&gt; exchange.getIn().setBody(&quot;Hello 
World&quot;))
+    .to(&quot;direct:exception&quot;)
+    .request(Integer.class);]]></script>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeHeader panelHeader pdl" style="border-bottom-width: 
1px;"><b>Customize template</b></div><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[Object result = 
FluentProducerTemplate.on(context)
+    .withTemplateCustomizer(
+        template -&gt; {
+            template.setExecutorService(myExecutor);
+            template.setMaximumCacheSize(10);
+        }
+    )
+    .withBody(&quot;the body&quot;)
+    .to(&quot;direct:start&quot;)
+    .request()
+ ]]></script>
+</div></div><p>&#160;</p><p>&#160;</p></div>
         </td>
         <td valign="top">
           <div class="navigation">

Modified: websites/production/camel/content/spring.html
==============================================================================
--- websites/production/camel/content/spring.html (original)
+++ websites/production/camel/content/spring.html Wed Apr 27 09:19:30 2016
@@ -86,7 +86,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Spring-SpringSupport">Spring 
Support</h2><p>Apache Camel is designed to work nicely with the <a shape="rect" 
class="external-link" href="http://www.springframework.org/"; 
rel="nofollow">Spring Framework</a> in a number of ways.</p><ul><li>Camel uses 
Spring Transactions as the default transaction handling in components like <a 
shape="rect" href="jms.html">JMS</a> and <a shape="rect" 
href="jpa.html">JPA</a></li><li>Camel works with Spring 2 XML processing with 
the <a shape="rect" href="xml-configuration.html">Xml 
Configuration</a></li><li>Camel Spring XML Schema's is defined at <a 
shape="rect" href="xml-reference.html">Xml Reference</a></li><li>Camel supports 
a powerful version of <a shape="rect" href="spring-remoting.html">Spring 
Remoting</a> which can use powerful routing between the client and server side 
along with using all of the available <a shape="rect" 
href="components.html">Components</a> for the transport</li><li>Camel provides p
 owerful <a shape="rect" href="bean-integration.html">Bean Integration</a> with 
any bean defined in a Spring ApplicationContext</li><li>Camel integrates with 
various Spring helper classes; such as providing <a shape="rect" 
href="type-converter.html">Type Converter</a> support for Spring Resources 
etc</li><li>Allows Spring to dependency inject <a shape="rect" 
href="component.html">Component</a> instances or the <a shape="rect" 
href="camelcontext.html">CamelContext</a> instance itself and auto-expose 
Spring beans as components and endpoints.</li><li>Allows you to reuse the <a 
shape="rect" href="spring-testing.html">Spring Testing</a> framework to 
simplify your unit and integration testing using <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> 
and Camel's powerful <a shape="rect" href="mock.html">Mock</a> and <a 
shape="rect" href="test.html">Test</a> 
endpoints</li><li>From&#160;<strong>Camel 2.15</strong> onwards Camel supports 
Spring Boot 
 using the&#160;<code><a shape="rect" 
href="spring-boot.html">camel-spring-boot</a></code> component.</li></ul><h2 
id="Spring-UsingSpringtoconfiguretheCamelContext">Using Spring to configure the 
CamelContext</h2><p>You can configure a CamelContext inside any spring.xml 
using the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-spring/apidocs/org/apache/camel/spring/CamelContextFactoryBean.html";>CamelContextFactoryBean</a>.
 This will automatically <a shape="rect" href="lifecycle.html">start</a> the <a 
shape="rect" href="camelcontext.html">CamelContext</a> along with any 
referenced <a shape="rect" href="routes.html">Routes</a> along any referenced 
<a shape="rect" href="component.html">Component</a> and <a shape="rect" 
href="endpoint.html">Endpoint</a> instances.</p><ul><li>Adding Camel 
schema</li><li>Configure <a shape="rect" href="routes.html">Routes</a> in two 
ways:<ul><li>Using Java Code</li><li>Using Spring XML</li></ul></li></ul><h3 
id="Sprin
 g-AddingCamelSchema">Adding Camel Schema</h3><div 
class="confluence-information-macro confluence-information-macro-note"><span 
class="aui-icon aui-icon-small aui-iconfont-warning 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>For Camel 1.x you need to use the 
following namespace:</p><div class="code panel pdl" style="border-width: 
1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Spring-SpringSupport">Spring 
Support</h2><p>Apache Camel is designed to work nicely with the <a shape="rect" 
class="external-link" href="http://www.springframework.org/"; 
rel="nofollow">Spring Framework</a> in a number of ways.</p><ul><li>Camel uses 
Spring Transactions as the default transaction handling in components like <a 
shape="rect" href="jms.html">JMS</a> and <a shape="rect" 
href="jpa.html">JPA</a></li><li>Camel works with Spring 2 XML processing with 
the <a shape="rect" href="xml-configuration.html">Xml 
Configuration</a></li><li>Camel Spring XML Schema's is defined at <a 
shape="rect" href="xml-reference.html">Xml Reference</a></li><li>Camel supports 
a powerful version of <a shape="rect" href="spring-remoting.html">Spring 
Remoting</a> which can use powerful routing between the client and server side 
along with using all of the available <a shape="rect" 
href="components.html">Components</a> for the transport</li><li>Camel provides p
 owerful <a shape="rect" href="bean-integration.html">Bean Integration</a> with 
any bean defined in a Spring ApplicationContext</li><li>Camel integrates with 
various Spring helper classes; such as providing <a shape="rect" 
href="type-converter.html">Type Converter</a> support for Spring Resources 
etc</li><li>Allows Spring to dependency inject <a shape="rect" 
href="component.html">Component</a> instances or the <a shape="rect" 
href="camelcontext.html">CamelContext</a> instance itself and auto-expose 
Spring beans as components and endpoints.</li><li>Allows you to reuse the <a 
shape="rect" href="spring-testing.html">Spring Testing</a> framework to 
simplify your unit and integration testing using <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a> 
and Camel's powerful <a shape="rect" href="mock.html">Mock</a> and <a 
shape="rect" href="test.html">Test</a> 
endpoints</li><li>From&#160;<strong>Camel 2.15</strong> onwards Camel supports 
Spring Boot 
 using the&#160;<code><a shape="rect" 
href="spring-boot.html">camel-spring-boot</a></code> 
component.</li><li>From&#160;<strong>Camel 2.17.1&#160;</strong>onwards Camel 
supports Spring Cache based Idempotent repository</li></ul><h2 
id="Spring-UsingSpringtoconfiguretheCamelContext">Using Spring to configure the 
CamelContext</h2><p>You can configure a CamelContext inside any spring.xml 
using the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-spring/apidocs/org/apache/camel/spring/CamelContextFactoryBean.html";>CamelContextFactoryBean</a>.
 This will automatically <a shape="rect" href="lifecycle.html">start</a> the <a 
shape="rect" href="camelcontext.html">CamelContext</a> along with any 
referenced <a shape="rect" href="routes.html">Routes</a> along any referenced 
<a shape="rect" href="component.html">Component</a> and <a shape="rect" 
href="endpoint.html">Endpoint</a> instances.</p><ul><li>Adding Camel 
schema</li><li>Configure <a shape="rect" href="
 routes.html">Routes</a> in two ways:<ul><li>Using Java Code</li><li>Using 
Spring XML</li></ul></li></ul><h3 id="Spring-AddingCamelSchema">Adding Camel 
Schema</h3><div class="confluence-information-macro 
confluence-information-macro-note"><span class="aui-icon aui-icon-small 
aui-iconfont-warning confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>For Camel 1.x you need to use the 
following namespace:</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[http://activemq.apache.org/camel/schema/spring
 ]]></script>
 </div></div><p>with the following schema location:</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -114,7 +114,7 @@
           http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans.xsd
           http://camel.apache.org/schema/spring 
http://camel.apache.org/schema/spring/camel-spring.xsd&quot;&gt;
 ]]></script>
-</div></div><p>... and then use the camel: namespace prefix, and you can omit 
the inline namespace declaration:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>... and then use the camel: namespace prefix, and you can omit the 
inline namespace declaration:<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;camel:camelContext id=&quot;camel5&quot;&gt;
   &lt;camel:package&gt;org.apache.camel.spring.example&lt;/camel:package&gt;
@@ -159,7 +159,7 @@
     &lt;contextScan/&gt;
 &lt;/camelContext&gt;
 ]]></script>
-</div></div><p>This allows you to just annotate your routes using the Spring 
<code>@Component</code> and have those routes included by Camel</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div>This allows you to just annotate your routes using the Spring 
<code>@Component</code> and have those routes included by Camel<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[@Component
 public class MyRoute extends SpringRouteBuilder {
 
@@ -278,7 +278,25 @@ protected Class[] excludeRoutes() {
   &lt;/property&gt;
 &lt;/bean&gt;
 ]]></script>
-</div></div><p>Which allows you to configure a component using some name 
(activemq in the above example), then you can refer to the component using 
<strong>activemq:[queue:|topic:]destinationName</strong>. This works by the 
SpringCamelContext lazily fetching components from the spring context for the 
scheme name you use for <a shape="rect" href="endpoint.html">Endpoint</a> <a 
shape="rect" href="uris.html">URIs</a>.</p><p>For more detail see <a 
shape="rect" href="how-do-i-configure-endpoints.html">Configuring Endpoints and 
Components</a>.</p><h3 
id="Spring-CamelContextAware">CamelContextAware</h3><p>If you want to be 
injected with the <a shape="rect" href="camelcontext.html">CamelContext</a> in 
your POJO just implement the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html";>CamelContextAware
 interface</a>; then when Spring creates your POJO the CamelContext will be 
injected into your POJO. Also 
 see the <a shape="rect" href="bean-integration.html">Bean Integration</a> for 
further injections.</p><h2 id="Spring-IntegrationTesting">Integration 
Testing</h2><p>To avoid a hung route when testing using Spring Transactions see 
the note about Spring Integration Testing under&#160;<a shape="rect" 
href="transactional-client.html">Transactional Client</a>.</p><h3 
id="Spring-Seealso">See also</h3><ul><li><a shape="rect" 
href="tutorial-jmsremoting.html">Spring JMS Tutorial</a></li><li><a 
shape="rect" href="creating-a-new-spring-based-camel-route.html">Creating a new 
Spring based Camel Route</a></li><li><a shape="rect" 
href="spring-example.html">Spring example</a></li><li><a shape="rect" 
href="xml-reference.html">Xml Reference</a></li><li><a shape="rect" 
href="advanced-configuration-of-camelcontext-using-spring.html">Advanced 
configuration of CamelContext using Spring</a></li><li><a shape="rect" 
href="how-do-i-import-routes-from-other-xml-files.html">How do I import routes 
from other XML 
 files</a></li></ul></div>
+</div></div>Which allows you to configure a component using some name 
(activemq in the above example), then you can refer to the component using 
<strong>activemq:[queue:|topic:]destinationName</strong>. This works by the 
SpringCamelContext lazily fetching components from the spring context for the 
scheme name you use for <a shape="rect" href="endpoint.html">Endpoint</a> <a 
shape="rect" href="uris.html">URIs</a>.<p>For more detail see <a shape="rect" 
href="how-do-i-configure-endpoints.html">Configuring Endpoints and 
Components</a>.</p><h2 id="Spring-SpringCacheidempotentrepository">Spring Cache 
idempotent repository</h2><p>Available as of <strong>Camel 
2.17.1</strong></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;bean id=&quot;repo&quot; 
class=&quot;org.apache.camel.spring.processor.idempotent.SpringCacheIdempotentRepository&quot;&gt;
+    &lt;constructor-arg&gt;
+       &lt;bean 
class=&quot;org.springframework.cache.guava.GuavaCacheManager&quot;/&gt;
+    &lt;/constructor-arg&gt;
+    &lt;constructor-arg value=&quot;idempotent&quot;/&gt;
+&lt;/bean&gt;
+
+&lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+    &lt;route id=&quot;idempotent-cache&quot;&gt;
+        &lt;from uri=&quot;direct:start&quot; /&gt;
+        &lt;idempotentConsumer messageIdRepositoryRef=&quot;repo&quot; 
skipDuplicate=&quot;true&quot;&gt;
+            &lt;header&gt;MessageId&lt;/header&gt;
+            &lt;to 
uri=&quot;log:org.apache.camel.spring.processor.idempotent?level=INFO&amp;amp;showAll=true&amp;amp;multiline=true&quot;
 /&gt;
+            &lt;to uri=&quot;mock:result&quot;/&gt;
+        &lt;/idempotentConsumer&gt;
+    &lt;/route&gt;
+&lt;/camelContext&gt;]]></script>
+</div></div><p>&#160;</p><p>&#160;</p><h3 
id="Spring-CamelContextAware">CamelContextAware</h3><p>If you want to be 
injected with the <a shape="rect" href="camelcontext.html">CamelContext</a> in 
your POJO just implement the <a shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/CamelContextAware.html";>CamelContextAware
 interface</a>; then when Spring creates your POJO the CamelContext will be 
injected into your POJO. Also see the <a shape="rect" 
href="bean-integration.html">Bean Integration</a> for further 
injections.</p><h2 id="Spring-IntegrationTesting">Integration Testing</h2><p>To 
avoid a hung route when testing using Spring Transactions see the note about 
Spring Integration Testing under&#160;<a shape="rect" 
href="transactional-client.html">Transactional Client</a>.</p><h3 
id="Spring-Seealso">See also</h3><ul><li><a shape="rect" 
href="tutorial-jmsremoting.html">Spring JMS Tutorial</a></li><li><a 
shape="rect" href="cr
 eating-a-new-spring-based-camel-route.html">Creating a new Spring based Camel 
Route</a></li><li><a shape="rect" href="spring-example.html">Spring 
example</a></li><li><a shape="rect" href="xml-reference.html">Xml 
Reference</a></li><li><a shape="rect" 
href="advanced-configuration-of-camelcontext-using-spring.html">Advanced 
configuration of CamelContext using Spring</a></li><li><a shape="rect" 
href="how-do-i-import-routes-from-other-xml-files.html">How do I import routes 
from other XML files</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to