Modified: websites/production/camel/content/camel-219-release.html
==============================================================================
--- websites/production/camel/content/camel-219-release.html (original)
+++ websites/production/camel/content/camel-219-release.html Mon Nov  7 
10:20:50 2016
@@ -85,7 +85,7 @@
        <tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 
id="Camel2.19Release-Camel2.19.0Release(currentlyinprogress)">Camel 2.19.0 
Release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://camel.apache.org/images/camel-box-small.png"; 
data-image-src="http://camel.apache.org/images/camel-box-small.png";></span></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.19Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 
2.19.0 release which approx XXX issues resolved (new features, improvements and 
bug fixes such 
as...)</p><ul><li>Returning&#160;<code>null</code>&#160;from&#160;<a 
shape="rect" href="bean.html">Bean</a> should work similar to 
how&#160;<code>setBody</code>&#160;and&#160;<code>transform</code>&#160;works 
when they set a&#160;<code>null</code>&#160;body.</li><li>The Camel Spring Boot 
starter components 
 now have their auto configuration depends 
on&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> which 
makes it easier writing unit tests where you can 
exclude&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> to 
turn off Camel Spring Boot auto configuration completely.</li><li>Camel now 
supports OWASP dependency check maven plugin</li><li>Camel-Nats component now 
supports TLS</li><li>Camel-Metrics component now supports Gauge 
type</li></ul><p>Fixed these issues</p><ul><li>Fixed&#160;<a shape="rect" 
href="hystrix-eip.html">Hystrix EIP</a> to also execute fallback if execution 
was rejected or short-circuited or other reasons from 
Hystrix.&#160;</li><li>Fixed adding new routes to running CamelContext and if 
the new routes would fail to startup, then before these routes would "hang 
around". Now only succesful started routes are added.</li><li>Adding or 
removing routes that starts from&#160;<a shape="rect" 
href="undertow.html">Undertow</a> no longer r
 estart the entire HTTP server</li><li><a shape="rect" href="vm.html">VM</a> 
endpoint should prepare exchange with the CamelContext from the consumer and 
not from cached endpoint which can be different</li><li>Fixed a bug when 
using&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a 
shape="rect" href="servlet.html">SERVLET</a> could cause a java.io.IOException: 
Stream closed exception when using <a shape="rect" 
href="bean.html">Bean</a>&#160;in the route.&#160;</li><li>Fixed an issue when 
using&#160;<code>pipeline</code> in Java DSL not setting up the EIP correctly 
which could lead to runtime route not as intended.</li></ul><h3 
id="Camel2.19Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.19Release-New.1">New <a shape="rect" 
href="components.html">Components</a></h3><ul><li>camel-bonita -&#160;allow you 
to communicate with a remote Bonita engine.</li></ul><h3 
id="Camel2.19Release-NewDS
 L">New DSL</h3><h3 id="Camel2.19Release-NewAnnotations">New 
Annotations</h3><h3 id="Camel2.19Release-New.2">New <a shape="rect" 
href="data-format.html">Data Format</a></h3><h3 id="Camel2.19Release-New.3">New 
<a shape="rect" href="languages.html">Languages</a></h3><h3 
id="Camel2.19Release-New.4">New <a shape="rect" 
href="examples.html">Examples</a></h3><h3 id="Camel2.19Release-New.5">New <a 
shape="rect" href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.19Release-APIbreaking">API breaking</h2><h2 
id="Camel2.19Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.19Release-Importantchangestoconsiderwhenupgrading">Important changes 
to consider when upgrading</h2><ul><li>Camel now uses Karaf 4.x API and 
therefore not possible to run on older Karaf versions</li><li>camel-spring-boot 
now don't include prototype scoped beans when auto scanning for RouteBuilder 
instances, which is how camel-spring works. You can turn this back using 
the&#160;includeNonSingletons option.</li></ul><h2 id="
 Camel2.19Release-GettingtheDistributions">Getting the Distributions</h2><h3 
id="Camel2.19Release-BinaryDistributions">Binary Distributions</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>PGP Signature file of 
download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip";>apache-camel-x.y.x.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc";>apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td
 colspan="1" rows
 pan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz";>apache-camel-x.y.x.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc";>apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div
 class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The above URLs use the Apache 
Mirror system to redirect you to a suitable mirror for your download. Some 
users have experienced issues with some versions of browsers (e.g. so
 me Safari browsers). If the download doesn't seem to work for you from the 
above URL then try using <a shape="rect" class="external-link" 
href="http://www.mozilla.com/en-US/firefox/"; 
rel="nofollow">FireFox</a></p></div></div><h3 
id="Camel2.19Release-SourceDistributions">Source Distributions</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>PGP Signature file of 
download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip";>apache-camel-x.y.x-src.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" h
 
ref="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc";>apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.19Release-GettingtheBinariesusingMaven2">Getting the Binaries using 
Maven 2</h3><p>To use this release in your maven project, the proper dependency 
configuration that you should use in your <a shape="rect" class="external-link" 
href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html";>Maven
 POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h1 
id="Camel2.19Release-Camel2.19.0Release(currentlyinprogress)">Camel 2.19.0 
Release (currently in progress)</h1><div 
style="padding-right:20px;float:left;margin-left:-20px;"><span 
class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image 
confluence-external-resource" 
src="http://camel.apache.org/images/camel-box-small.png"; 
data-image-src="http://camel.apache.org/images/camel-box-small.png";></span></div><div
 style="min-height:200px">&#160;</div><h2 
id="Camel2.19Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 
2.19.0 release which approx XXX issues resolved (new features, improvements and 
bug fixes such 
as...)</p><ul><li>Returning&#160;<code>null</code>&#160;from&#160;<a 
shape="rect" href="bean.html">Bean</a> should work similar to 
how&#160;<code>setBody</code>&#160;and&#160;<code>transform</code>&#160;works 
when they set a&#160;<code>null</code>&#160;body.</li><li>The Camel Spring Boot 
starter components 
 now have their auto configuration depends 
on&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> which 
makes it easier writing unit tests where you can 
exclude&#160;<code>org.apache.camel.springboot.CamelAutoConfiguration</code> to 
turn off Camel Spring Boot auto configuration completely.</li><li>Camel now 
supports OWASP dependency check maven plugin</li><li>Camel-Nats component now 
supports TLS</li><li>Camel-Metrics component now supports Gauge type</li><li><a 
shape="rect" href="file2.html">File&#160;consumer</a> now supports 
idempotent-changed and idempotent-rename read lock strategies for 
clustering.&#160;</li></ul><p>Fixed these issues</p><ul><li>Fixed&#160;<a 
shape="rect" href="hystrix-eip.html">Hystrix EIP</a> to also execute fallback 
if execution was rejected or short-circuited or other reasons from 
Hystrix.&#160;</li><li>Fixed adding new routes to running CamelContext and if 
the new routes would fail to startup, then before these routes would "hang 
around". 
 Now only succesful started routes are added.</li><li>Adding or removing routes 
that starts from&#160;<a shape="rect" href="undertow.html">Undertow</a> no 
longer restart the entire HTTP server</li><li><a shape="rect" 
href="vm.html">VM</a> endpoint should prepare exchange with the CamelContext 
from the consumer and not from cached endpoint which can be 
different</li><li>Fixed a bug when using&#160;<a shape="rect" 
href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" 
href="servlet.html">SERVLET</a> could cause a java.io.IOException: Stream 
closed exception when using <a shape="rect" href="bean.html">Bean</a>&#160;in 
the route.&#160;</li><li>Fixed an issue when using&#160;<code>pipeline</code> 
in Java DSL not setting up the EIP correctly which could lead to runtime route 
not as intended.</li></ul><h3 id="Camel2.19Release-New">New <a shape="rect" 
href="enterprise-integration-patterns.html">Enterprise Integration 
Patterns</a></h3><h3 id="Camel2.19Release-New.1">New <a shape="rect" h
 ref="components.html">Components</a></h3><ul><li>camel-bonita -&#160;allow you 
to communicate with a remote Bonita engine.</li></ul><h3 
id="Camel2.19Release-NewDSL">New DSL</h3><h3 
id="Camel2.19Release-NewAnnotations">New Annotations</h3><h3 
id="Camel2.19Release-New.2">New <a shape="rect" href="data-format.html">Data 
Format</a></h3><h3 id="Camel2.19Release-New.3">New <a shape="rect" 
href="languages.html">Languages</a></h3><h3 id="Camel2.19Release-New.4">New <a 
shape="rect" href="examples.html">Examples</a></h3><h3 
id="Camel2.19Release-New.5">New <a shape="rect" 
href="tutorials.html">Tutorials</a></h3><h2 
id="Camel2.19Release-APIbreaking">API breaking</h2><h2 
id="Camel2.19Release-KnownIssues">Known Issues</h2><h2 
id="Camel2.19Release-Importantchangestoconsiderwhenupgrading">Important changes 
to consider when upgrading</h2><ul><li>Camel now uses Karaf 4.x API and 
therefore not possible to run on older Karaf versions</li><li>camel-spring-boot 
now don't include prototype scoped beans wh
 en auto scanning for RouteBuilder instances, which is how camel-spring works. 
You can turn this back using the&#160;includeNonSingletons option.</li></ul><h2 
id="Camel2.19Release-GettingtheDistributions">Getting the Distributions</h2><h3 
id="Camel2.19Release-BinaryDistributions">Binary Distributions</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>PGP Signature file of 
download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip";>apache-camel-x.y.x.zip</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="externa
 l-link" 
href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc";>apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td
 colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin 
Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a 
shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz";>apache-camel-x.y.x.tar.gz</a></p></td><td
 colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc";>apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div
 class="confluence-information-macro 
confluence-information-macro-information"><p class="title">The above URLs use 
redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info 
confluence-information-macro-icon"></span><div 
class="confluence-information-macro-body"><p>The above UR
 Ls use the Apache Mirror system to redirect you to a suitable mirror for your 
download. Some users have experienced issues with some versions of browsers 
(e.g. some Safari browsers). If the download doesn't seem to work for you from 
the above URL then try using <a shape="rect" class="external-link" 
href="http://www.mozilla.com/en-US/firefox/"; 
rel="nofollow">FireFox</a></p></div></div><h3 
id="Camel2.19Release-SourceDistributions">Source Distributions</h3><div 
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" 
rowspan="1" class="confluenceTh"><p>PGP Signature file of 
download</p></th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Source (zip)</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><a shape="rect" class="external-link" 
href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.
 y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" 
class="external-link" 
href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc";>apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><h3
 id="Camel2.19Release-GettingtheBinariesusingMaven2">Getting the Binaries using 
Maven 2</h3><p>To use this release in your maven project, the proper dependency 
configuration that you should use in your <a shape="rect" class="external-link" 
href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html";>Maven
 POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Modified: websites/production/camel/content/file2.html
==============================================================================
--- websites/production/camel/content/file2.html (original)
+++ websites/production/camel/content/file2.html Mon Nov  7 10:20:50 2016
@@ -101,7 +101,7 @@
        <script class="brush: java; gutter: false; theme: Default" 
type="syntaxhighlighter">idempotentKey=${file:name}-${file:size}</script> 
       </div>
      </div></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>idempotentRepository</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A pluggable repository <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html";><code>org.apache.camel.spi.IdempotentRepository</code></a>
 which by default use <strong><code>MemoryMessageIdRepository</code></strong> 
if none is specified and <strong><code>idempotent</code></strong> is 
<strong><code>true</code>.</strong></p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>inProgressRepository</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>memory</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A pluggable in-progress 
repository <a shape="rect" class="external-link" href="http://camel.
 
apache.org/maven/current/camel-core/apidocs/org/apache/camel/spi/IdempotentRepository.html"><code>org.apache.camel.spi.IdempotentRepository</code></a>
 . The in-progress repository is used to account the current in progress files 
being consumed. By default a memory based repository is 
used.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>filter</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Pluggable filter as a 
<strong><code>org.apache.camel.component.file.GenericFileFilter</code></strong> 
class. Will skip files if filter returns <strong><code>false</code></strong> in 
its <strong><code>accept()</code></strong> method. More details in section 
below.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>filterDirectory</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" cla
 ss="confluenceTd"><p><strong>Camel 2.18</strong>: Filters the directory based 
on <a shape="rect" href="simple.html">Simple</a> language. For example to 
filter on current date, you can use a simple date pattern such 
as&#160;<strong><code>${date:now:yyyMMdd</code>}.</strong></p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>filterFile</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.18:</strong> Filters the 
file based on <a shape="rect" href="simple.html">Simple</a> language. For 
example to filter on file size, you can use&#160;<strong><code>${file}:size 
&gt; 5000</code></strong>.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>shuffle</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.16:</strong> To shuffle the 
l
 ist of files (sort in random order).</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>sorter</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Pluggable sorter as a <a shape="rect" 
class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Comparator.html"; 
rel="nofollow"><code>java.util.Comparator&lt;org.apache.camel.component.file.GenericFile&gt;</code></a>
 class.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>sortBy</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Built-in sort using the <a shape="rect" 
href="file-language.html">File Language</a>. Supports nested sorts, so you can 
have a sort by file name and as a 2nd group sort by modified date. See sorting 
section below for details.</p></td></tr><tr><td colspan="1" rows
 pan="1" class="confluenceTd"><p><code>readLock</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>none</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>Used by consumer, to only poll the files if 
it has exclusive read-lock on the file e.g., the file is not in-progress or 
being written. Camel will wait until the file lock is granted.</p><p>This 
option provides the built-in strategies:</p>
-     <ul><li><strong><code>none</code></strong><span> is for no read locks at 
all.</span></li><li><strong><code style="line-height: 1.4285715;"> 
markerFile</code></strong><span style="line-height: 1.4285715;"> Camel creates 
a marker file&#160;<strong><code>fileName.camelLock</code></strong> and then 
holds a lock on it. This option is </span><strong style="line-height: 
1.4285715;">not</strong><span style="line-height: 1.4285715;"> available for 
the </span><a shape="rect" href="ftp2.html">FTP</a><span style="line-height: 
1.4285715;"> component. </span></li><li><strong><code>changed</code></strong> 
is using file length/modification timestamp to detect whether the file is 
currently being copied or not. Will at least use 1 sec. to determine this, so 
this option cannot consume files as fast as the others, but can be more 
reliable as the JDK IO API cannot always determine whether a file is currently 
being used by another process. The option 
<strong><code>readLockCheckInterval</code></stron
 g> can be used to set the check frequency. This option is 
<strong>only</strong> avail for the <a shape="rect" href="ftp2.html">FTP</a> 
component from <strong>Camel 2.8</strong> onward. Note: from <strong>Camel 
2.10.1</strong> onward the <a shape="rect" href="ftp2.html">FTP</a> option 
<strong><code>fastExistsCheck</code></strong> can be enabled to speedup 
this&#160;<strong><code>readLock</code></strong> strategy, if the FTP server 
support the LIST operation with a full file name (some servers may 
not).</li><li><strong><code>fileLock</code></strong> is for using 
<strong><code>java.nio.channels.FileLock</code></strong>. This option is 
<strong>not</strong> avail for the <a shape="rect" href="ftp2.html">FTP</a> 
component. This approach should be avoided when accessing a remote file system 
via a mount/share unless that file system supports distributed file 
locks.</li><li><strong><code>rename</code></strong> is for using a try to 
rename the file as a test if we can get exclusive read-lock.
 </li><li><strong><code style="line-height: 
1.4285715;">idempotent</code></strong><span style="line-height: 1.4285715;"> 
<strong>Camel 2.16</strong> (only file component) is for using a 
<strong><code>idempotentRepository</code></strong> as the read-lock. This 
allows to use read locks that supports clustering if the idempotent repository 
implementation supports that. </span></li></ul><p><strong>Warning</strong>: 
most of the read lock strategies are not suitable for use in clustered mode. 
That is, you cannot have multiple consumers attempting to read the same file in 
the same directory. In this case, the read locks will not function reliably. 
The idempotent read lock supports clustered reliably if you use a cluster aware 
idempotent repository implementation such as from <a shape="rect" 
href="hazelcast-component.html">Hazelcast Component</a> or <a shape="rect" 
href="infinispan.html">Infinispan</a>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>readLockTimeou
 t</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>10000</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>Optional timeout in milliseconds for the 
<strong><code>readLock</code></strong>, if supported. If the read-lock could 
not be granted and the timeout triggered, then Camel will skip the file. At 
next poll Camel, will try the file again, and this time maybe the read-lock 
could be granted. Use a value of&#160;<strong><code>0</code></strong> or lower 
to indicate forever. In <strong>Camel 2.0</strong> the default value is 
<strong><code>0</code></strong>. Starting with <strong>Camel 2.1</strong> the 
default value is <strong><code>10000</code></strong>. Currently 
<strong><code>fileLock</code>, </strong><code>changed</code> and 
<strong><code>rename</code></strong> support the 
timeout.</p><p><strong>Note:</strong> for <a shape="rect" 
href="ftp2.html">FTP</a> the default 
<strong><code>readLockTimeout</code></strong> value is <strong><code>20000</c
 ode></strong> instead of <strong><code>10000</code></strong>. 
The&#160;<strong><code>readLockTimeout</code></strong> value must be higher 
than <strong><code>readLockCheckInterval</code></strong>, but a rule of thumb 
is to have a timeout that is at least 2 or more times higher than the 
<strong><code>readLockCheckInterval</code></strong>. This is needed to ensure 
that ample time is allowed for the read lock process to try to grab the lock 
before the timeout was hit.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>readLockCheckInterval</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.6:</strong> 
Interval in milliseconds for the read-lock, if supported by the read lock. This 
interval is used for sleeping between attempts to acquire the read lock. For 
example when using the <code>changed</code> read lock, you can set a higher 
interval period to cater 
 for <em>slow writes</em>. The default of 1 sec. may be <em>too fast</em> if 
the producer is very slow writing the file. For <a shape="rect" 
href="ftp2.html">FTP</a> the default 
<strong><code>readLockCheckInterval</code></strong> is 
<strong><code>5000</code></strong>. 
<span>The&#160;<strong><code>readLockTimeout</code></strong> value must be 
higher than&#160;<strong><code>readLockCheckInterval</code></strong>, but a 
rule of thumb is to have a timeout that is at least 2 or more times higher than 
the&#160;<strong><code>readLockCheckInterval</code></strong>. This is needed to 
ensure that ample time is allowed for the read lock process to try to grab the 
lock before the timeout was hit.</span></p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>readLockMinLength</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10.1:</strong> 
This option applied only for <str
 ong><code>readLock=changed</code></strong>. This option allows you to 
configure a minimum file length. By default Camel expects the file to contain 
data, and thus the default value is <strong>1</strong>. You can set this option 
to zero, to allow consuming zero-length files.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>readLockMinAge</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.15</strong>: 
This option applies only to <strong><code>readLock=change</code></strong>. This 
option allows you to specify a minimum age a file must be before attempting to 
acquire the read lock. For example, 
use&#160;<strong><code>readLockMinAge=300s</code></strong> to require that the 
file is at least 5 minutes old. This can speedup the poll when the file is old 
enough as it will acquire the read lock immediately. Notice for FTP: file 
timestamps reported by FTP servers
  are often reported with resolution of minutes, 
so&#160;<strong><code>readLockMinAge</code></strong> parameter should be 
defined in minutes, e.g. <strong>60000</strong> for 1 minute. Notice that Camel 
supports specifying this as <strong><code>60s</code></strong>, or 
<strong><code>1m</code></strong>, etc.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>readLockLoggingLevel</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>WARN</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> 
Logging level used when a read lock could not be acquired. By default 
a&#160;<strong><code>WARN</code></strong> is logged. You can change this level, 
for example to OFF to not have any logging.</p><p>This option is only 
applicable for the <strong><code>readLock</code></strong> types:</p>
+     <ul><li><strong><code>none</code></strong><span> is for no read locks at 
all.</span></li><li><strong><code style="line-height: 1.4285715;"> 
markerFile</code></strong><span style="line-height: 1.4285715;"> Camel creates 
a marker file&#160;<strong><code>fileName.camelLock</code></strong> and then 
holds a lock on it. This option is </span><strong style="line-height: 
1.4285715;">not</strong><span style="line-height: 1.4285715;"> available for 
the </span><a shape="rect" href="ftp2.html">FTP</a><span style="line-height: 
1.4285715;"> component. </span></li><li><strong><code>changed</code></strong> 
is using file length/modification timestamp to detect whether the file is 
currently being copied or not. Will at least use 1 sec. to determine this, so 
this option cannot consume files as fast as the others, but can be more 
reliable as the JDK IO API cannot always determine whether a file is currently 
being used by another process. The option 
<strong><code>readLockCheckInterval</code></stron
 g> can be used to set the check frequency. This option is 
<strong>only</strong> avail for the <a shape="rect" href="ftp2.html">FTP</a> 
component from <strong>Camel 2.8</strong> onward. Note: from <strong>Camel 
2.10.1</strong> onward the <a shape="rect" href="ftp2.html">FTP</a> option 
<strong><code>fastExistsCheck</code></strong> can be enabled to speedup 
this&#160;<strong><code>readLock</code></strong> strategy, if the FTP server 
support the LIST operation with a full file name (some servers may 
not).</li><li><strong><code>fileLock</code></strong> is for using 
<strong><code>java.nio.channels.FileLock</code></strong>. This option is 
<strong>not</strong> avail for the <a shape="rect" href="ftp2.html">FTP</a> 
component. This approach should be avoided when accessing a remote file system 
via a mount/share unless that file system supports distributed file 
locks.</li><li><strong><code>rename</code></strong> is for using a try to 
rename the file as a test if we can get exclusive read-lock.
 </li><li><strong><code style="line-height: 
1.4285715;">idempotent</code></strong><span style="line-height: 1.4285715;"> 
<strong>Camel 2.16</strong> (only file component) is for using a 
<strong><code>idempotentRepository</code></strong> as the read-lock. This 
allows to use read locks that supports clustering if the idempotent repository 
implementation supports that. 
</span></li><li><strong><code>idempotent-changed</code></strong><span> 
<strong>Camel 2.19</strong> (only file component) is for using a 
<strong><code>idempotentRepository</code></strong> and changed as combined 
read-lock. This allows to use read locks that supports clustering if the 
idempotent repository implementation supports that. 
</span></li><li><strong><code>idempotent-rename</code></strong><span> 
<strong>Camel 2.19</strong> (only file component) is for using a 
<strong><code>idempotentRepository</code></strong> and rename as combined 
read-lock. This allows to use read locks that supports clustering if the 
idempotent 
 repository implementation supports that. </span><span style="line-height: 
1.4285715;"><br clear="none"></span></li></ul><p><strong>Warning</strong>: most 
of the read lock strategies are not suitable for use in clustered mode. That 
is, you cannot have multiple consumers attempting to read the same file in the 
same directory. In this case, the read locks will not function reliably. The 
idempotent read lock supports clustered reliably if you use a cluster aware 
idempotent repository implementation such as from <a shape="rect" 
href="hazelcast-component.html">Hazelcast Component</a> or <a shape="rect" 
href="infinispan.html">Infinispan</a>.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>readLockTimeout</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>10000</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Optional timeout in 
milliseconds for the <strong><code>readLock</code></strong>, if supported. If 
the read-lock could
  not be granted and the timeout triggered, then Camel will skip the file. At 
next poll Camel, will try the file again, and this time maybe the read-lock 
could be granted. Use a value of&#160;<strong><code>0</code></strong> or lower 
to indicate forever. In <strong>Camel 2.0</strong> the default value is 
<strong><code>0</code></strong>. Starting with <strong>Camel 2.1</strong> the 
default value is <strong><code>10000</code></strong>. Currently 
<strong><code>fileLock</code>, </strong><code>changed</code> and 
<strong><code>rename</code></strong> support the 
timeout.</p><p><strong>Note:</strong> for <a shape="rect" 
href="ftp2.html">FTP</a> the default 
<strong><code>readLockTimeout</code></strong> value is 
<strong><code>20000</code></strong> instead of 
<strong><code>10000</code></strong>. 
The&#160;<strong><code>readLockTimeout</code></strong> value must be higher 
than <strong><code>readLockCheckInterval</code></strong>, but a rule of thumb 
is to have a timeout that is at least 2 or more t
 imes higher than the <strong><code>readLockCheckInterval</code></strong>. This 
is needed to ensure that ample time is allowed for the read lock process to try 
to grab the lock before the timeout was hit.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>readLockCheckInterval</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.6:</strong> 
Interval in milliseconds for the read-lock, if supported by the read lock. This 
interval is used for sleeping between attempts to acquire the read lock. For 
example when using the <code>changed</code> read lock, you can set a higher 
interval period to cater for <em>slow writes</em>. The default of 1 sec. may be 
<em>too fast</em> if the producer is very slow writing the file. For <a 
shape="rect" href="ftp2.html">FTP</a> the default 
<strong><code>readLockCheckInterval</code></strong> is 
<strong><code>5000</code></strong
 >. <span>The&#160;<strong><code>readLockTimeout</code></strong> value must be 
 >higher than&#160;<strong><code>readLockCheckInterval</code></strong>, but a 
 >rule of thumb is to have a timeout that is at least 2 or more times higher 
 >than the&#160;<strong><code>readLockCheckInterval</code></strong>. This is 
 >needed to ensure that ample time is allowed for the read lock process to try 
 >to grab the lock before the timeout was hit.</span></p></td></tr><tr><td 
 >colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>readLockMinLength</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><code>1</code></p></td><td 
 >colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 
 >2.10.1:</strong> This option applied only for 
 ><strong><code>readLock=changed</code></strong>. This option allows you to 
 >configure a minimum file length. By default Camel expects the file to contain 
 >data, and thus the default value is <strong>1</strong>. You can set this 
 >option to zero, to allow consuming zero-leng
 th files.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>readLockMinAge</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.15</strong>: This option 
applies only to <strong><code>readLock=change</code></strong>. This option 
allows you to specify a minimum age a file must be before attempting to acquire 
the read lock. For example, 
use&#160;<strong><code>readLockMinAge=300s</code></strong> to require that the 
file is at least 5 minutes old. This can speedup the poll when the file is old 
enough as it will acquire the read lock immediately. Notice for FTP: file 
timestamps reported by FTP servers are often reported with resolution of 
minutes, so&#160;<strong><code>readLockMinAge</code></strong> parameter should 
be defined in minutes, e.g. <strong>60000</strong> for 1 minute. Notice that 
Camel supports specifying this as <strong><code>60s</code></strong>, o
 r <strong><code>1m</code></strong>, etc.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>readLockLoggingLevel</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>WARN</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.12:</strong> 
Logging level used when a read lock could not be acquired. By default 
a&#160;<strong><code>WARN</code></strong> is logged. You can change this level, 
for example to OFF to not have any logging.</p><p>This option is only 
applicable for the <strong><code>readLock</code></strong> types:</p>
      
<ul><li><strong><code>changed</code></strong></li><li><strong><code>fileLock</code></strong></li><li><strong><code>rename</code></strong></li></ul></td></tr><tr><td
 colspan="1" rowspan="1" 
class="confluenceTd"><p><code>readLockMarkerFile</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:</strong> Whether to use 
marker file with the <strong><code>changed</code>, 
<code>rename</code></strong>, or <strong><code>exclusive</code></strong> read 
lock types. By default a marker file is used as well to guard against other 
processes picking up the same files. This behavior can be turned off by setting 
this option to <strong><code>false</code></strong>. For example if you do not 
want to write marker files to the file systems by the Camel 
application.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>readLockRemoveOnRollback</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.16:</strong> 
This option applied only for <strong><code>readLock=idempotent</code></strong>. 
This option allows to specify whether to remove the file name entry from the 
idempotent repository when processing the file failed and a rollback happens. 
If this option is false, then the file name entry is confirmed (as if the file 
did a commit).</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><span>readLockRemoveOnCommit</span></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.16:</strong><span> This option applied only for 
<strong><code>readLock=idempotent</code></strong>. This option allows to 
specify whether to remove the file name entry from the idempotent repository 
when processing the file succeeded and a commit happens. By defau
 lt the file is not removed which ensures that any race-condition do not occur 
so another active node may attempt to grab the file. Instead the idempotent 
repository may support eviction strategies that you can configure to evict the 
file name entry after X minutes - this ensures no problems with race 
conditions.</span></p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>readLockDeleteOrphanLockFiles</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.16:</strong> 
Whether or not read lock with marker files should upon startup delete any 
orphan read lock files, which may have been left on the file system, if Camel 
was not properly shutdown (such as a JVM crash). If turning this option to 
false then any orphaned lock file will cause Camel to not attempt to pickup 
that file, this could also be due another node is concurrently reading files 
from the same sha
 red directory.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>directoryMustExist</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.5:</strong> Similar to 
<strong><code>startingDirectoryMustExist</code></strong> but this applies 
during polling recursive sub directories.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>doneFileName</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.6:</strong> If 
provided, Camel will only consume files if a <em>done</em> file exists. This 
option configures what file name to use. Either you can specify a fixed name. 
Or you can use dynamic placeholders. The <em>done</em> file is 
<strong>always</strong> expected in the same folder as the original file. See 
<em>using done file</em> an
 d <em>writing done file</em> sections for examples.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>exclusiveReadLockStrategy</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Pluggable read-lock as a 
<strong><code>org.apache.camel.component.file.GenericFileExclusiveReadLockStrategy</code></strong>
 implementation.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>maxMessagesPerPoll</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>An integer to define a maximum messages to 
gather per poll. By default no maximum is set. Can be used to set a limit of 
e.g.&#160;<strong><code>1000</code></strong> to avoid when starting up the 
server that there are thousands of files. Set a value 
of&#160;<strong><code>0</code></strong> or negative to disable it. See mor
 e details at <a shape="rect" href="batch-consumer.html">Batch 
Consumer</a>.</p><p><strong>Notice:</strong> If this option is in use then the 
<a shape="rect" href="file2.html">File</a> and <a shape="rect" 
href="ftp2.html">FTP</a> components will limit <strong>before</strong> any 
sorting. For example if you have 100000 files and use 
<strong><code>maxMessagesPerPoll=500</code></strong>, then only the first 500 
files will be picked up, and then sorted. You can use the 
<strong><code>eagerMaxMessagesPerPoll</code></strong> option and set this to 
<strong><code>false</code></strong> to allow to scan all files first and then 
sort afterwards.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>eagerMaxMessagesPerPoll</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.9.3:</strong> 
Allows for controlling whether the limit from 
<strong><code>maxMessagesPerPoll</co
 de></strong> is eager or not. If eager then the limit is during the scanning 
of files. Where as <code>false</code> would scan all files, and then perform 
sorting. Setting this option to <code>false</code> allows for sorting all files 
first, and then limit the poll. Mind that this requires a higher memory usage 
as all file details are in memory to perform the sorting.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>minDepth</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>0</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.8</strong>: The minimum depth to start 
processing when recursively processing a directory. Using 
<strong><code>minDepth=1</code></strong> means the base directory. Using 
<strong><code>minDepth=2</code></strong> means the first sub 
directory.</p><p>This option is supported by <a shape="rect" 
href="ftp2.html">FTP</a> consumer from <strong>Camel 2.8.2, 2.9</strong> 
onward.</p></td></tr><tr><td cols
 pan="1" rowspan="1" class="confluenceTd"><p><code>maxDepth</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Integer.MAX_VALUE</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8:</strong> The maximum 
depth to traverse when recursively processing a directory. This option is 
supported by <a shape="rect" href="ftp2.html">FTP</a> consumer from 
<strong>Camel 2.8.2, 2.9</strong> onward.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>processStrategy</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>A pluggable 
<strong><code>org.apache.camel.component.file.GenericFileProcessStrategy</code></strong>
 allowing you to implement your own <strong><code>readLock</code></strong> 
option or similar. Can also be used when special conditions must be met before 
a file can be consumed, such as a special <em>ready</em> file exis
 ts. If this option is set then the <strong><code>readLock</code></strong> 
option does not apply.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>startingDirectoryMustExist</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.5:</strong> 
Whether the starting directory must exist. Mind that the 
<strong><code>autoCreate</code></strong> option is default enabled, which means 
the starting directory is normally auto created if it doesn't exist. You can 
disable <strong><code>autoCreate</code></strong> and enable this to ensure the 
starting directory must exist. Will thrown an exception if the directory 
doesn't exist.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>pollStrategy</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>A pluggabl
 e 
<strong><code>org.apache.camel.spi.PollingConsumerPollStrategy</code></strong> 
allowing you to provide your custom implementation to control error handling 
that may occur during the <strong><code>poll</code></strong> operation but 
<em>before</em> an <a shape="rect" href="exchange.html">Exchange</a> has been 
created and routed by Camel. In other words the error occurred while the 
polling was gathering information e.g., access to a file network failed so 
Camel cannot access it to scan for files.</p><p>The default implementation will 
log the caused exception at <strong><code>WARN</code></strong> 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>consumer.bridgeErrorHandler</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:</strong> 
Allows for bridging the consumer to the Camel routing <a shape="rect" 
href="error-handler.html">Error Handler</a>, which mean any exceptions occurred 
while trying to pickup files, or the likes, will now be processed as a message 
and handled by the routing <a shape="rect" href="error-handler.html">Error 
Handler</a>. By default the consumer will use the 
<strong><code>org.apache.camel.spi.ExceptionHandler</code></strong> to deal 
with exceptions, that by default will be logged at 
<strong><code>WARN</code></strong>/<strong><code>ERROR</code></strong> level 
and ignored. See the following section for more details: <em>How to use the 
Camel error handler to deal with exceptions triggered outside the 
 routing engine</em>.</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 file 
consumers.</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> To use a 
custom scheduler to trigger the consumer to run. See more details at <a 
shape="rect" href="polling-consumer.html">Polling Consumer</a>, for example 
there is a <a shape="rect" href="quartz2.html">Quartz2</a>, and <a 
 shape="rect" href="spring.html">Spring</a> based scheduler that supports CRON 
expressions.</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 
skipped before the next actual attempt is happening again. When this option is 
in use then <strong><code>backoffIdleThreshold</code></strong> and/or 
<strong><code>backoffErrorThreshold</code></strong> must also be 
configured.</p><p>For more details see: <a shape="rect" 
href="polling-consumer.html">Polling Consumer</a>.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>backoffIdleThreshold</code></p></td><td 
colspan="1" rowspan="1" class="confluenc
 eTd"><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 
<strong><code>backoffMultipler</code></strong> 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 <strong><code>backoffMultipler</code></strong> should 
kick-in.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>onCompletionExceptionHandler</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.16:</strong> To use a 
custom <strong><code>org.apache.camel.spi.ExceptionHandler</code>
 </strong> to handle any thrown exceptions that happens during the file on 
completion process where the consumer does either a commit or rollback. The 
default implementation will log any exception 
at&#160;<strong><code>WARN</code></strong> level and 
ignore.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>probeContentType</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.17:</strong> Whether to 
enable probing of the content type. If enable then the consumer uses 
<code><strong>Files#probeContentType</strong>(<strong>java.nio.file.Path</strong>)</code>
 to determine the content-type of the file, and store that as a header with key 
<strong><code>Exchange#FILE_CONTENT_TYPE</code></strong> on the 
Message.</p><p><strong>Camel 2.15</strong>-<strong>2.16.x</strong> the default 
is true.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>ext
 endedAttributes</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.17</strong>: To enable gathering 
extended file attributes 
through&#160;<strong><code>java.nio.file.attribute</code></strong> classes 
using&#160;<strong><code>Files.getAttribute(ava.nio.file.Path, java.lang.String 
attribute)</code></strong> 
or&#160;<strong><code>Files.readAttributes(ava.nio.file.Path, java.lang.String 
attributes)</code></strong> depending on the option value. This option supports 
a comma delimited list of attributes to collect e.g., 
<strong><code>basic:creationTime</code></strong>,&#160;<strong><code>posix:group</code></strong>
 or simple wildcard e.g.,&#160;<strong><code>posix:*</code></strong>. If the 
attribute name is not prefixed, the basic attributes are queried. The result is 
stored as a header with 
key&#160;<strong><code>CamelFileExtendedAttributes</code></strong> and it is of 
type&#160;<strong><code>Map&lt
 ;String, Object&gt;</code></strong> where the key is the name of the attribute 
e.g.,&#160;<strong><code>posix:group</code></strong> and the value is the 
attributed returned by the call 
to&#160;<strong><code>Files.getAttribute()</code></strong> or 
<strong><code>Files.readAttributes</code></strong>.</p></td></tr></tbody></table>
 </div></div><h4 id="File2-Defaultbehaviorforfileconsumer">Default behavior for 
file consumer</h4><ul><li><p>By default the file is <strong>not</strong> locked 
for the duration of the processing.</p></li><li><p>After the route has 
completed, files are moved into the<strong><code> .camel</code></strong> 
subdirectory, so that they appear to be deleted.</p></li><li><p>The File 
Consumer will always skip any file whose name starts with a dot, such as 
<strong><code>.</code></strong>, <strong><code>.camel</code></strong>, 
<strong><code>.m2</code></strong> or 
<strong><code>.groovy</code>.</strong></p></li><li><p>Only files (not 
directories) are matched for valid filename, if options such as: 
<strong><code>include</code></strong> or <strong><code>exclude</code></strong> 
are used.</p></li></ul><h4 id="File2-Producer">Producer</h4><div 
class="confluenceTableSmall"><div class="table-wrap">
  <table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" 
class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>fileExist</code></p></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>Override</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p>What to do if a file already exists with 
the same name. The following values can be specified:</p>


Reply via email to