Author: buildbot
Date: Sun Sep 21 09:18:43 2014
New Revision: 923046
Log:
Production update by buildbot for camel
Added:
websites/production/camel/content/beanstalk.html
Modified:
websites/production/camel/content/book-architecture.html
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-2150-release.html
websites/production/camel/content/component-list.html
websites/production/camel/content/components.html
websites/production/camel/content/polling-consumer.html
websites/production/camel/content/transport.html
websites/production/camel/content/uris.html
Added: websites/production/camel/content/beanstalk.html
==============================================================================
--- websites/production/camel/content/beanstalk.html (added)
+++ websites/production/camel/content/beanstalk.html Sun Sep 21 09:18:43 2014
@@ -0,0 +1,190 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+<html>
+<head>
+ <link href="//camel.apache.org/styles/site.css" rel="stylesheet"
type="text/css">
+ <link href="//camel.apache.org/styles/type-settings.css" rel="stylesheet"
type="text/css">
+ <script src="//camel.apache.org/styles/prototype.js"
type="text/javascript"></script>
+ <script src="//camel.apache.org/styles/rico.js"
type="text/javascript"></script>
+ <script src="//camel.apache.org/styles/site.js"
type="text/javascript"></script>
+
+ <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+
+ <style type="text/css">
+ .maincontent { overflow:hidden; }
+ </style>
+ <!--[if IE]>
+ <style type="text/css">
+ .maincontent { width:100%; }
+ </style>
+ <![endif]-->
+
+
+ <link href='//camel.apache.org/styles/highlighter/styles/shCoreCamel.css'
rel='stylesheet' type='text/css' />
+ <link href='//camel.apache.org/styles/highlighter/styles/shThemeCamel.css'
rel='stylesheet' type='text/css' />
+ <script src='//camel.apache.org/styles/highlighter/scripts/shCore.js'
type='text/javascript'></script>
+ <script src='//camel.apache.org/styles/highlighter/scripts/shBrushJava.js'
type='text/javascript'></script>
+ <script src='//camel.apache.org/styles/highlighter/scripts/shBrushXml.js'
type='text/javascript'></script>
+
+ <script type="text/javascript">
+ SyntaxHighlighter.defaults['toolbar'] = false;
+ SyntaxHighlighter.all();
+ </script>
+
+ <title>
+ Apache Camel: Beanstalk
+ </title>
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+ <div class="header_l">
+ <div class="header_r">
+ </div>
+ </div>
+</div>
+<div class="content">
+ <div class="content_l">
+ <div class="content_r">
+ <div>
+ <!-- Banner -->
+<div id="banner-content"><div id="asf_logo">
+ <div id="activemq_logo" style="height:108px; background:transparent
url(banner.data/apache-camel-7.png) no-repeat scroll left top;">
+ <a shape="rect" style="float:left;
width:310px;display:block;text-indent:-5000px;text-decoration:none;line-height:140px;
margin-top:20px; margin-left:18px;" href="http://camel.apache.org/">Camel</a>
+ <a shape="rect" style="float:right;
width:180px;display:block;text-indent:-5000px;text-decoration:none;line-height:80px;
margin-top:45px; margin-right:10px;" href="http://www.apache.org">Apache</a>
+ </div>
+</div></div>
+ <!-- Banner -->
+ <div class="top_red_bar">
+ <div id="site-breadcrumbs">
+ <!-- Breadcrumbs -->
+<a href="index.html">Apache Camel</a> > <a
href="documentation.html">Documentation</a> > <a
href="components.html">Components</a> > <a
href="beanstalk.html">Beanstalk</a>
+ </div>
+ <!-- Quicklinks -->
+<div id="site-quicklinks"><p><a shape="rect" href="download.html">Download</a>
| <a shape="rect" href="javadoc.html">JavaDoc</a> | <a shape="rect"
href="source.html">Source</a> | <a shape="rect"
href="discussion-forums.html">Forums</a> | <a shape="rect"
href="support.html">Support</a></p></div>
+ <!-- Quicklinks -->
+ </div>
+
+ <table border="0">
+ <tbody>
+ <tr>
+ <td valign="top" width="100%">
+<div class="wiki-content maincontent"><h2
id="Beanstalk-Beanstalkcomponent">Beanstalk component</h2><p><strong>Available
in Camel 2.15</strong></p><p>camel-beanstalk project provides a Camel component
for job retrieval and post-processing of Beanstalk jobs.</p><p><span>You can
find the detailed explanation of Beanstalk job lifecycle at </span><a
shape="rect" class="external-link"
href="http://github.com/kr/beanstalkd/blob/v1.3/doc/protocol.txt"
rel="nofollow">Beanstalk protocol</a>.</p><h3
id="Beanstalk-Dependencies">Dependencies</h3><p>Maven users need to add the
following dependency to their <code>pom.xml</code></p><div class="code panel
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[<dependency>
+ <groupId>org.apache.camel</groupId>
+ <artifactId>camel-beanstalk</artifactId>
+ <version>${camel-version}</version>
+</dependency>
+]]></script>
+</div></div><p>where <code>${camel-version</code>} must be replaced by the
actual version of Camel (2.15.0 or higher).</p><h3 id="Beanstalk-URIformat">URI
format</h3><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: xml; gutter: false"
type="syntaxhighlighter"><![CDATA[beanstalk://[host[:port]][/tube][?options]]]></script>
+</div></div><p>You may omit either <code>port</code> or
both <code>host</code> and <code>port</code>: for the Beanstalk
defaults to be used (“localhost” and 11300). If you
omit <code>tube</code>, Beanstalk component will use the tube with name
“default”.</p><p>When listening, you may probably want to watch for
jobs from several tubes. Just separate them with plus sign, e.g.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[beanstalk://localhost:11300/tube1+tube2]]></script>
+</div></div><p><span style="line-height: 1.4285715;">Tube name will be URL
decoded, so if your tube names include special characters like + or ?, you need
to URL-encode them appropriately, or use the RAW syntax, see <a shape="rect"
href="how-do-i-configure-endpoints.html">more details here</a>.</span></p><p>By
the way, you cannot specify several tubes when you are writing jobs into
Beanstalk.</p><h3 id="Beanstalk-CommonURIoptions">Common URI 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">jobPriority</td><td colspan="1" rowspan="1"
class="confluenceTd">1000</td><td colspan="1" rowspan="1"
class="confluenceTd">Job priority. <span>(0 is the highest, see 
;</span><a shape="rect" class="external-link"
href="http://github.com/kr/beanstalkd/blob/v1.3/doc/protocol.txt"
rel="nofollow">Beanstalk protocol</a><span>)</span></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">jobDelay</td><td colspan="1"
rowspan="1" class="confluenceTd">0</td><td colspan="1" rowspan="1"
class="confluenceTd">Job delay in seconds.</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">jobTimeToRun</td><td colspan="1" rowspan="1"
class="confluenceTd">60</td><td colspan="1" rowspan="1"
class="confluenceTd">Job time to run in seconds. <span>(when 0, the beanstalkd
daemon raises it to 1 automatically, see </span><a shape="rect"
class="external-link"
href="http://github.com/kr/beanstalkd/blob/v1.3/doc/protocol.txt"
rel="nofollow">Beanstalk
protocol</a><span>)</span></td></tr></tbody></table></div></div><p> </p><h3
id="Beanstalk-ProducerUIRoptions">Producer UIR
options</h3><p><span>Producer behavior is affected by the </span>
<code>command</code><span> parameter which tells what to do with the job,
it can be</span></p><div class="confluenceTableSmall"><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">command</td><td colspan="1" rowspan="1"
class="confluenceTd">put</td><td colspan="1" rowspan="1"
class="confluenceTd"><ul><li><code>put</code> means to put the job into
Beanstalk. Job body is specified in the Camel message body. Job ID will be
returned in <em>beanstalk.jobId</em> message
header.</li><li><code>delete</code>, <code>release</code>, <code>touch</code> or <code>bury</code> expect
Job ID in the message header <em>beanstalk.jobId</em>. Result of the
operation is returne
d in <em>beanstalk.result</em> message
header</li><li><code>kick</code> expects the number of jobs to kick in the
message body and returns the number of jobs actually kicked out in the message
header <em>beanstalk.result</em>.</li></ul></td></tr></tbody></table></div></div><p> </p><h3
id="Beanstalk-ConsumerUIRoptions">Consumer UIR options</h3><p>The consumer may
delete the job immediately after reserving it or wait until Camel routes
process it. While the first scenario is more like a “message
queue”, the second is similar to “job queue”. This behavior
is controlled by <code>consumer.awaitJob</code> parameter, which
equals <code>true</code> by default (following Beanstalkd
nature).</p><p>When synchronous, the consumer
calls <code>delete</code> on successful job completion and
calls <code>bury</code> on failure. You can choose which command to
execute in the case of failure by specifying <co
de>consumer.onFailure</code> parameter in the URI. It can take values
of <code>bury</code>, <code>delete</code> or <code>release</code>.</p><p>There
is a boolean parameter <code>consumer.useBlockIO</code> which
corresponds to the same parameter in JavaBeanstalkClient library. By default it
is <code>true</code>.</p><p>Be careful when
specifying <code>release</code>, as the failed job will immediately become
available in the same tube and your consumer will try to acquire it again. You
can <code>release</code> and
specify <em>jobDelay</em> though.</p><div
class="confluenceTableSmall"><div class="table-wrap"><table
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1"
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">onFailur
e</td><td colspan="1" rowspan="1" class="confluenceTd">bury</td><td
colspan="1" rowspan="1" class="confluenceTd">Command to use when processing
failed. You can choose among: bury, delete or release.</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">useBlockIO</td><td colspan="1"
rowspan="1" class="confluenceTd">true</td><td colspan="1" rowspan="1"
class="confluenceTd">Whether to use blockIO.</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd">awaitJob</td><td colspan="1" rowspan="1"
class="confluenceTd">true</td><td colspan="1" rowspan="1"
class="confluenceTd">Whether to wait for job to complete before ack the job
from beanstalk</td></tr></tbody></table></div></div> <div class="aui-message
hint shadowed information-macro">
+ <span class="aui-icon icon-hint">Icon</span>
+ <div class="message-content">
+ <p>The beanstalk consumer is
a Scheduled <a shape="rect" href="polling-consumer.html">Polling
Consumer</a> which means there is more options you can configure, such as how
frequent the consumer should poll. For more details see <a shape="rect"
href="polling-consumer.html">Polling Consumer</a>.</p>
+ </div>
+ </div>
+<h3 id="Beanstalk-ConsumerHeaders"><span style="font-size: 16.0px;line-height:
1.5625;">Consumer Headers</span></h3><p>The consumer stores a number of job
headers in the Exchange message:</p><div class="confluenceTableSmall"><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Property</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><em>beanstalk.jobId</em></td><td colspan="1"
rowspan="1" class="confluenceTd">long</td><td colspan="1" rowspan="1"
class="confluenceTd">Job ID</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.tube</em></td><td colspan="1" rowspan="1"
class="confluenceTd">string</td><td colspan="1" rowspan="1"
class="confluenceTd">the name of the tube that contains this
job</td></tr><tr><td colspan="1" rowspan="1" class="confluen
ceTd"><em>beanstalk.state</em></td><td colspan="1" rowspan="1"
class="confluenceTd">string</td><td colspan="1" rowspan="1"
class="confluenceTd">“ready” or “delayed” or
“reserved” or “buried” (must be
“reserved”)</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.priority</em></td><td colspan="1"
rowspan="1" class="confluenceTd">long</td><td colspan="1" rowspan="1"
class="confluenceTd">the priority value set</td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><em>beanstalk.age</em></td><td colspan="1"
rowspan="1" class="confluenceTd">int</td><td colspan="1" rowspan="1"
class="confluenceTd">the time in seconds since the put command that created
this job</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.time-left</em></td><td colspan="1"
rowspan="1" class="confluenceTd">int</td><td colspan="1" rowspan="1"
class="confluenceTd">the number of seconds left until the serv
er puts this job into the ready queue</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.timeouts</em></td><td colspan="1"
rowspan="1" class="confluenceTd">int</td><td colspan="1" rowspan="1"
class="confluenceTd">the number of times this job has timed out during a
reservation</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.releases</em></td><td colspan="1"
rowspan="1" class="confluenceTd">int</td><td colspan="1" rowspan="1"
class="confluenceTd">the number of times a client has released this job from a
reservation</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.buries</em></td><td colspan="1" rowspan="1"
class="confluenceTd">int</td><td colspan="1" rowspan="1"
class="confluenceTd">the number of times this job has been
buried</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><em>beanstalk.kicks</em></td><td colspan="1" rowspan="1"
class="confluenceTd">int</td><td colspan="1" rowspan="1" class=
"confluenceTd">the number of times this job has been
kicked</td></tr></tbody></table></div></div><h3
id="Beanstalk-Examples">Examples</h3><p><span>This Camel component lets you
both request the jobs for processing and supply them to Beanstalkd daemon. Our
simple demo routes may look like</span></p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[from("beanstalk:testTube").
+ log("Processing job #${property.beanstalk.jobId} with body
${in.body}").
+ process(new Processor() {
+ @Override
+ public void process(Exchange exchange) {
+ // try to make integer value out of body
+ exchange.getIn().setBody(
Integer.valueOf(exchange.getIn().getBody(classOf[String])) );
+ }
+ }).
+ log("Parsed job #${property.beanstalk.jobId} to body
${in.body}");]]></script>
+</div></div><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
+<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[from("timer:dig?period=30seconds").
+ setBody(constant(10)).log("Kick ${in.body} buried/delayed tasks").
+ to("beanstalk:testTube?command=kick");]]></script>
+</div></div><p>In the first route we are listening for new jobs in tube
“testTube”. When they are arriving, we are trying to parse integer
value from the message body. If done successful, we log it and this successful
exchange completion makes Camel component to <em>delete</em> this job
from Beanstalk automatically. Contrary, when we cannot parse the job data, the
exchange failed and the Camel component <em>buries</em> it by
default, so that it can be processed later or probably we are going to inspect
failed jobs manually.</p><p>So the second route periodically requests Beanstalk
to <em>kick</em> 10 jobs out of buried and/or delayed state to the
normal queue.</p><p> </p><p></p><h3 id="Beanstalk-SeeAlso">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></div>
+ </td>
+ <td valign="top">
+ <div class="navigation">
+ <div class="navigation_top">
+ <!-- NavigationBar -->
+<div class="navigation_bottom" id="navigation_bottom"><h3
id="Navigation-Overview"><a shape="rect"
href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect"
href="index.html">Home</a></li><li><a shape="rect"
href="download.html">Download</a></li><li><a shape="rect"
href="getting-started.html">Getting Started</a></li><li><a shape="rect"
href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a
shape="rect" href="documentation.html">Documentation</a></h3><ul
class="alternate"><li><a shape="rect" href="user-guide.html">User
Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a
shape="rect" href="books.html">Books</a></li><li><a shape="rect"
href="tutorials.html">Tutorials</a></li><li><a shape="rect"
href="examples.html">Examples</a></li><li><a shape="rect"
href="cookbook.html">Cookbook</a></li><li><a shape="rect"
href="architecture.html">Architecture</a></li><li><a shape="rect"
href="enterprise-integration-patterns.html">Enterprise
Integration Patterns</a></li><li><a shape="rect"
href="dsl.html">DSL</a></li><li><a shape="rect"
href="components.html">Components</a></li><li><a shape="rect"
href="data-format.html">Data Format</a></li><li><a shape="rect"
href="languages.html">Languages</a></li><li><a shape="rect"
href="security.html">Security</a></li><li><a shape="rect"
href="security-advisories.html">Security Advisories</a></li></ul><h3
id="Navigation-Search">Search</h3><form
enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box"
action="http://www.google.com/cse">
+ <div>
+ <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
+ <input type="hidden" name="ie" value="UTF-8">
+ <input type="text" name="q" size="21">
+ <input type="submit" name="sa" value="Search">
+ </div>
+</form>
+<script type="text/javascript"
src="http://www.google.com/coop/cse/brand?form=cse-search-box&lang=en"></script><h3
id="Navigation-Community"><a shape="rect"
href="community.html">Community</a></h3><ul class="alternate"><li><a
shape="rect" href="support.html">Support</a></li><li><a shape="rect"
href="contributing.html">Contributing</a></li><li><a shape="rect"
href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect"
href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect"
href="user-stories.html">User Stories</a></li><li><a shape="rect"
href="news.html">News</a></li><li><a shape="rect"
href="articles.html">Articles</a></li><li><a shape="rect"
href="site.html">Site</a></li><li><a shape="rect"
href="team.html">Team</a></li><li><a shape="rect" class="external-link"
href="http://camel-extra.googlecode.com/" rel="nofollow">Camel
Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect"
href="developers.html">Developers</a></h3><ul class="alternate"
><li><a shape="rect" href="developers.html">Developer Guide</a></li><li><a
>shape="rect" href="source.html">Source</a></li><li><a shape="rect"
>href="building.html">Building</a></li><li><a shape="rect"
>href="javadoc.html">JavaDoc</a></li><li><a shape="rect"
>href="irc-room.html">IRC Room</a></li></ul><h3
>id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul
>class="alternate"><li><a shape="rect" class="external-link"
>href="http://www.apache.org/licenses/">License</a></li><li><a shape="rect"
>class="external-link"
>href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a
> shape="rect" class="external-link"
>href="http://www.apache.org/foundation/thanks.html">Thanks</a></li><li><a
>shape="rect" class="external-link"
>href="http://www.apache.org/security/">Security</a></li></ul></div>
+ <!-- NavigationBar -->
+ </div>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+
+ <div class="bottom_red_bar"></div>
+ </div>
+ </div>
+ </div>
+</div>
+<div class="black_box">
+<div class="footer">
+ <div class="footer_l">
+ <div class="footer_r">
+ <div>
+ <a href="$base/privacy-policy.html">Privacy Policy</a> -
+ (<a
href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=46632687">edit
page</a>)
+ (<a
href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=46632687&showComments=true&showCommentArea=true#addcomment">add
comment</a>)
+ </div>
+ </div>
+ </div>
+</div>
+</div>
+</div>
+<div class="design_attribution">
+© 2004-2014 The Apache Software Foundation.
+<br>
+Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel
project logo are trademarks of The Apache Software Foundation. All other marks
mentioned may be trademarks or registered trademarks of their respective owners.
+<br>
+<a href="http://hiramchirino.com">Graphic Design By Hiram</a>
+</div>
+
+<!-- Camel committers that would like access to the Analytics, send a note to
[email protected] -->
+<script type="text/javascript">
+
+ var _gaq = _gaq || [];
+ _gaq.push(['_setAccount', 'UA-25976253-1']);
+ _gaq.push(['_trackPageview']);
+
+ (function() {
+ var ga = document.createElement('script'); ga.type = 'text/javascript';
ga.async = true;
+ ga.src = ('https:' == document.location.protocol ? 'https://ssl' :
'http://www') + '.google-analytics.com/ga.js';
+ var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(ga, s);
+ })();
+
+</script>
+
+</body>
+</html>
+
+
Modified: websites/production/camel/content/book-architecture.html
==============================================================================
--- websites/production/camel/content/book-architecture.html (original)
+++ websites/production/camel/content/book-architecture.html Sun Sep 21
09:18:43 2014
@@ -172,7 +172,7 @@ Camel uses a Java based <a shape="rect"
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For
working with <a shape="rect" class="external-link"
href="http://aws.amazon.com/s3/" rel="nofollow">Amazon's Simple Storage Service
(S3)</a>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="bean.html">Bean</a> /
camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="theme: Default; brush: plain; gutter: false"
type="syntaxhighlighter"><![CDATA[bean:beanName[?options]
]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the
<a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message
exchanges to beans in the <a shape="rect" href="registry.html">Registry</a>. Is
also used for exposing and invoking POJO (Plain Old Java
Objects).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>Beanstalk<span> / camel-beanstalk</span></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the
<a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message
exchanges to beans in the <a shape="rect" href="registry.html">Registry</a>. Is
also used for exposing and invoking POJO (Plain Old Java
Objects).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect"
href="beanstalk.html">Beanstalk</a><span> / camel-beanstalk</span></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="theme: Default; brush: plain; gutter: false"
type="syntaxhighlighter"><![CDATA[beanstalk:hostname:port/tube[?options]
]]></script>
</div></div><p><span><br clear="none"></span></p></td><td colspan="1"
rowspan="1" class="confluenceTd">For working with <a shape="rect"
class="external-link" href="http://aws.amazon.com/elasticbeanstalk/"
rel="nofollow">Amazon's Beanstalk</a>.</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="bean-validator.html">Bean
Validator</a> / camel-bean-validator</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
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 Sep 21 09:18:43
2014
@@ -555,7 +555,7 @@ Camel uses a Java based <a shape="rect"
</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>For
working with <a shape="rect" class="external-link"
href="http://aws.amazon.com/s3/" rel="nofollow">Amazon's Simple Storage Service
(S3)</a>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="bean.html">Bean</a> /
camel-core</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="theme: Default; brush: plain; gutter: false"
type="syntaxhighlighter"><![CDATA[bean:beanName[?options]
]]></script>
-</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the
<a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message
exchanges to beans in the <a shape="rect" href="registry.html">Registry</a>. Is
also used for exposing and invoking POJO (Plain Old Java
Objects).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>Beanstalk<span> / camel-beanstalk</span></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses the
<a shape="rect" href="bean-binding.html">Bean Binding</a> to bind message
exchanges to beans in the <a shape="rect" href="registry.html">Registry</a>. Is
also used for exposing and invoking POJO (Plain Old Java
Objects).</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect"
href="beanstalk.html">Beanstalk</a><span> / camel-beanstalk</span></p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="theme: Default; brush: plain; gutter: false"
type="syntaxhighlighter"><![CDATA[beanstalk:hostname:port/tube[?options]
]]></script>
</div></div><p><span><br clear="none"></span></p></td><td colspan="1"
rowspan="1" class="confluenceTd">For working with <a shape="rect"
class="external-link" href="http://aws.amazon.com/elasticbeanstalk/"
rel="nofollow">Amazon's Beanstalk</a>.</td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><a shape="rect" href="bean-validator.html">Bean
Validator</a> / camel-bean-validator</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
@@ -4180,11 +4180,11 @@ While not actual tutorials you might fin
</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.rbtoc1411287443547 {padding: 0px;}
-div.rbtoc1411287443547 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1411287443547 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411291057485 {padding: 0px;}
+div.rbtoc1411291057485 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1411291057485 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1411287443547">
+/*]]>*/</style></p><div class="toc-macro rbtoc1411291057485">
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-JmsRemoting-TutorialonSpringRemotingwithJMS">Tutorial on Spring
Remoting with JMS</a></li><li><a shape="rect"
href="#Tutorial-JmsRemoting-Preface">Preface</a></li><li><a shape="rect"
href="#Tutorial-JmsRemoting-Prerequisites">Prerequisites</a></li><li><a
shape="rect"
href="#Tutorial-JmsRemoting-Distribution">Distribution</a></li><li><a
shape="rect" href="#Tutorial-JmsRemoting-About">About</a></li><li><a
shape="rect" href="#Tutorial-JmsRemoting-CreatetheCamelProject">Create the
Camel Project</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-JmsRemoting-UpdatethePOMwithDependencies">Update the POM with
Dependencies</a></li></ul>
</li><li><a shape="rect" href="#Tutorial-JmsRemoting-WritingtheServer">Writing
the Server</a>
@@ -6370,11 +6370,11 @@ So we completed the last piece in the pi
<style type="text/css">/*<![CDATA[*/
-div.rbtoc1411287444321 {padding: 0px;}
-div.rbtoc1411287444321 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1411287444321 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411291057783 {padding: 0px;}
+div.rbtoc1411291057783 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1411291057783 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style><div class="toc-macro rbtoc1411287444321">
+/*]]>*/</style><div class="toc-macro rbtoc1411291057783">
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-AXIS-Camel-TutorialusingAxis1.4withApacheCamel">Tutorial using
Axis 1.4 with Apache Camel</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-AXIS-Camel-Prerequisites">Prerequisites</a></li><li><a
shape="rect"
href="#Tutorial-AXIS-Camel-Distribution">Distribution</a></li><li><a
shape="rect"
href="#Tutorial-AXIS-Camel-Introduction">Introduction</a></li><li><a
shape="rect" href="#Tutorial-AXIS-Camel-SettinguptheprojecttorunAxis">Setting
up the project to run Axis</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#Tutorial-AXIS-Camel-Maven2">Maven 2</a></li><li><a shape="rect"
href="#Tutorial-AXIS-Camel-wsdl">wsdl</a></li><li><a shape="rect"
href="#Tutorial-AXIS-Camel-ConfiguringAxis">Configuring Axis</a></li><li><a
shape="rect" href="#Tutorial-AXIS-Camel-RunningtheExample">Running the
Example</a></li></ul>
@@ -17546,9 +17546,7 @@ from("file://inbox").sort(body
PollingConsumer consumer = endpoint.createPollingConsumer();
Exchange exchange = consumer.receive();
]]></script>
-</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also
available.</p><p>There are 3 main polling methods on <a shape="rect"
class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is
available and then returns it; potentially blocking
forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" class="external-link" href="http://camel.
apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message
exchange, waiting up to the given timeout and returning null if no message
exchange could be received within the time available</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message
exchange immediately without waiting and returning null if a message exchange
is not available yet</p></td></tr></tbody></table></div><h3
id="BookInOnePage-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer
Options</h3><p>The EventDrivePollingConsumer (the default implementation)
supports the following options:</p><d
iv class="confluenceTableSmall">
-<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>
<code>pollingConsumerQueueSize</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.14/2.13.1/2.12.4:</strong> The queue
size for the internal handoff queue between the polling consumer, and producers
sending data into the queue. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>pollingConsumerBlockWhenFull</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel
2.14/2.13.1/2.12/4:</strong> Whether to block
any producer if the internal queue is full.
</p></td></tr></tbody></table></div>
-</div><p>Notice that some Camel <a shape="rect"
href="components.html">Components</a> has their own implementation
of <code>PollingConsumer</code> and therefore do not support the options
above.</p><p>You can configure these options in endpoints <a shape="rect"
href="uris.html">URIs</a>, such as shown below:</p><div class="code panel pdl"
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The <code>ConsumerTemplate</code> (discussed below) is also
available.</p><p>There are 3 main polling methods on <a shape="rect"
class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Method name</p></th><th colspan="1"
rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive()">receive()</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Waits until a message is
available and then returns it; potentially blocking
forever</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a
shape="rect" class="external-link" href="http://camel.
apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receive(long)">receive(long)</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message
exchange, waiting up to the given timeout and returning null if no message
exchange could be received within the time available</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect"
class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html#receiveNoWait()">receiveNoWait()</a></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Attempts to receive a message
exchange immediately without waiting and returning null if a message exchange
is not available yet</p></td></tr></tbody></table></div><h3
id="BookInOnePage-EventDrivenPollingConsumerOptions">EventDrivenPollingConsumer
Options</h3><p>The EventDrivePollingConsumer (the default implementation)
supports the following options:</p><d
iv class="confluenceTableSmall"><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><code>pollingConsumerQueueSize</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel
2.14/2.13.1/2.12.4:</strong> The queue size for the internal handoff queue
between the polling consumer, and producers sending data into the
queue.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>pollingConsumerBlockWhenFull</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel
2.14/2.13.1/2.12/4:</strong> W
hether to block any producer if the internal queue is
full.</p></td></tr></tbody></table></div></div><p>Notice that some
Camel <a shape="rect" href="components.html">Components</a> has their
own implementation of <code>PollingConsumer</code> and therefore do not
support the options above.</p><p>You can configure these options in
endpoints <a shape="rect" href="uris.html">URIs</a>, such as shown
below:</p><div class="code panel pdl" style="border-width: 1px;"><div
class="codeContent panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[Endpoint endpoint =
context.getEndpoint("file:inbox?pollingConsumerQueueSize=50");
PollingConsumer consumer = endpoint.createPollingConsumer();
Exchange exchange = consumer.receive(5000);]]></script>
@@ -17659,10 +17657,7 @@ public static class MyCoolBean {
}
}
]]></script>
-</div></div><h3 id="BookInOnePage-ScheduledPollComponents">Scheduled Poll
Components</h3><p>Quite a few inbound Camel endpoints use a scheduled poll
pattern to receive messages and push them through the Camel processing routes.
That is to say externally from the client the endpoint appears to use an <a
shape="rect" href="event-driven-consumer.html">Event Driven Consumer</a> but
internally a scheduled poll is used to monitor some kind of state or resource
and then fire message exchanges.</p><p>Since this a such a common pattern,
polling components can extend the <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html">ScheduledPollConsumer</a>
base class which makes it simpler to implement this pattern.</p><p>There is
also the <a shape="rect" href="quartz.html">Quartz Component</a> which provides
scheduled delivery of messages using the Quartz enterprise scheduler.</p><p>For
more details see
:</p><ul><li><a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></li><li>Scheduled
Polling Components<ul><li><a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html">ScheduledPollConsumer</a></li><li><a
shape="rect" href="atom.html">Atom</a></li><li><a shape="rect"
href="file2.html">File</a></li><li><a shape="rect"
href="ftp2.html">FTP</a></li><li><a shape="rect"
href="hbase.html">hbase</a></li><li><a shape="rect"
href="ibatis.html">iBATIS</a></li><li><a shape="rect"
href="jpa.html">JPA</a></li><li><a shape="rect"
href="mail.html">Mail</a></li><li><a shape="rect"
href="mybatis.html">MyBatis</a></li><li><a shape="rect"
href="quartz.html">Quartz</a></li><li><a shape="rect"
href="snmp.html">SNMP</a></li><li><a shape="rect"
href="aws-s3.html">AWS-S3</a></li><li><a shape="rect" href="aws-s
qs.html">AWS-SQS</a></li></ul></li></ul><h3
id="BookInOnePage-ScheduledPollConsumerOptions">ScheduledPollConsumer
Options</h3><p>The ScheduledPollConsumer supports the following
options:</p><div class="confluenceTableSmall">
-<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>
<code>pollStrategy</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><ul class="alternate"></ul>
-</td><td colspan="1" rowspan="1" class="confluenceTd"><p> A pluggable
<code>org.apache.camel.PollingConsumerPollingStrategy</code> allowing you to
provide your custom implementation to control error handling usually occurred
during the <code>poll</code> operation <strong>before</strong> an <a
shape="rect" href="exchange.html">Exchange</a> have been created and being
routed in Camel. In other words the error occurred while the polling was
gathering information, for instance access to a file network failed so Camel
cannot access it to scan for files. The default implementation will log the
caused exception at <code>WARN</code> level and ignore it.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>sendEmptyMessageWhenIdle</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.9:</strong> If the polling
consumer did not poll any files, you can enable
this option to send an empty message (no body) instead. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>startScheduler</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>true</code>
</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Whether the
scheduler should be auto started. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>initialDelay</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>1000</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> Milliseconds before the first poll starts.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>delay</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>500</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> Milliseconds before the next poll.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>useFixedDelay</code> </p></td
><td colspan="1" rowspan="1" class="confluenceTd"><p> </p></td><td
>colspan="1" rowspan="1" class="confluenceTd"><p> Controls if fixed delay or
>fixed rate is used. See <a shape="rect" class="external-link"
>href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html"
> rel="nofollow">ScheduledExecutorService</a> in JDK for details. In
><strong>Camel 2.7.x</strong> or older the default value is
><code>false</code>. From <strong>Camel 2.8</strong> onwards the default value
>is <code>true</code>. </p></td></tr><tr><td colspan="1" rowspan="1"
>class="confluenceTd"><p> <code>timeUnit</code> </p></td><td colspan="1"
>rowspan="1" class="confluenceTd"><p> <code>TimeUnit.MILLISECONDS</code>
></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> time unit for
><code>initialDelay</code> and <code>delay</code> options.
></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
><code>runLoggingLevel</code> </p></td><td colspan="1" rowspan="1" cl
ass="confluenceTd"><p> <code>TRACE</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.8:</strong> The consumer logs a
start/complete log line when it polls. This option allows you to configure the
logging level for that. </p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>scheduledExecutorService</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.10:</strong>
Allows for configuring a custom/shared thread pool to use for the consumer. By
default each consumer has its own single threaded thread pool. This option
allows you to share a thread pool among multiple consumers.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>greedy</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.10.6/2.11.1:</strong> If greedy is enabled, then the ScheduledPollConsumer
will run immediately again, if the previous run polled 1 or more messages.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>scheduler</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.12:</strong> Allow to plugin a custom
<code>org.apache.camel.spi.ScheduledPollConsumerScheduler</code> to use as the
scheduler for firing when the polling consumer runs. The default implementation
uses the <code>ScheduledExecutorService</code> and there is a <a shape="rect"
href="quartz2.html">Quartz2</a>, and <a shape="rect"
href="spring.html">Spring</a> based which supports CRON expressions.
<strong>Notice:</strong> If using a custom scheduler then the options for
<code>initialDelay</code>, <code>useFixedDelay</code>, <code>timeUnit</code>,
and <code>scheduledExecutorService</code> ma
y not be in use. Use the text <code>quartz2</code> to refer to use the <a
shape="rect" href="quartz2.html">Quartz2</a> scheduler; and use the text
<code>spring</code> to use the <a shape="rect" href="spring.html">Spring</a>
based; and use the text <code>#myScheduler</code> to refer to a custom
scheduler by its id in the <a shape="rect" href="registry.html">Registry</a>.
See <a shape="rect" href="quartz2.html">Quartz2</a> page for an example.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>scheduler.xxx</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.12:</strong> To configure additional
properties when using a custom <code>scheduler</code> or any of the <a
shape="rect" href="quartz2.html">Quartz2</a>, <a shape="rect"
href="spring.html">Spring</a> based scheduler. </p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p> <code>b
ackoffMultiplier</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.12:</strong> To let the scheduled
polling consumer backoff if there has been a number of subsequent idles/errors
in a row. The multiplier is then the number of polls that will be skipped
before the next actual attempt is happening again. When this option is in use
then <code>backoffIdleThreshold</code> and/or
<code>backoffErrorThreshold</code> must also be configured.
</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>
<code>backoffIdleThreshold</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p> <strong>Camel 2.12:</strong> The number of subsequent
idle polls that should happen before the <code>backoffMultipler</code> should
kick-in. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenc
eTd"><p> <code>backoffErrorThreshold</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> <strong>Camel 2.12:</strong> The number of
subsequent error polls (failed due some error) that should happen before the
<code>backoffMultipler</code> should kick-in.
</p></td></tr></tbody></table></div>
-</div><h3
id="BookInOnePage-Usingbackofftolettheschedulerbelessaggressive">Using backoff
to let the scheduler be less aggressive</h3><p><strong>Available as of Camel
2.12</strong></p><p>The scheduled <a shape="rect"
href="polling-consumer.html">Polling Consumer</a> is by default static by using
the same poll frequency whether or not there is messages to pickup or not. From
Camel 2.12 onwards you can configure the scheduled <a shape="rect"
href="polling-consumer.html">Polling Consumer</a> to be more dynamic by using
backoff. This allows the scheduler to skip N number of polls when it becomes
idle, or there has been X number of errors in a row. See more details in the
table above for the <code>backoffXXX</code> options.</p><p>For example to let a
FTP consumer backoff if its becoming idle for a while you can do:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
+</div></div><h3 id="BookInOnePage-ScheduledPollComponents">Scheduled Poll
Components</h3><p>Quite a few inbound Camel endpoints use a scheduled poll
pattern to receive messages and push them through the Camel processing routes.
That is to say externally from the client the endpoint appears to use an <a
shape="rect" href="event-driven-consumer.html">Event Driven Consumer</a> but
internally a scheduled poll is used to monitor some kind of state or resource
and then fire message exchanges.</p><p>Since this a such a common pattern,
polling components can extend the <a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html">ScheduledPollConsumer</a>
base class which makes it simpler to implement this pattern.</p><p>There is
also the <a shape="rect" href="quartz.html">Quartz Component</a> which provides
scheduled delivery of messages using the Quartz enterprise scheduler.</p><p>For
more details see
:</p><ul><li><a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/PollingConsumer.html">PollingConsumer</a></li><li>Scheduled
Polling Components<ul><li><a shape="rect" class="external-link"
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/impl/ScheduledPollConsumer.html">ScheduledPollConsumer</a></li><li><a
shape="rect" href="atom.html">Atom</a></li><li><a shape="rect"
href="beanstalk.html">Beanstalk</a></li><li><a shape="rect"
href="file2.html">File</a></li><li><a shape="rect"
href="ftp2.html">FTP</a></li><li><a shape="rect"
href="hbase.html">hbase</a></li><li><a shape="rect"
href="ibatis.html">iBATIS</a></li><li><a shape="rect"
href="jpa.html">JPA</a></li><li><a shape="rect"
href="mail.html">Mail</a></li><li><a shape="rect"
href="mybatis.html">MyBatis</a></li><li><a shape="rect"
href="quartz.html">Quartz</a></li><li><a shape="rect"
href="snmp.html">SNMP</a></li><li><a shape="rect" href=
"aws-s3.html">AWS-S3</a></li><li><a shape="rect"
href="aws-sqs.html">AWS-SQS</a></li></ul></li></ul><h3
id="BookInOnePage-ScheduledPollConsumerOptions">ScheduledPollConsumer
Options</h3><p>The ScheduledPollConsumer supports the following
options:</p><div class="confluenceTableSmall"><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><code>pollStrategy</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"> </td><td colspan="1"
rowspan="1" class="confluenceTd"><p>A pluggable
<code>org.apache.camel.PollingConsumerPollingStrategy</code> allowing you to
provide your custom implementation to control error handling usually occurred
during the <code>poll</code> operation <strong>before</strong> an
<a shape="rect" href="exchange.html">Exchange</a> have been created and being
routed in Camel. In other words the error occurred while the polling was
gathering information, for instance access to a file network failed so Camel
cannot access it to scan for files. The default implementation will log the
caused exception at <code>WARN</code> level and ignore it.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>sendEmptyMessageWhenIdle</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.9:</strong> If
the polling consumer did not poll any files, you can enable this option to send
an empty message (no body) instead.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>startScheduler</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Whethe
r the scheduler should be auto started.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>initialDelay</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>1000</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Milliseconds before the first
poll starts.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>delay</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>500</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Milliseconds before the next poll.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>useFixedDelay</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p> </p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Controls if fixed delay or fixed rate is used. See <a
shape="rect" class="external-link"
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/concurrent/ScheduledExecutorService.html"
rel="nofoll
ow">ScheduledExecutorService</a> in JDK for details. In <strong>Camel
2.7.x</strong> or older the default value is <code>false</code>. From
<strong>Camel 2.8</strong> onwards the default value is
<code>true</code>.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>timeUnit</code></p></td><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>TimeUnit.MILLISECONDS</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>time unit for
<code>initialDelay</code> and <code>delay</code> options.</p></td></tr><tr><td
colspan="1" rowspan="1"
class="confluenceTd"><p><code>runLoggingLevel</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>TRACE</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The consumer
logs a start/complete log line when it polls. This option allows you to
configure the logging level for that.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>s
cheduledExecutorService</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p><strong>Camel 2.10:</strong> Allows for configuring a
custom/shared thread pool to use for the consumer. By default each consumer has
its own single threaded thread pool. This option allows you to share a thread
pool among multiple consumers.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>greedy</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.10.6/2.11.1:</strong> If greedy is
enabled, then the ScheduledPollConsumer will run immediately again, if the
previous run polled 1 or more messages.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>scheduler</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td
colspan="
1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> Allow to
plugin a custom
<code>org.apache.camel.spi.ScheduledPollConsumerScheduler</code> to use as the
scheduler for firing when the polling consumer runs. The default implementation
uses the <code>ScheduledExecutorService</code> and there is a <a shape="rect"
href="quartz2.html">Quartz2</a>, and <a shape="rect"
href="spring.html">Spring</a> based which supports CRON expressions.
<strong>Notice:</strong> If using a custom scheduler then the options for
<code>initialDelay</code>, <code>useFixedDelay</code>, <code>timeUnit</code>,
and <code>scheduledExecutorService</code> may not be in use. Use the text
<code>quartz2</code> to refer to use the <a shape="rect"
href="quartz2.html">Quartz2</a> scheduler; and use the text <code>spring</code>
to use the <a shape="rect" href="spring.html">Spring</a> based; and use the
text <code>#myScheduler</code> to refer to a custom scheduler by its id in the
<a shape="rect" href="regis
try.html">Registry</a>. See <a shape="rect" href="quartz2.html">Quartz2</a>
page for an example.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>scheduler.xxx</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> To configure
additional properties when using a custom <code>scheduler</code> or any of the
<a shape="rect" href="quartz2.html">Quartz2</a>, <a shape="rect"
href="spring.html">Spring</a> based scheduler.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p><code>backoffMultiplier</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> To
let the scheduled polling consumer backoff if there has been a number of
subsequent idles/errors in a row. The multiplier is then the number of polls
that will be ski
pped before the next actual attempt is happening again. When this option is in
use then <code>backoffIdleThreshold</code> and/or
<code>backoffErrorThreshold</code> must also be
configured.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p><code>backoffIdleThreshold</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
The number of subsequent idle polls that should happen before the
<code>backoffMultipler</code> should kick-in.</p></td></tr><tr><td colspan="1"
rowspan="1"
class="confluenceTd"><p><code>backoffErrorThreshold</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong>
The number of subsequent error polls (failed due some error) that should happen
before the <code>backoffMultipler</code> should
kick-in.</p></td></tr></tbody></t
able></div></div><h3
id="BookInOnePage-Usingbackofftolettheschedulerbelessaggressive">Using backoff
to let the scheduler be less aggressive</h3><p><strong>Available as of Camel
2.12</strong></p><p>The scheduled <a shape="rect"
href="polling-consumer.html">Polling Consumer</a> is by default static by using
the same poll frequency whether or not there is messages to pickup or not. From
Camel 2.12 onwards you can configure the scheduled <a shape="rect"
href="polling-consumer.html">Polling Consumer</a> to be more dynamic by using
backoff. This allows the scheduler to skip N number of polls when it becomes
idle, or there has been X number of errors in a row. See more details in the
table above for the <code>backoffXXX</code> options.</p><p>For example to let a
FTP consumer backoff if its becoming idle for a while you can do:</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent
panelContent pdl">
<script class="theme: Default; brush: java; gutter: false"
type="syntaxhighlighter"><![CDATA[
from("ftp://myserver?username=foo&passowrd=secret?delete=true&delay=5s&backoffMultiplier=6&backoffIdleThreshold=5")
.to("bean:processFile");
]]></script>
@@ -19903,11 +19898,11 @@ template.send("direct:alias-verify&
</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.rbtoc1411287451423 {padding: 0px;}
-div.rbtoc1411287451423 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1411287451423 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1411291063011 {padding: 0px;}
+div.rbtoc1411291063011 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1411291063011 li {margin-left: 0px;padding-left: 0px;}
-/*]]>*/</style></p><div class="toc-macro rbtoc1411287451423">
+/*]]>*/</style></p><div class="toc-macro rbtoc1411291063011">
<ul class="toc-indentation"><li><a shape="rect" href="#CXF-CXFComponent">CXF
Component</a>
<ul class="toc-indentation"><li><a shape="rect" href="#CXF-URIformat">URI
format</a></li><li><a shape="rect" href="#CXF-Options">Options</a>
<ul class="toc-indentation"><li><a shape="rect"
href="#CXF-Thedescriptionsofthedataformats">The descriptions of the
dataformats</a>