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

svn commit: r966450 [1/2] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache stream.html

Author: buildbot
Date: Wed Sep 23 06:19:27 2015
New Revision: 966450

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/book-component-appendix.html
    websites/production/camel/content/book-in-one-page.html
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/stream.html

Modified: websites/production/camel/content/book-component-appendix.html
==============================================================================
--- websites/production/camel/content/book-component-appendix.html (original)
+++ websites/production/camel/content/book-component-appendix.html Wed Sep 23 06:19:27 2015
@@ -1193,11 +1193,11 @@ template.send("direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.8">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 id="BookComponentAppendix-CXFComponent">CXF Component</h2><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to cons
 ume web services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></div></div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1442935130977 {padding: 0px;}
-div.rbtoc1442935130977 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1442935130977 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1442989056068 {padding: 0px;}
+div.rbtoc1442989056068 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1442989056068 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1442935130977">
+/*]]>*/</style></p><div class="toc-macro rbtoc1442989056068">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-URIformat">URI format</a></li><li><a shape="rect" href="#BookComponentAppendix-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookComponentAppendix-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -4482,7 +4482,33 @@ HttpServletRequest response = exchange.g
    Message out = exchange.getOut();
    int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 ]]></script>
-</div></div><h3 id="BookComponentAppendix-UsingthrowExceptionOnFailure=falsetogetanyresponseback">Using <code>throwExceptionOnFailure=false</code> to get any response back</h3><p>In the route below we want to route a message that we <a shape="rect" href="content-enricher.html">enrich</a> with data returned from a remote HTTP call. As we want any response from the remote server, we set the <code>throwExceptionOnFailure</code> option to <code>false</code> so we get any response in the <code>AggregationStrategy</code>. As the code is based on a unit test that simulates a HTTP status code 404, there is some assertion code etc.</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><h3 id="BookComponentAppendix-DisablingCookies">Disabling Cookies</h3><p>To disable cookies you can set the HTTP Client to ignore cookies by adding this URI option:<br clear="none"> <code>httpClient.cookiePolicy=ignoreCoo
 kies</code></p><h3 id="BookComponentAppendix-AdvancedUsage">Advanced Usage</h3><p>If you need more control over the HTTP producer you should use the <code>HttpComponent</code> where you can set various classes to give you custom behavior.</p><h4 id="BookComponentAppendix-SettingMaxConnectionsPerHost">Setting MaxConnectionsPerHost</h4><p>The <a shape="rect" href="http.html">HTTP</a> Component has a <code>org.apache.commons.httpclient.HttpConnectionManager</code> where you can configure various global configuration for the given component.<br clear="none"> By global, we mean that any endpoint the component creates has the same shared <code>HttpConnectionManager</code>. So, if we want to set a different value for the max connection per host, we need to define it on the HTTP component and <strong>not</strong> on the endpoint URI that we usually use. So here comes:</p><p>First, we define the <code>http</code> component in Spring XML. Yes, we use the same scheme name, <code>http</code>, b
 ecause otherwise Camel will auto-discover and create the component with default settings. What we need is to overrule this so we can set our options. In the sample below we set the max connection to 5 instead of the default of 2.</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>And then we can just use it as we normally do in our routes:<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><h4 id="BookComponentAppendix-Usingpreemptiveauthentication">Using preemptive authentication</h4><p>An end user reported that he had problem with authenticating with HTTPS. The problem was eventually resolved when he discovered the HTTPS server did not return a HTTP code 401 Authorization Required. The solution was to set the following URI option: <code>httpClient.authenticationPreemptive=true</code></p><h4 id="BookC
 omponentAppendix-Acceptingselfsignedcertificatesfromremoteserver">Accepting self signed certificates from remote server</h4><p>See this <a shape="rect" class="external-link" href="http://www.nabble.com/Using-HTTPS-in-camel-http-when-remote-side-has-self-signed-cert-td25916878.html" rel="nofollow">link</a> from a mailing list discussion with some code to outline how to do this with the Apache Commons HTTP API.</p><h4 id="BookComponentAppendix-SettingupSSLforHTTPClient">Setting up SSL for HTTP Client</h4><h5 id="BookComponentAppendix-UsingtheJSSEConfigurationUtility.1">Using the JSSE Configuration Utility</h5><p>As of Camel 2.8, the HTTP4 component supports SSL/TLS configuration through the <a shape="rect" href="camel-configuration-utilities.html">Camel JSSE Configuration Utility</a>.&#160; This utility greatly decreases the amount of component specific code you need to write and is configurable at the endpoint and component levels.&#160; The following examples demonstrate how to use 
 the utility with the HTTP4 component.</p><p>The version of the Apache HTTP client used in this component resolves SSL/TLS information from a global "protocol" registry.&#160; This component provides an implementation, <code>org.apache.camel.component.http.SSLContextParametersSecureProtocolSocketFactory</code>, of the HTTP client's protocol socket factory in order to support the use of the Camel JSSE Configuration utility.&#160; The following example demonstrates how to configure the protocol registry and use the registered protocol information in a route.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookComponentAppendix-UsingthrowExceptionOnFailure=falsetogetanyresponseback">Using <code>throwExceptionOnFailure=false</code> to get any response back</h3><p>In the route below we want to route a message that we <a shape="rect" href="content-enricher.html">enrich</a> with data returned from a remote HTTP call. As we want any response from the remote server, we set the <code>throwExceptionOnFailure</code> option to <code>false</code> so we get any response in the <code>AggregationStrategy</code>. As the code is based on a unit test that simulates a HTTP status code 404, there is some assertion code etc.</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><h3 id="BookComponentAppendix-DisablingCookies">Disabling Cookies</h3><p>To disable cookies you can set the HTTP Client to ignore cookies by adding this URI option:<br clear="none"> <code>httpClient.cookiePolicy=ignoreCoo
 kies</code></p><h3 id="BookComponentAppendix-AdvancedUsage">Advanced Usage</h3><p>If you need more control over the HTTP producer you should use the <code>HttpComponent</code> where you can set various classes to give you custom behavior.</p><h4 id="BookComponentAppendix-SettingMaxConnectionsPerHost">Setting MaxConnectionsPerHost</h4><p>The <a shape="rect" href="http.html">HTTP</a> Component has a <code>org.apache.commons.httpclient.HttpConnectionManager</code> where you can configure various global configuration for the given component.<br clear="none"> By global, we mean that any endpoint the component creates has the same shared <code>HttpConnectionManager</code>. So, if we want to set a different value for the max connection per host, we need to define it on the HTTP component and <strong>not</strong> on the endpoint URI that we usually use. So here comes:</p><p>First, we define the <code>http</code> component in Spring XML. Yes, we use the same scheme name, <code>http</code>, b
 ecause otherwise Camel will auto-discover and create the component with default settings. What we need is to overrule this so we can set our options. In the sample below we set the max connection to 5 instead of the default of 2.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
+&lt;bean id=&quot;http&quot; class=&quot;org.apache.camel.component.http.HttpComponent&quot;&gt;
+    &lt;property name=&quot;camelContext&quot; ref=&quot;camel&quot;/&gt;
+    &lt;property name=&quot;httpConnectionManager&quot; ref=&quot;myHttpConnectionManager&quot;/&gt;
+&lt;/bean&gt;
+
+&lt;bean id=&quot;myHttpConnectionManager&quot; class=&quot;org.apache.commons.httpclient.MultiThreadedHttpConnectionManager&quot;&gt;
+    &lt;property name=&quot;params&quot; ref=&quot;myHttpConnectionManagerParams&quot;/&gt;
+&lt;/bean&gt;
+
+&lt;bean id=&quot;myHttpConnectionManagerParams&quot; class=&quot;org.apache.commons.httpclient.params.HttpConnectionManagerParams&quot;&gt;
+    &lt;property name=&quot;defaultMaxConnectionsPerHost&quot; value=&quot;5&quot;/&gt;
+&lt;/bean&gt;
+
+]]></script>
+</div></div>And then we can just use it as we normally do in our routes:<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;camelContext id=&quot;camel&quot; xmlns=&quot;http://camel.apache.org/schema/spring&quot; trace=&quot;true&quot;&gt;
+    &lt;route&gt;
+        &lt;from uri=&quot;direct:start&quot;/&gt;
+        &lt;to uri=&quot;http://www.google.com&quot;/&gt;
+        &lt;to uri=&quot;mock:result&quot;/&gt;
+    &lt;/route&gt;
+&lt;/camelContext&gt;
+]]></script>
+</div></div><h4 id="BookComponentAppendix-Usingpreemptiveauthentication">Using preemptive authentication</h4><p>An end user reported that he had problem with authenticating with HTTPS. The problem was eventually resolved when he discovered the HTTPS server did not return a HTTP code 401 Authorization Required. The solution was to set the following URI option: <code>httpClient.authenticationPreemptive=true</code></p><h4 id="BookComponentAppendix-Acceptingselfsignedcertificatesfromremoteserver">Accepting self signed certificates from remote server</h4><p>See this <a shape="rect" class="external-link" href="http://www.nabble.com/Using-HTTPS-in-camel-http-when-remote-side-has-self-signed-cert-td25916878.html" rel="nofollow">link</a> from a mailing list discussion with some code to outline how to do this with the Apache Commons HTTP API.</p><h4 id="BookComponentAppendix-SettingupSSLforHTTPClient">Setting up SSL for HTTP Client</h4><h5 id="BookComponentAppendix-UsingtheJSSEConfigurationUt
 ility.1">Using the JSSE Configuration Utility</h5><p>As of Camel 2.8, the HTTP4 component supports SSL/TLS configuration through the <a shape="rect" href="camel-configuration-utilities.html">Camel JSSE Configuration Utility</a>.&#160; This utility greatly decreases the amount of component specific code you need to write and is configurable at the endpoint and component levels.&#160; The following examples demonstrate how to use the utility with the HTTP4 component.</p><p>The version of the Apache HTTP client used in this component resolves SSL/TLS information from a global "protocol" registry.&#160; This component provides an implementation, <code>org.apache.camel.component.http.SSLContextParametersSecureProtocolSocketFactory</code>, of the HTTP client's protocol socket factory in order to support the use of the Camel JSSE Configuration utility.&#160; The following example demonstrates how to configure the protocol registry and use the registered protocol information in a route.</p>
 <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[KeyStoreParameters ksp = new KeyStoreParameters();
 ksp.setResource(&quot;/users/home/server/keystore.jks&quot;);
 ksp.setPassword(&quot;keystorePassword&quot;);
@@ -10076,66 +10102,26 @@ from(&quot;direct:example&quot;).marshal
 .to(&quot;mock:example&quot;).marshal(jaxb);
 ]]></script>
 </div></div><p></p><h3 id="BookComponentAppendix-SeeAlso.60">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> <h2 id="BookComponentAppendix-StreamComponent">Stream Component</h2>
-
-<p>The <strong>stream:</strong> component provides access to the <code>System.in</code>, <code>System.out</code> and <code>System.err</code> streams as well as allowing streaming of file and URL.</p>
-
-<p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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;
+<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> <h2 id="BookComponentAppendix-StreamComponent">Stream Component</h2><p>The <strong>stream:</strong> component provides access to the <code>System.in</code>, <code>System.out</code> and <code>System.err</code> streams as well as allowing streaming of file and URL.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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-stream&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-
-<h3 id="BookComponentAppendix-URIformat.66">URI format</h3>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-stream:in[?options]
+</div></div><h3 id="BookComponentAppendix-URIformat.66">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[stream:in[?options]
 stream:out[?options]
 stream:err[?options]
 stream:header[?options]
 ]]></script>
-</div></div>
-
-<p>In addition, the <code>file</code> and <code>url</code> endpoint URIs are supported:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-stream:file?fileName=/foo/bar.txt
+</div></div><p>In addition, the <code>file</code> and <code>url</code> endpoint URIs are supported:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[stream:file?fileName=/foo/bar.txt
 stream:url[?options]
 ]]></script>
-</div></div>
-
-<p>If the <code>stream:header</code> URI is specified, the <code>stream</code> header is used to find the stream to write to. This option is available only for stream producers (that is, it cannot appear in <code>from()</code>).</p>
-
-<p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p>
-
-<h3 id="BookComponentAppendix-Options.52">Options</h3>
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>delay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Initial delay in milliseconds before consuming or producing the stream. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>encoding</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>JVM Default</em> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>  You can configure the encoding (is a <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html" rel="nofollow">charset name</a>
 ) to use text-based streams (for example, message body is a <code>String</code> object). If not provided, Camel uses the <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html#defaultCharset()" rel="nofollow">JVM default Charset</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>promptMessage</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Message prompt to use when reading from <code>stream:in</code>; for example, you could set this to <code>Enter a command:</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>promptDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Optional delay in milliseconds before showing the message prompt. </p></td></tr><tr><td colspan="1" 
 rowspan="1" class="confluenceTd"><p> <code>initialPromptDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>2000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Initial delay in milliseconds before showing the message prompt. This delay occurs only once. Can be used during system startup to avoid message prompts being written while other logging is done to the system out. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>fileName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> When using the <code>stream:file</code> URI format, this option specifies the filename to stream to/from. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>url</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> W
 hen using the <code>stream:url</code> URI format, this option specifies the URL to stream to/from. The input/output stream will be opened using the <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/net/URLConnection.html" rel="nofollow">JDK URLConnection</a> facility. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>scanStream</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To be used for continuously reading a stream such as the unix <code>tail</code> command. <br clear="none">
-                               <strong>Camel 2.4 to Camel 2.6:</strong> will retry opening the file if it is overwritten, somewhat like <code>tail --retry</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>retry</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.7:</strong> will retry opening the file if it's overwritten, somewhat like <code>tail --retry</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>scanStreamDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delay in milliseconds between read attempts when using <code>scanStream</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>groupLines</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.5:</strong> To group X number of lines in the consumer. For example to group 10 lines and therefore only spit out an <a shape="rect" href="exchange.html">Exchange</a> with 10 lines, instead of 1 <a shape="rect" href="exchange.html">Exchange</a> per line. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>autoCloseCount</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.10.0:</strong> (2.9.3 and 2.8.6) Number of messages to process before closing stream on Producer side. Never close stream by default (only when Producer is stopped). If more messages are sent, the stream is reopened for another <code>autoCloseCount</code> batch. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>closeOnDone</code> </p></td><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11.0:</strong> This option is used in combination with <a shape="rect" href="splitter.html">Splitter</a> and streaming to the same file. The idea is to keep the stream open and only close when the <a shape="rect" href="splitter.html">Splitter</a> is done, to improve performance. Mind this requires that you only stream to the same file, and not 2 or more files. </p></td></tr></tbody></table></div>
-</div>
-
-<h3 id="BookComponentAppendix-Messagecontent">Message content</h3>
-
-<p>The <strong>stream:</strong> component supports either <code>String</code> or <code>byte[]</code> for writing to streams. Just add either <code>String</code> or <code>byte[]</code> content to the <code>message.in.body</code>. Messages sent to the <strong>stream:</strong> producer in binary mode are not followed by the newline character (as opposed to the <code>String</code> messages). Message with <code>null</code> body will not be appended to the output stream.<br clear="none">
-The special <code>stream:header</code> URI is used for custom output streams. Just add a <code>java.io.OutputStream</code> object to <code>message.in.header</code> in the key <code>header</code>.<br clear="none">
-See samples for an example.</p>
-
-<h3 id="BookComponentAppendix-Samples.14">Samples</h3>
-
-<p>In the following sample we route messages from the <code>direct:in</code> endpoint to the <code>System.out</code> stream:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-// Route messages to the standard output.
+</div></div><p>If the <code>stream:header</code> URI is specified, the <code>stream</code> header is used to find the stream to write to. This option is available only for stream producers (that is, it cannot appear in <code>from()</code>).</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookComponentAppendix-Options.52">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>delay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Initial delay in milliseconds before consuming or 
 producing the stream.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>JVM Default</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>You can configure the encoding (is a <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html" rel="nofollow">charset name</a>) to use text-based streams (for example, message body is a <code>String</code> object). If not provided, Camel uses the <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html#defaultCharset()" rel="nofollow">JVM default Charset</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>promptMessage</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Message prompt to use when readin
 g from <code>stream:in</code>; for example, you could set this to <code>Enter a command:</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>promptDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Optional delay in milliseconds before showing the message prompt.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>initialPromptDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Initial delay in milliseconds before showing the message prompt. This delay occurs only once. Can be used during system startup to avoid message prompts being written while other logging is done to the system out.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fileName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><c
 ode>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When using the <code>stream:file</code> URI format, this option specifies the filename to stream to/from.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>url</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When using the <code>stream:url</code> URI format, this option specifies the URL to stream to/from. The input/output stream will be opened using the <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/net/URLConnection.html" rel="nofollow">JDK URLConnection</a> facility.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>scanStream</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To be used for continuously reading a stream such
  as the unix <code>tail</code> command. <br clear="none"> <strong>Camel 2.4 to Camel 2.6:</strong> will retry opening the file if it is overwritten, somewhat like <code>tail --retry</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>retry</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.7:</strong> will retry opening the file if it's overwritten, somewhat like <code>tail --retry</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>scanStreamDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in milliseconds between read attempts when using <code>scanStream</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>groupLines</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.5:</strong> To group X number of lines in the consumer. For example to group 10 lines and therefore only spit out an <a shape="rect" href="exchange.html">Exchange</a> with 10 lines, instead of 1 <a shape="rect" href="exchange.html">Exchange</a> per line.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>autoCloseCount</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.10.0:</strong> (2.9.3 and 2.8.6) Number of messages to process before closing stream on Producer side. Never close stream by default (only when Producer is stopped). If more messages are sent, the stream is reopened for another <code>autoCloseCount</code> batch.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>closeOnDone</code></p></td><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong> This option is used in combination with <a shape="rect" href="splitter.html">Splitter</a> and streaming to the same file. The idea is to keep the stream open and only close when the <a shape="rect" href="splitter.html">Splitter</a> is done, to improve performance. Mind this requires that you only stream to the same file, and not 2 or more files, and that the last split message that carries the information that its the last, is routed to the stream endpoint so it gets the signal to close.</p></td></tr></tbody></table></div></div><h3 id="BookComponentAppendix-Messagecontent">Message content</h3><p>The <strong>stream:</strong> component supports either <code>String</code> or <code>byte[]</code> for writing to streams. Just add either <code>String</code> or <code>byte[]</code> content to the <code>message.in.body</code>. Messages sent to the <strong>stream:</stro
 ng> producer in binary mode are not followed by the newline character (as opposed to the <code>String</code> messages). Message with <code>null</code> body will not be appended to the output stream.<br clear="none"> The special <code>stream:header</code> URI is used for custom output streams. Just add a <code>java.io.OutputStream</code> object to <code>message.in.header</code> in the key <code>header</code>.<br clear="none"> See samples for an example.</p><h3 id="BookComponentAppendix-Samples.14">Samples</h3><p>In the following sample we route messages from the <code>direct:in</code> endpoint to the <code>System.out</code> stream:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// Route messages to the standard output.
 from(&quot;direct:in&quot;).to(&quot;stream:out&quot;);
 
 // Send String payload to the standard output.
@@ -10146,11 +10132,7 @@ template.sendBody(&quot;direct:in&quot;,
 // No newline will be added after the message.
 template.sendBody(&quot;direct:in&quot;, &quot;Hello Bytes World&quot;.getBytes());
 ]]></script>
-</div></div>
-
-<p>The following sample demonstrates how the header type can be used to determine which stream to use. In the sample we use our own output stream, <code>MyOutputStream</code>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The following sample demonstrates how the header type can be used to determine which stream to use. In the sample we use our own output stream, <code>MyOutputStream</code>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 private OutputStream mystream = new MyOutputStream();
 private StringBuilder sb = new StringBuilder();
@@ -10185,18 +10167,10 @@ private class MyOutputStream extends Out
     }
 }
 ]]></script>
-</div></div>
-
-<p>The following sample demonstrates how to continuously read a file stream (analogous to the UNIX <code>tail</code> command):</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-from(&quot;stream:file?fileName=/server/logs/server.log&amp;scanStream=true&amp;scanStreamDelay=1000&quot;).to(&quot;bean:logService?method=parseLogLine&quot;);
+</div></div>The following sample demonstrates how to continuously read a file stream (analogous to the UNIX <code>tail</code> command):<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;stream:file?fileName=/server/logs/server.log&amp;scanStream=true&amp;scanStreamDelay=1000&quot;).to(&quot;bean:logService?method=parseLogLine&quot;);
 ]]></script>
-</div></div>
-
-<p>One gotcha with scanStream (pre Camel 2.7) or scanStream + retry is the file will be re-opened and scanned with each iteration of scanStreamDelay.  Until NIO2 is available we cannot reliably detect when a file is deleted/recreated.</p>
-
-<h3 id="BookComponentAppendix-SeeAlso.61">See Also</h3>
+</div></div><p>One gotcha with scanStream (pre Camel 2.7) or scanStream + retry is the file will be re-opened and scanned with each iteration of scanStreamDelay. Until NIO2 is available we cannot reliably detect when a file is deleted/recreated.</p><p></p><h3 id="BookComponentAppendix-SeeAlso.61">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> <h2 id="BookComponentAppendix-StringTemplate">String Template</h2><p>The <strong>string-template:</strong> component allows you to process a message using a <a shape="rect" class="external-link" href="http://www.stringtemplate.org/" rel="nofollow">String Template</a>. This can be ideal when using <a shape="rect" href="templating.html">Templating</a> to generate responses for requests.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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;

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Wed Sep 23 06:19:27 2015
@@ -139,7 +139,7 @@ ConnectionFactory connectionFactory = ne
 // Note we can explicit name the component
 context.addComponent(&quot;test-jms&quot;, JmsComponent.jmsComponentAutoAcknowledge(connectionFactory));
 ]]></script>
-</div></div><p>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ</p>An error occurred: Unable to retrieve the URL: https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob_plain;hb=HEAD;f=trunk/activemq-camel/src/test/java/org/apache/activemq/camel/component/ActiveMQRouteTest.java status code: 404. The error has been recorded.<p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.ht
 ml">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The above works with any JMS provider. If we know we are using <a shape="rect" href="activemq.html">ActiveMQ</a> we can use an even simpler form using the <a shape="rect" class="external-link" href="http://activemq.apache.org/maven/5.5.0/activemq-camel/apidocs/org/apache/activemq/camel/component/ActiveMQComponent.html#activeMQComponent%28java.lang.String%29"><code>activeMQComponent()</code> method</a> while specifying the <a shape="rect" class="external-link" href="http://activemq.apache.org/configuring-transports.html">brokerURL</a> used to connect to ActiveMQ</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><p>In normal use, an external system would be firing messages or events directly into Camel through one if its <a shape="rect" href="components.html">Components</a> but we are going to use the <a shape="rect" class="external-link" href="http://camel.apache.org/maven/cu
 rrent/camel-core/apidocs/org/apache/camel/ProducerTemplate.html">ProducerTemplate</a> which is a really easy way for testing your configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 ProducerTemplate template = context.createProducerTemplate();
 ]]></script>
@@ -3694,11 +3694,11 @@ The tutorial has been designed in two pa
 While not actual tutorials you might find working through the source of the various <a shape="rect" href="examples.html">Examples</a> useful.</li></ul>
 
 <h2 id="BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</h2><p>&#160;</p><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Thanks</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>This tutorial was kindly donated to Apache Camel by Martin Gilday.</p></div></div><h2 id="BookInOnePage-Preface">Preface</h2><p>This tutorial aims to guide the reader through the stages of creating a project which uses Camel to facilitate the routing of messages from a JMS queue to a <a shape="rect" class="external-link" href="http://www.springramework.org" rel="nofollow">Spring</a> service. The route works in a synchronous fashion returning a response to the client.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1442949516751 {padding: 0px;}
-div.rbtoc1442949516751 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1442949516751 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1442989070422 {padding: 0px;}
+div.rbtoc1442989070422 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1442989070422 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1442949516751">
+/*]]>*/</style></p><div class="toc-macro rbtoc1442989070422">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialonSpringRemotingwithJMS">Tutorial on Spring Remoting with JMS</a></li><li><a shape="rect" href="#BookInOnePage-Preface">Preface</a></li><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-About">About</a></li><li><a shape="rect" href="#BookInOnePage-CreatetheCamelProject">Create the Camel Project</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-UpdatethePOMwithDependencies">Update the POM with Dependencies</a></li></ul>
 </li><li><a shape="rect" href="#BookInOnePage-WritingtheServer">Writing the Server</a>
@@ -5803,11 +5803,11 @@ So we completed the last piece in the pi
 <p>This example has been removed from <strong>Camel 2.9</strong> onwards. Apache Axis 1.4 is a very old and unsupported framework. We encourage users to use <a shape="rect" href="cxf.html">CXF</a> instead of Axis.</p></div></div>
 
 <style type="text/css">/*<![CDATA[*/
-div.rbtoc1442949517018 {padding: 0px;}
-div.rbtoc1442949517018 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1442949517018 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1442989071068 {padding: 0px;}
+div.rbtoc1442989071068 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1442989071068 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1442949517018">
+/*]]>*/</style><div class="toc-macro rbtoc1442989071068">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-TutorialusingAxis1.4withApacheCamel">Tutorial using Axis 1.4 with Apache Camel</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Prerequisites">Prerequisites</a></li><li><a shape="rect" href="#BookInOnePage-Distribution">Distribution</a></li><li><a shape="rect" href="#BookInOnePage-Introduction">Introduction</a></li><li><a shape="rect" href="#BookInOnePage-SettinguptheprojecttorunAxis">Setting up the project to run Axis</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Maven2">Maven 2</a></li><li><a shape="rect" href="#BookInOnePage-wsdl">wsdl</a></li><li><a shape="rect" href="#BookInOnePage-ConfiguringAxis">Configuring Axis</a></li><li><a shape="rect" href="#BookInOnePage-RunningtheExample">Running the Example</a></li></ul>
@@ -16626,7 +16626,7 @@ from(&quot;file://foo/bar&quot;).
 
 <p>You can configure the <a shape="rect" class="external-link" href="http://activemq.apache.org/destination-options.html">Destination Options</a> in the endpoint uri, using the "destination." prefix. For example to mark a consumer as exclusive, and set its prefetch size to 50, you can do as follows:</p>
 
-An error occurred: Unable to retrieve the URL: https://git-wip-us.apache.org/repos/asf?p=activemq.git;a=blob_plain;hb=HEAD;f=trunk/activemq-camel/src/test/resources/org/apache/activemq/camel/CamelDestinationExclusiveConsumerTest-context.xml status code: 404. The error has been recorded.
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 
 <h3 id="BookInOnePage-ConsumingAdvisoryMessages">Consuming Advisory Messages</h3>
@@ -16881,10 +16881,7 @@ bean:beanID[?options]
 
 <p>The object instance that is used to consume messages must be explicitly registered with the <a shape="rect" href="registry.html">Registry</a>. For example, if you are using Spring you must define the bean in the Spring configuration, <code>spring.xml</code>; or if you don't use Spring, by registering the bean in JNDI.</p>
 
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-]]></script>
-</div></div>
+<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>
 
 <p>Once an endpoint has been registered, you can build Camel routes that use it to process exchanges.</p>
 
@@ -17566,11 +17563,11 @@ template.send(&quot;direct:alias-verify&
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.28">See Also</h3>
 <ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="crypto.html">Crypto</a> Crypto is also available as a <a shape="rect" href="data-format.html">Data Format</a></li></ul> <h2 id="BookInOnePage-CXFComponent">CXF Component</h2><div class="confluence-information-macro confluence-information-macro-note"><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF as a consumer, the <a shape="rect" href="cxf-bean-component.html">CXF Bean Component</a> allows you to factor out how message payloads are received from their processing as a RESTful or SOAP web service. This has the potential of using a multitude of transports to consume web 
 services. The bean component's configuration is also simpler and provides the fastest method to implement web services using Camel and CXF.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When using CXF in streaming modes (see DataFormat option), then also read about <a shape="rect" href="stream-caching.html">Stream caching</a>.</p></div></div><p>The <strong>cxf:</strong> component provides integration with <a shape="rect" href="http://cxf.apache.org">Apache CXF</a> for connecting to JAX-WS services hosted in CXF.</p><p><style type="text/css">/*<![CDATA[*/
-div.rbtoc1442949521092 {padding: 0px;}
-div.rbtoc1442949521092 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1442949521092 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1442989079140 {padding: 0px;}
+div.rbtoc1442989079140 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1442989079140 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1442949521092">
+/*]]>*/</style></p><div class="toc-macro rbtoc1442989079140">
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-CXFComponent">CXF Component</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-URIformat">URI format</a></li><li><a shape="rect" href="#BookInOnePage-Options">Options</a>
 <ul class="toc-indentation"><li><a shape="rect" href="#BookInOnePage-Thedescriptionsofthedataformats">The descriptions of the dataformats</a>
@@ -19009,10 +19006,7 @@ Exchange.FILE_NAME = foo/bye.txt =&gt; /
   &lt;/properties&gt;
 &lt;/persistence-unit&gt;
 ]]></script>
-</div></div>Then we need to setup a Spring <code>jpaTemplate</code> in the spring XML file:<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[
-]]></script>
-</div></div>And finally we can create our JPA idempotent repository in the spring XML file as well:<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>Then we need to setup a Spring <code>jpaTemplate</code> in the spring XML file:<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>And finally we can create our JPA idempotent repository in the spring XML file as well:<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;!-- we define our jpa based idempotent repository we want to use in the file consumer --&gt;
 &lt;bean id=&quot;jpaStore&quot; class=&quot;org.apache.camel.processor.idempotent.jpa.JpaMessageIdRepository&quot;&gt;
@@ -20858,7 +20852,7 @@ HttpServletRequest response = exchange.g
    Message out = exchange.getOut();
    int responseCode = out.getHeader(Exchange.HTTP_RESPONSE_CODE, Integer.class);
 ]]></script>
-</div></div><h3 id="BookInOnePage-UsingthrowExceptionOnFailure=falsetogetanyresponseback">Using <code>throwExceptionOnFailure=false</code> to get any response back</h3><p>In the route below we want to route a message that we <a shape="rect" href="content-enricher.html">enrich</a> with data returned from a remote HTTP call. As we want any response from the remote server, we set the <code>throwExceptionOnFailure</code> option to <code>false</code> so we get any response in the <code>AggregationStrategy</code>. As the code is based on a unit test that simulates a HTTP status code 404, there is some assertion code etc.An error occurred: Unable to retrieve the URL: https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob_plain;hb=HEAD;f=components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettySimplifiedHandle404Test.java status code: 404. The error has been recorded.</p><h3 id="BookInOnePage-DisablingCookies">Disabling Cookies</h3><p>To disable cookies you can set the
  HTTP Client to ignore cookies by adding this URI option:<br clear="none"> <code>httpClient.cookiePolicy=ignoreCookies</code></p><h3 id="BookInOnePage-AdvancedUsage">Advanced Usage</h3><p>If you need more control over the HTTP producer you should use the <code>HttpComponent</code> where you can set various classes to give you custom behavior.</p><h4 id="BookInOnePage-SettingMaxConnectionsPerHost">Setting MaxConnectionsPerHost</h4><p>The <a shape="rect" href="http.html">HTTP</a> Component has a <code>org.apache.commons.httpclient.HttpConnectionManager</code> where you can configure various global configuration for the given component.<br clear="none"> By global, we mean that any endpoint the component creates has the same shared <code>HttpConnectionManager</code>. So, if we want to set a different value for the max connection per host, we need to define it on the HTTP component and <strong>not</strong> on the endpoint URI that we usually use. So here comes:</p><p>First, we define the
  <code>http</code> component in Spring XML. Yes, we use the same scheme name, <code>http</code>, because otherwise Camel will auto-discover and create the component with default settings. What we need is to overrule this so we can set our options. In the sample below we set the max connection to 5 instead of the default of 2.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-UsingthrowExceptionOnFailure=falsetogetanyresponseback">Using <code>throwExceptionOnFailure=false</code> to get any response back</h3><p>In the route below we want to route a message that we <a shape="rect" href="content-enricher.html">enrich</a> with data returned from a remote HTTP call. As we want any response from the remote server, we set the <code>throwExceptionOnFailure</code> option to <code>false</code> so we get any response in the <code>AggregationStrategy</code>. As the code is based on a unit test that simulates a HTTP status code 404, there is some assertion code etc.</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><h3 id="BookInOnePage-DisablingCookies">Disabling Cookies</h3><p>To disable cookies you can set the HTTP Client to ignore cookies by adding this URI option:<br clear="none"> <code>httpClient.cookiePolicy=ignoreCookies</code></p><
 h3 id="BookInOnePage-AdvancedUsage">Advanced Usage</h3><p>If you need more control over the HTTP producer you should use the <code>HttpComponent</code> where you can set various classes to give you custom behavior.</p><h4 id="BookInOnePage-SettingMaxConnectionsPerHost">Setting MaxConnectionsPerHost</h4><p>The <a shape="rect" href="http.html">HTTP</a> Component has a <code>org.apache.commons.httpclient.HttpConnectionManager</code> where you can configure various global configuration for the given component.<br clear="none"> By global, we mean that any endpoint the component creates has the same shared <code>HttpConnectionManager</code>. So, if we want to set a different value for the max connection per host, we need to define it on the HTTP component and <strong>not</strong> on the endpoint URI that we usually use. So here comes:</p><p>First, we define the <code>http</code> component in Spring XML. Yes, we use the same scheme name, <code>http</code>, because otherwise Camel will auto
 -discover and create the component with default settings. What we need is to overrule this so we can set our options. In the sample below we set the max connection to 5 instead of the default of 2.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 &lt;bean id=&quot;http&quot; class=&quot;org.apache.camel.component.http.HttpComponent&quot;&gt;
     &lt;property name=&quot;camelContext&quot; ref=&quot;camel&quot;/&gt;
@@ -21668,7 +21662,7 @@ from(&quot;direct:hello&quot;)
     &lt;to uri=&quot;jetty://http://www.google.com&quot;/&gt;
 &lt;route&gt;
 ]]></script>
-</div></div><h3 id="BookInOnePage-ConsumerExample">Consumer Example</h3><p>In this sample we define a route that exposes a HTTP service at <code><a shape="rect" class="external-link" href="http://localhost:8080/myapp/myservice" rel="nofollow">http://localhost:8080/myapp/myservice</a></code>:An error occurred: Unable to retrieve the URL: https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob_plain;hb=HEAD;f=components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyRouteTest.java status code: 404. The error has been recorded.</p><div class="confluence-information-macro confluence-information-macro-note"><p class="title">Usage of localhost</p><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When you specify <code>localhost</code> in a URL, Camel exposes the endpoint only on the local TCP/IP network interface, so it cannot be accessed from outside the machine it oper
 ates on.</p><p>If you need to expose a Jetty endpoint on a specific network interface, the numerical IP address of this interface should be used as the host. If you need to expose a Jetty endpoint on all network interfaces, the <code>0.0.0.0</code> address should be used.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>To listen across an entire URI prefix, see <a shape="rect" href="how-do-i-let-jetty-match-wildcards.html">How do I let Jetty match wildcards</a>.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>If you actually want to expose routes by HTTP and already have a Servlet, you should instead refer
  to the <a shape="rect" href="https://cwiki.apache.org/confluence/display/CXF20DOC/Servlet+Transport">Servlet Transport</a>.</p></div></div><p>&#160;</p><p>Our business logic is implemented in the <code>MyBookService</code> class, which accesses the HTTP request contents and then returns a response.<br clear="none"> <strong>Note:</strong> The <code>assert</code> call appears in this example, because the code is part of an unit test.An error occurred: Unable to retrieve the URL: https://git-wip-us.apache.org/repos/asf?p=camel.git;a=blob_plain;hb=HEAD;f=components/camel-jetty/src/test/java/org/apache/camel/component/jetty/JettyRouteTest.java status code: 404. The error has been recorded.The following sample shows a content-based route that routes all requests containing the URI parameter, <code>one</code>, to the endpoint, <code>mock:one</code>, and all others to <code>mock:other</code>.</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBou
 ndsException: Index: 20, Size: 20</span> </div>So if a client sends the HTTP request, <code><a shape="rect" class="external-link" href="http://serverUri?one=hello" rel="nofollow">http://serverUri?one=hello</a></code>, the Jetty component will copy the HTTP request parameter, <code>one</code> to the exchange's <code>in.header</code>. We can then use the <code>simple</code> language to route exchanges that contain this header to a specific endpoint and all others to another. If we used a language more powerful than <a shape="rect" href="simple.html">Simple</a>&#160;(such as <a shape="rect" href="el.html">EL</a> or <a shape="rect" href="ognl.html">OGNL</a>)&#160;we could also test for the parameter value and do routing based on the header value as well.<h3 id="BookInOnePage-SessionSupport">Session Support</h3><p>The session support option, <code>sessionSupport</code>, can be used to enable a <code>HttpSession</code> object and access the session object while processing the exchange. Fo
 r example, the following route enables sessions:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-ConsumerExample">Consumer Example</h3><p>In this sample we define a route that exposes a HTTP service at <code><a shape="rect" class="external-link" href="http://localhost:8080/myapp/myservice" rel="nofollow">http://localhost:8080/myapp/myservice</a></code>:</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div><div class="confluence-information-macro confluence-information-macro-note"><p class="title">Usage of localhost</p><span class="aui-icon aui-icon-small aui-iconfont-warning confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>When you specify <code>localhost</code> in a URL, Camel exposes the endpoint only on the local TCP/IP network interface, so it cannot be accessed from outside the machine it operates on.</p><p>If you need to expose a Jetty endpoint on a specific network interface, the numerical IP address of t
 his interface should be used as the host. If you need to expose a Jetty endpoint on all network interfaces, the <code>0.0.0.0</code> address should be used.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>To listen across an entire URI prefix, see <a shape="rect" href="how-do-i-let-jetty-match-wildcards.html">How do I let Jetty match wildcards</a>.</p></div></div><div class="confluence-information-macro confluence-information-macro-tip"><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>If you actually want to expose routes by HTTP and already have a Servlet, you should instead refer to the <a shape="rect" href="https://cwiki.apache.org/confluence/display/CXF20DOC/Servlet+Transport">Servlet Transp
 ort</a>.</p></div></div><p>&#160;</p><p>Our business logic is implemented in the <code>MyBookService</code> class, which accesses the HTTP request contents and then returns a response.<br clear="none"> <strong>Note:</strong> The <code>assert</code> call appears in this example, because the code is part of an unit test.</p><div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>The following sample shows a content-based route that routes all requests containing the URI parameter, <code>one</code>, to the endpoint, <code>mock:one</code>, and all others to <code>mock:other</code>.<div class="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>So if a client sends the HTTP request, <code><a shape="rect" class="external-link" href="http://serverUri?one=hello" rel="nofollow">http://serverUri?one=hello</a></code>, the Jetty comp
 onent will copy the HTTP request parameter, <code>one</code> to the exchange's <code>in.header</code>. We can then use the <code>simple</code> language to route exchanges that contain this header to a specific endpoint and all others to another. If we used a language more powerful than <a shape="rect" href="simple.html">Simple</a>&#160;(such as <a shape="rect" href="el.html">EL</a> or <a shape="rect" href="ognl.html">OGNL</a>)&#160;we could also test for the parameter value and do routing based on the header value as well.<h3 id="BookInOnePage-SessionSupport">Session Support</h3><p>The session support option, <code>sessionSupport</code>, can be used to enable a <code>HttpSession</code> object and access the session object while processing the exchange. For example, the following route enables sessions:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;route&gt;
     &lt;from uri=&quot;jetty:http://0.0.0.0/myapp/myservice/?sessionSupport=true&quot;/&gt;
     &lt;processRef ref=&quot;myCode&quot;/&gt;
@@ -26478,66 +26472,26 @@ from(&quot;direct:example&quot;).marshal
 .to(&quot;mock:example&quot;).marshal(jaxb);
 ]]></script>
 </div></div><p></p><h3 id="BookInOnePage-SeeAlso.80">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> <h2 id="BookInOnePage-StreamComponent">Stream Component</h2>
-
-<p>The <strong>stream:</strong> component provides access to the <code>System.in</code>, <code>System.out</code> and <code>System.err</code> streams as well as allowing streaming of file and URL.</p>
-
-<p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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;
+<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> <h2 id="BookInOnePage-StreamComponent">Stream Component</h2><p>The <strong>stream:</strong> component provides access to the <code>System.in</code>, <code>System.out</code> and <code>System.err</code> streams as well as allowing streaming of file and URL.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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-stream&lt;/artifactId&gt;
     &lt;version&gt;x.x.x&lt;/version&gt;
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div>
-
-
-<h3 id="BookInOnePage-URIformat.67">URI format</h3>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-stream:in[?options]
+</div></div><h3 id="BookInOnePage-URIformat.67">URI format</h3><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[stream:in[?options]
 stream:out[?options]
 stream:err[?options]
 stream:header[?options]
 ]]></script>
-</div></div>
-
-<p>In addition, the <code>file</code> and <code>url</code> endpoint URIs are supported:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-stream:file?fileName=/foo/bar.txt
+</div></div><p>In addition, the <code>file</code> and <code>url</code> endpoint URIs are supported:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[stream:file?fileName=/foo/bar.txt
 stream:url[?options]
 ]]></script>
-</div></div>
-
-<p>If the <code>stream:header</code> URI is specified, the <code>stream</code> header is used to find the stream to write to. This option is available only for stream producers (that is, it cannot appear in <code>from()</code>).</p>
-
-<p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p>
-
-<h3 id="BookInOnePage-Options.73">Options</h3>
-<div class="confluenceTableSmall">
-<div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p> Name </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default Value </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>delay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Initial delay in milliseconds before consuming or producing the stream. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>encoding</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <em>JVM Default</em> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>  You can configure the encoding (is a <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html" rel="nofollow">charset name</a>
 ) to use text-based streams (for example, message body is a <code>String</code> object). If not provided, Camel uses the <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html#defaultCharset()" rel="nofollow">JVM default Charset</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>promptMessage</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Message prompt to use when reading from <code>stream:in</code>; for example, you could set this to <code>Enter a command:</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>promptDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Optional delay in milliseconds before showing the message prompt. </p></td></tr><tr><td colspan="1" 
 rowspan="1" class="confluenceTd"><p> <code>initialPromptDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>2000</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Initial delay in milliseconds before showing the message prompt. This delay occurs only once. Can be used during system startup to avoid message prompts being written while other logging is done to the system out. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>fileName</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> When using the <code>stream:file</code> URI format, this option specifies the filename to stream to/from. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>url</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> W
 hen using the <code>stream:url</code> URI format, this option specifies the URL to stream to/from. The input/output stream will be opened using the <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/net/URLConnection.html" rel="nofollow">JDK URLConnection</a> facility. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>scanStream</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> To be used for continuously reading a stream such as the unix <code>tail</code> command. <br clear="none">
-                               <strong>Camel 2.4 to Camel 2.6:</strong> will retry opening the file if it is overwritten, somewhat like <code>tail --retry</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>retry</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.7:</strong> will retry opening the file if it's overwritten, somewhat like <code>tail --retry</code> </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>scanStreamDelay</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>0</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> Delay in milliseconds between read attempts when using <code>scanStream</code>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>groupLines</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.5:</strong> To group X number of lines in the consumer. For example to group 10 lines and therefore only spit out an <a shape="rect" href="exchange.html">Exchange</a> with 10 lines, instead of 1 <a shape="rect" href="exchange.html">Exchange</a> per line. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>autoCloseCount</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.10.0:</strong> (2.9.3 and 2.8.6) Number of messages to process before closing stream on Producer side. Never close stream by default (only when Producer is stopped). If more messages are sent, the stream is reopened for another <code>autoCloseCount</code> batch. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>closeOnDone</code> </p></td><td colspan="1" rowspan="1" class="c
 onfluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <strong>Camel 2.11.0:</strong> This option is used in combination with <a shape="rect" href="splitter.html">Splitter</a> and streaming to the same file. The idea is to keep the stream open and only close when the <a shape="rect" href="splitter.html">Splitter</a> is done, to improve performance. Mind this requires that you only stream to the same file, and not 2 or more files. </p></td></tr></tbody></table></div>
-</div>
-
-<h3 id="BookInOnePage-Messagecontent">Message content</h3>
-
-<p>The <strong>stream:</strong> component supports either <code>String</code> or <code>byte[]</code> for writing to streams. Just add either <code>String</code> or <code>byte[]</code> content to the <code>message.in.body</code>. Messages sent to the <strong>stream:</strong> producer in binary mode are not followed by the newline character (as opposed to the <code>String</code> messages). Message with <code>null</code> body will not be appended to the output stream.<br clear="none">
-The special <code>stream:header</code> URI is used for custom output streams. Just add a <code>java.io.OutputStream</code> object to <code>message.in.header</code> in the key <code>header</code>.<br clear="none">
-See samples for an example.</p>
-
-<h3 id="BookInOnePage-Samples.21">Samples</h3>
-
-<p>In the following sample we route messages from the <code>direct:in</code> endpoint to the <code>System.out</code> stream:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-// Route messages to the standard output.
+</div></div><p>If the <code>stream:header</code> URI is specified, the <code>stream</code> header is used to find the stream to write to. This option is available only for stream producers (that is, it cannot appear in <code>from()</code>).</p><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="BookInOnePage-Options.73">Options</h3><div class="confluenceTableSmall"><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>delay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Initial delay in milliseconds before consuming or producin
 g the stream.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>encoding</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><em>JVM Default</em></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>You can configure the encoding (is a <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html" rel="nofollow">charset name</a>) to use text-based streams (for example, message body is a <code>String</code> object). If not provided, Camel uses the <a shape="rect" class="external-link" href="http://java.sun.com/j2se/1.5.0/docs/api/java/nio/charset/Charset.html#defaultCharset()" rel="nofollow">JVM default Charset</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>promptMessage</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Message prompt to use when reading from <
 code>stream:in</code>; for example, you could set this to <code>Enter a command:</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>promptDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Optional delay in milliseconds before showing the message prompt.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>initialPromptDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>2000</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Initial delay in milliseconds before showing the message prompt. This delay occurs only once. Can be used during system startup to avoid message prompts being written while other logging is done to the system out.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>fileName</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null
 </code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When using the <code>stream:file</code> URI format, this option specifies the filename to stream to/from.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>url</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When using the <code>stream:url</code> URI format, this option specifies the URL to stream to/from. The input/output stream will be opened using the <a shape="rect" class="external-link" href="http://docs.oracle.com/javase/6/docs/api/java/net/URLConnection.html" rel="nofollow">JDK URLConnection</a> facility.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>scanStream</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>To be used for continuously reading a stream such as the 
 unix <code>tail</code> command. <br clear="none"> <strong>Camel 2.4 to Camel 2.6:</strong> will retry opening the file if it is overwritten, somewhat like <code>tail --retry</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>retry</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.7:</strong> will retry opening the file if it's overwritten, somewhat like <code>tail --retry</code></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>scanStreamDelay</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>0</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Delay in milliseconds between read attempts when using <code>scanStream</code>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>groupLines</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.5:</strong> To group X number of lines in the consumer. For example to group 10 lines and therefore only spit out an <a shape="rect" href="exchange.html">Exchange</a> with 10 lines, instead of 1 <a shape="rect" href="exchange.html">Exchange</a> per line.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>autoCloseCount</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.10.0:</strong> (2.9.3 and 2.8.6) Number of messages to process before closing stream on Producer side. Never close stream by default (only when Producer is stopped). If more messages are sent, the stream is reopened for another <code>autoCloseCount</code> batch.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>closeOnDone</code></p></td><td colspan="1" rowspan="1" class="confluenc
 eTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.11.0:</strong> This option is used in combination with <a shape="rect" href="splitter.html">Splitter</a> and streaming to the same file. The idea is to keep the stream open and only close when the <a shape="rect" href="splitter.html">Splitter</a> is done, to improve performance. Mind this requires that you only stream to the same file, and not 2 or more files, and that the last split message that carries the information that its the last, is routed to the stream endpoint so it gets the signal to close.</p></td></tr></tbody></table></div></div><h3 id="BookInOnePage-Messagecontent">Message content</h3><p>The <strong>stream:</strong> component supports either <code>String</code> or <code>byte[]</code> for writing to streams. Just add either <code>String</code> or <code>byte[]</code> content to the <code>message.in.body</code>. Messages sent to the <strong>stream:</strong> producer in 
 binary mode are not followed by the newline character (as opposed to the <code>String</code> messages). Message with <code>null</code> body will not be appended to the output stream.<br clear="none"> The special <code>stream:header</code> URI is used for custom output streams. Just add a <code>java.io.OutputStream</code> object to <code>message.in.header</code> in the key <code>header</code>.<br clear="none"> See samples for an example.</p><h3 id="BookInOnePage-Samples.21">Samples</h3><p>In the following sample we route messages from the <code>direct:in</code> endpoint to the <code>System.out</code> stream:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[// Route messages to the standard output.
 from(&quot;direct:in&quot;).to(&quot;stream:out&quot;);
 
 // Send String payload to the standard output.
@@ -26548,11 +26502,7 @@ template.sendBody(&quot;direct:in&quot;,
 // No newline will be added after the message.
 template.sendBody(&quot;direct:in&quot;, &quot;Hello Bytes World&quot;.getBytes());
 ]]></script>
-</div></div>
-
-<p>The following sample demonstrates how the header type can be used to determine which stream to use. In the sample we use our own output stream, <code>MyOutputStream</code>.</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The following sample demonstrates how the header type can be used to determine which stream to use. In the sample we use our own output stream, <code>MyOutputStream</code>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
 private OutputStream mystream = new MyOutputStream();
 private StringBuilder sb = new StringBuilder();
@@ -26587,18 +26537,10 @@ private class MyOutputStream extends Out
     }
 }
 ]]></script>
-</div></div>
-
-<p>The following sample demonstrates how to continuously read a file stream (analogous to the UNIX <code>tail</code> command):</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
-<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[
-from(&quot;stream:file?fileName=/server/logs/server.log&amp;scanStream=true&amp;scanStreamDelay=1000&quot;).to(&quot;bean:logService?method=parseLogLine&quot;);
+</div></div>The following sample demonstrates how to continuously read a file stream (analogous to the UNIX <code>tail</code> command):<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;stream:file?fileName=/server/logs/server.log&amp;scanStream=true&amp;scanStreamDelay=1000&quot;).to(&quot;bean:logService?method=parseLogLine&quot;);
 ]]></script>
-</div></div>
-
-<p>One gotcha with scanStream (pre Camel 2.7) or scanStream + retry is the file will be re-opened and scanned with each iteration of scanStreamDelay.  Until NIO2 is available we cannot reliably detect when a file is deleted/recreated.</p>
-
-<h3 id="BookInOnePage-SeeAlso.81">See Also</h3>
+</div></div><p>One gotcha with scanStream (pre Camel 2.7) or scanStream + retry is the file will be re-opened and scanned with each iteration of scanStreamDelay. Until NIO2 is available we cannot reliably detect when a file is deleted/recreated.</p><p></p><h3 id="BookInOnePage-SeeAlso.81">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> <h2 id="BookInOnePage-StringTemplate">String Template</h2><p>The <strong>string-template:</strong> component allows you to process a message using a <a shape="rect" class="external-link" href="http://www.stringtemplate.org/" rel="nofollow">String Template</a>. This can be ideal when using <a shape="rect" href="templating.html">Templating</a> to generate responses for requests.</p><p>Maven users will need to add the following dependency to their <code>pom.xml</code> for this component:</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;

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