camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r957998 [1/3] - in /websites/production/camel/content: book-in-one-page.html book-pattern-appendix.html cache/main.pageCache camel-2160-release.html content-enricher.html
Date Sun, 12 Jul 2015 13:20:18 GMT
Author: buildbot
Date: Sun Jul 12 13:20:18 2015
New Revision: 957998

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/camel-2160-release.html
    websites/production/camel/content/content-enricher.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 Sun Jul 12 13:20:18 2015
@@ -3679,11 +3679,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.rbtoc1436692699325 {padding: 0px;}
-div.rbtoc1436692699325 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1436692699325 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1436707111264 {padding: 0px;}
+div.rbtoc1436707111264 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1436707111264 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1436692699325">
+/*]]>*/</style></p><div class="toc-macro rbtoc1436707111264">
 <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>
@@ -5783,11 +5783,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.rbtoc1436692699565 {padding: 0px;}
-div.rbtoc1436692699565 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1436692699565 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1436707112037 {padding: 0px;}
+div.rbtoc1436707112037 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1436707112037 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1436692699565">
+/*]]>*/</style><div class="toc-macro rbtoc1436707112037">
 <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>
@@ -15177,7 +15177,7 @@ from(&quot;direct:start&quot;)
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:start&quot;).setBody(body().append(&quot; World!&quot;)).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div><p>In this example we add our own <a shape="rect" href="processor.html">Processor</a>
using explicit Java code</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div>In this example we add our own <a shape="rect" href="processor.html">Processor</a>
using explicit Java code<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[
 from(&quot;direct:start&quot;).process(new Processor() {
     public void process(Exchange exchange) {
@@ -15186,7 +15186,7 @@ from(&quot;direct:start&quot;).process(n
     }
 }).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div><p>Finally we can use <a shape="rect" href="bean-integration.html">Bean
Integration</a> to use any Java method on any bean to act as the transformer</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div>Finally we can use <a shape="rect" href="bean-integration.html">Bean
Integration</a> to use any Java method on any bean to act as the transformer<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[from(&quot;activemq:My.Queue&quot;).
   beanRef(&quot;myBeanName&quot;, &quot;myMethodName&quot;).
   to(&quot;activemq:Another.Queue&quot;);
@@ -15198,7 +15198,7 @@ from(&quot;direct:start&quot;).process(n
   &lt;to uri=&quot;activemq:Output&quot;/&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div><p><span class="confluence-anchor-link" id="BookInOnePage-enrich-dsl"></span></p><h3
id="BookInOnePage-ContentenrichmentusingtheenrichDSLelement">Content enrichment using the
<code>enrich</code> DSL element</h3><p>Camel comes with two flavors
of content enricher in the DSL</p><ul class="alternate"><li><code>enrich</code></li><li><code>pollEnrich</code></li></ul><p><code>enrich</code>
uses a <code>Producer</code> to obtain the additional data. It is usually used
for <a shape="rect" href="request-reply.html">Request Reply</a> messaging, for
instance to invoke an external web service.<br clear="none"> <code>pollEnrich</code>
on the other hand uses a <a shape="rect" href="polling-consumer.html">Polling Consumer</a>
to obtain the additional data. It is usually used for <a shape="rect" href="event-message.html">Event
Message</a> messaging, for instance to read a file or download a <a shape="rect"
href="ftp2.html">FTP</a> file.</p><div class="confluence-information-macro
conflu
 ence-information-macro-warning"><p class="title">Data from current Exchange not
used</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><code>pollEnrich</code>
or <code>enrich</code> does <strong>not</strong> access any data from
the current <a shape="rect" href="exchange.html">Exchange</a> which means when
polling it cannot use any of the existing headers you may have set on the <a shape="rect"
href="exchange.html">Exchange</a>. For example you cannot set a filename in the <code>Exchange.FILE_NAME</code>
header and use <code>pollEnrich</code> to consume only that file. For that you
<strong>must</strong> set the filename in the endpoint URI.</p><p>Instead
of using <code>enrich</code> you can use <a shape="rect" href="recipient-list.html">Recipient
List</a> and have dynamic endpoints and define an <code>AggregationStrategy</code>
on the <a shape="rect" href="recipient-list.html">Recipi
 ent List</a> which then would work as a <code>enrich</code> would do.</p><p>pollEnrich
only accept one message as response. That means that if you target to enrich your original
message with the enricher collecting messages from a seda, ... components using an aggregation
strategy. Only one response message will be aggregated with the original message</p><p>&#160;</p></div></div><h3
id="BookInOnePage-EnrichOptions">Enrich Options</h3><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>uri</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The endpoint uri for the external
service t
 o enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>ref</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to the endpoint for the external
service to enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>strategyRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to an <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
to be used to merge the reply from the external service, into a single outgoing message. By
default Camel will use the reply from the external service as outgoing mess
 age. From <strong>Camel 2.12</strong> onwards you can also use a POJO as the
<code>AggregationStrategy</code>, see the <a shape="rect" href="aggregator2.html">Aggregate</a>
page for more details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>strategyMethodName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
This option can be used to explicit declare the method name to use, when using POJOs as the
<code>AggregationStrategy</code>. See the <a shape="rect" href="aggregator2.html">Aggregate</a>
page for more details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>strategyMethodAllowNull</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
If this option is <code>false</code> then the aggregate met
 hod is not used if there was no data to enrich. If this option is <code>true</code>
then <code>null</code> values is used as the <code>oldExchange</code>
(when no data to enrich), when using POJOs as the <code>AggregationStrategy</code>.
See the <a shape="rect" href="aggregator2.html">Aggregate</a> page for more details.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>aggregateOnException</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> If
this option is <code>false</code> then the aggregate method is <strong>not</strong>
used if there was an exception thrown while trying to retrieve the data to enrich from the
resource. Setting this option to <code>true</code> allows end users to control
what to do if there was an exception in the <code>aggregate</code> method. For
example to suppress the exception or set a custom message body etc.</td></tr></tbody
 ></table></div></div><p><strong>Using the</strong>
<strong><a shape="rect" href="fluent-builders.html">Fluent Builders</a></strong></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div><p><span class="confluence-anchor-link" id="BookInOnePage-enrich-dsl"></span></p><h3
id="BookInOnePage-ContentenrichmentusingtheenrichDSLelement">Content enrichment using the
<code>enrich</code> DSL element</h3><p>Camel comes with two flavors
of content enricher in the DSL</p><ul class="alternate"><li><code>enrich</code></li><li><code>pollEnrich</code></li></ul><p><code>enrich</code>
uses a <code>Producer</code> to obtain the additional data. It is usually used
for <a shape="rect" href="request-reply.html">Request Reply</a> messaging, for
instance to invoke an external web service.<br clear="none"> <code>pollEnrich</code>
on the other hand uses a <a shape="rect" href="polling-consumer.html">Polling Consumer</a>
to obtain the additional data. It is usually used for <a shape="rect" href="event-message.html">Event
Message</a> messaging, for instance to read a file or download a <a shape="rect"
href="ftp2.html">FTP</a> file.</p><div class="confluence-information-macro
conflu
 ence-information-macro-warning"><p class="title">Data from current Exchange not
used</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><code>pollEnrich</code>
or <code>enrich</code> does <strong>not</strong> access any data from
the current <a shape="rect" href="exchange.html">Exchange</a> which means when
polling it cannot use any of the existing headers you may have set on the <a shape="rect"
href="exchange.html">Exchange</a>. For example you cannot set a filename in the <code>Exchange.FILE_NAME</code>
header and use <code>pollEnrich</code> to consume only that file. For that you
<strong>must</strong> set the filename in the endpoint URI.</p><p>Instead
of using <code>enrich</code> you can use <a shape="rect" href="recipient-list.html">Recipient
List</a> and have dynamic endpoints and define an <code>AggregationStrategy</code>
on the <a shape="rect" href="recipient-list.html">Recipi
 ent List</a> which then would work as a <code>enrich</code> would do.</p><p>pollEnrich
only accept one message as response. That means that if you target to enrich your original
message with the enricher collecting messages from a seda, ... components using an aggregation
strategy. Only one response message will be aggregated with the original message</p><p>&#160;</p></div></div><h3
id="BookInOnePage-EnrichOptions">Enrich Options</h3><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>uri</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The endpoint uri for the external
service t
 o enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>ref</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to the endpoint for the external
service to enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>strategyRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to an <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
to be used to merge the reply from the external service, into a single outgoing message. By
default Camel will use the reply from the external service as outgoing mess
 age. From <strong>Camel 2.12</strong> onwards you can also use a POJO as the
<code>AggregationStrategy</code>, see the <a shape="rect" href="aggregator2.html">Aggregate</a>
page for more details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>strategyMethodName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
This option can be used to explicit declare the method name to use, when using POJOs as the
<code>AggregationStrategy</code>. See the <a shape="rect" href="aggregator2.html">Aggregate</a>
page for more details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>strategyMethodAllowNull</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
If this option is <code>false</code> then the aggregate met
 hod is not used if there was no data to enrich. If this option is <code>true</code>
then <code>null</code> values is used as the <code>oldExchange</code>
(when no data to enrich), when using POJOs as the <code>AggregationStrategy</code>.
See the <a shape="rect" href="aggregator2.html">Aggregate</a> page for more details.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>aggregateOnException</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> If
this option is <code>false</code> then the aggregate method is <strong>not</strong>
used if there was an exception thrown while trying to retrieve the data to enrich from the
resource. Setting this option to <code>true</code> allows end users to control
what to do if there was an exception in the <code>aggregate</code> method. For
example to suppress the exception or set a custom message body etc.</td></tr><tr><td
  colspan="1" rowspan="1" class="confluenceTd"><code>shareUnitOfWork</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span
style="color: rgb(0,0,0);">&#160;Shares the unit of work with the parent and the resource
exchange. Enrich will by default not share unit of work between the parent exchange and the
resource exchange. This means the resource exchange has its own individual unit of work. See
<a shape="rect" href="splitter.html">Splitter</a> for more information and example.</span></td></tr></tbody></table></div></div><p><strong>Using
the</strong> <strong><a shape="rect" href="fluent-builders.html">Fluent
Builders</a></strong></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[AggregationStrategy
aggregationStrategy = ...
 
 from(&quot;direct:start&quot;)
@@ -17678,11 +17678,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.rbtoc1436692705893 {padding: 0px;}
-div.rbtoc1436692705893 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1436692705893 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1436707128431 {padding: 0px;}
+div.rbtoc1436707128431 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1436707128431 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1436692705893">
+/*]]>*/</style></p><div class="toc-macro rbtoc1436707128431">
 <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 Sun Jul 12 13:20:18 2015
@@ -3397,7 +3397,7 @@ from(&quot;direct:start&quot;)
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 from(&quot;direct:start&quot;).setBody(body().append(&quot; World!&quot;)).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div><p>In this example we add our own <a shape="rect" href="processor.html">Processor</a>
using explicit Java code</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+</div></div>In this example we add our own <a shape="rect" href="processor.html">Processor</a>
using explicit Java code<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[
 from(&quot;direct:start&quot;).process(new Processor() {
     public void process(Exchange exchange) {
@@ -3406,7 +3406,7 @@ from(&quot;direct:start&quot;).process(n
     }
 }).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div><p>Finally we can use <a shape="rect" href="bean-integration.html">Bean
Integration</a> to use any Java method on any bean to act as the transformer</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
+</div></div>Finally we can use <a shape="rect" href="bean-integration.html">Bean
Integration</a> to use any Java method on any bean to act as the transformer<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[from(&quot;activemq:My.Queue&quot;).
   beanRef(&quot;myBeanName&quot;, &quot;myMethodName&quot;).
   to(&quot;activemq:Another.Queue&quot;);
@@ -3418,7 +3418,7 @@ from(&quot;direct:start&quot;).process(n
   &lt;to uri=&quot;activemq:Output&quot;/&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div><p><span class="confluence-anchor-link" id="BookPatternAppendix-enrich-dsl"></span></p><h3
id="BookPatternAppendix-ContentenrichmentusingtheenrichDSLelement">Content enrichment using
the <code>enrich</code> DSL element</h3><p>Camel comes with two flavors
of content enricher in the DSL</p><ul class="alternate"><li><code>enrich</code></li><li><code>pollEnrich</code></li></ul><p><code>enrich</code>
uses a <code>Producer</code> to obtain the additional data. It is usually used
for <a shape="rect" href="request-reply.html">Request Reply</a> messaging, for
instance to invoke an external web service.<br clear="none"> <code>pollEnrich</code>
on the other hand uses a <a shape="rect" href="polling-consumer.html">Polling Consumer</a>
to obtain the additional data. It is usually used for <a shape="rect" href="event-message.html">Event
Message</a> messaging, for instance to read a file or download a <a shape="rect"
href="ftp2.html">FTP</a> file.</p><div class="confluence-information-
 macro confluence-information-macro-warning"><p class="title">Data from current Exchange
not used</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><code>pollEnrich</code>
or <code>enrich</code> does <strong>not</strong> access any data from
the current <a shape="rect" href="exchange.html">Exchange</a> which means when
polling it cannot use any of the existing headers you may have set on the <a shape="rect"
href="exchange.html">Exchange</a>. For example you cannot set a filename in the <code>Exchange.FILE_NAME</code>
header and use <code>pollEnrich</code> to consume only that file. For that you
<strong>must</strong> set the filename in the endpoint URI.</p><p>Instead
of using <code>enrich</code> you can use <a shape="rect" href="recipient-list.html">Recipient
List</a> and have dynamic endpoints and define an <code>AggregationStrategy</code>
on the <a shape="rect" href="recipient-list.
 html">Recipient List</a> which then would work as a <code>enrich</code>
would do.</p><p>pollEnrich only accept one message as response. That means that
if you target to enrich your original message with the enricher collecting messages from a
seda, ... components using an aggregation strategy. Only one response message will be aggregated
with the original message</p><p>&#160;</p></div></div><h3
id="BookPatternAppendix-EnrichOptions">Enrich Options</h3><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>uri</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The endpoint uri for the 
 external service to enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>ref</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to the endpoint for the external
service to enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>strategyRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to an <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
to be used to merge the reply from the external service, into a single outgoing message. By
default Camel will use the reply from the external servic
 e as outgoing message. From <strong>Camel 2.12</strong> onwards you can also
use a POJO as the <code>AggregationStrategy</code>, see the <a shape="rect"
href="aggregator2.html">Aggregate</a> page for more details.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>strategyMethodName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
This option can be used to explicit declare the method name to use, when using POJOs as the
<code>AggregationStrategy</code>. See the <a shape="rect" href="aggregator2.html">Aggregate</a>
page for more details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>strategyMethodAllowNull</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
If this option is <code>false</code> then
  the aggregate method is not used if there was no data to enrich. If this option is <code>true</code>
then <code>null</code> values is used as the <code>oldExchange</code>
(when no data to enrich), when using POJOs as the <code>AggregationStrategy</code>.
See the <a shape="rect" href="aggregator2.html">Aggregate</a> page for more details.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>aggregateOnException</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> If
this option is <code>false</code> then the aggregate method is <strong>not</strong>
used if there was an exception thrown while trying to retrieve the data to enrich from the
resource. Setting this option to <code>true</code> allows end users to control
what to do if there was an exception in the <code>aggregate</code> method. For
example to suppress the exception or set a custom message body etc
 .</td></tr></tbody></table></div></div><p><strong>Using
the</strong> <strong><a shape="rect" href="fluent-builders.html">Fluent
Builders</a></strong></p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><p><span class="confluence-anchor-link" id="BookPatternAppendix-enrich-dsl"></span></p><h3
id="BookPatternAppendix-ContentenrichmentusingtheenrichDSLelement">Content enrichment using
the <code>enrich</code> DSL element</h3><p>Camel comes with two flavors
of content enricher in the DSL</p><ul class="alternate"><li><code>enrich</code></li><li><code>pollEnrich</code></li></ul><p><code>enrich</code>
uses a <code>Producer</code> to obtain the additional data. It is usually used
for <a shape="rect" href="request-reply.html">Request Reply</a> messaging, for
instance to invoke an external web service.<br clear="none"> <code>pollEnrich</code>
on the other hand uses a <a shape="rect" href="polling-consumer.html">Polling Consumer</a>
to obtain the additional data. It is usually used for <a shape="rect" href="event-message.html">Event
Message</a> messaging, for instance to read a file or download a <a shape="rect"
href="ftp2.html">FTP</a> file.</p><div class="confluence-information-
 macro confluence-information-macro-warning"><p class="title">Data from current Exchange
not used</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div
class="confluence-information-macro-body"><p><code>pollEnrich</code>
or <code>enrich</code> does <strong>not</strong> access any data from
the current <a shape="rect" href="exchange.html">Exchange</a> which means when
polling it cannot use any of the existing headers you may have set on the <a shape="rect"
href="exchange.html">Exchange</a>. For example you cannot set a filename in the <code>Exchange.FILE_NAME</code>
header and use <code>pollEnrich</code> to consume only that file. For that you
<strong>must</strong> set the filename in the endpoint URI.</p><p>Instead
of using <code>enrich</code> you can use <a shape="rect" href="recipient-list.html">Recipient
List</a> and have dynamic endpoints and define an <code>AggregationStrategy</code>
on the <a shape="rect" href="recipient-list.
 html">Recipient List</a> which then would work as a <code>enrich</code>
would do.</p><p>pollEnrich only accept one message as response. That means that
if you target to enrich your original message with the enricher collecting messages from a
seda, ... components using an aggregation strategy. Only one response message will be aggregated
with the original message</p><p>&#160;</p></div></div><h3
id="BookPatternAppendix-EnrichOptions">Enrich Options</h3><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>uri</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>The endpoint uri for the 
 external service to enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>ref</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to the endpoint for the external
service to enrich from. You must use either <code>uri</code> or <code>ref</code>.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>strategyRef</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Refers to an <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/processor/aggregate/AggregationStrategy.html">AggregationStrategy</a>
to be used to merge the reply from the external service, into a single outgoing message. By
default Camel will use the reply from the external servic
 e as outgoing message. From <strong>Camel 2.12</strong> onwards you can also
use a POJO as the <code>AggregationStrategy</code>, see the <a shape="rect"
href="aggregator2.html">Aggregate</a> page for more details.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>strategyMethodName</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
This option can be used to explicit declare the method name to use, when using POJOs as the
<code>AggregationStrategy</code>. See the <a shape="rect" href="aggregator2.html">Aggregate</a>
page for more details.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>strategyMethodAllowNull</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
If this option is <code>false</code> then
  the aggregate method is not used if there was no data to enrich. If this option is <code>true</code>
then <code>null</code> values is used as the <code>oldExchange</code>
(when no data to enrich), when using POJOs as the <code>AggregationStrategy</code>.
See the <a shape="rect" href="aggregator2.html">Aggregate</a> page for more details.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><code>aggregateOnException</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> If
this option is <code>false</code> then the aggregate method is <strong>not</strong>
used if there was an exception thrown while trying to retrieve the data to enrich from the
resource. Setting this option to <code>true</code> allows end users to control
what to do if there was an exception in the <code>aggregate</code> method. For
example to suppress the exception or set a custom message body etc
 .</td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>shareUnitOfWork</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><code>false</code></td><td
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.16:</strong> <span
style="color: rgb(0,0,0);">&#160;Shares the unit of work with the parent and the resource
exchange. Enrich will by default not share unit of work between the parent exchange and the
resource exchange. This means the resource exchange has its own individual unit of work. See
<a shape="rect" href="splitter.html">Splitter</a> for more information and example.</span></td></tr></tbody></table></div></div><p><strong>Using
the</strong> <strong><a shape="rect" href="fluent-builders.html">Fluent
Builders</a></strong></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[AggregationStrategy
aggregationStrategy = ...
 
 from(&quot;direct:start&quot;)

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



Mime
View raw message