Author: buildbot
Date: Fri Feb 12 11:22:26 2016
New Revision: 980203

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/cdi.html
    websites/production/camel/content/xslt.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 Fri Feb 12 
11:22:26 2016
@@ -1016,11 +1016,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.rbtoc1455182285720 {padding: 0px;}
-div.rbtoc1455182285720 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1455182285720 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1455275930877 {padding: 0px;}
+div.rbtoc1455275930877 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1455275930877 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1455182285720">
+/*]]>*/</style></p><div class="toc-macro rbtoc1455275930877">
 <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>
@@ -10770,7 +10770,7 @@ from(&quot;activemq:My.Queue&quot;).
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><p>From Camel 2.9 onwards the <a shape="rect" 
href="xslt.html">XSLT</a> component is provided directly in the 
camel-core.</p><h3 id="BookComponentAppendix-Options.60">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>converter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/converter/jaxp/XmlConverter.html";>XmlConverter</a>.
 Will lookup for the converter in the <a shape="rect" href="registry.html">Re
 gistry</a>. The provided converted must be of type 
org.apache.camel.converter.jaxp.XmlConverter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>transformerFactory</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will lookup for the transformerFactory 
in the <a shape="rect" href="registry.html">Registry</a>. The provided 
transformer factory must be of type 
javax.xml.transform.TransformerFactory.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>transformerFactoryClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape=
 "rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will create a TransformerFactoryClass 
instance and set it to the converter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>uriResolverFactory</code></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code>DefaultXsltUriResolverFactory</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17</strong>: <span 
style="color: rgb(51,51,51);">&#160;Reference to a&#160;</span><code 
style="text-align: left;">org.apache.camel.component.</code><code 
style="text-align: left;">xslt</code><code style="text-align: 
left;">.</code><span style="color: 
rgb(51,51,51);"><code>XsltUriResolverFactory</code> which creates an URI 
resolver per endpoint</span><code style="text-align: left;">.</code><span 
style="color: rgb(51,51,51);">The default implementation returns an instance 
of&#160;<code><span>org.
 apache.camel.component.xslt.</span></code></span><span style="color: 
rgb(51,51,51);"><span><code>DefaultXsltUriResolverFactory</code> which creates 
the default URI resolver&#160;<span style="color: rgb(51,51,51);"><span><span 
style="color: 
rgb(51,51,51);"><code><span>org.apache.camel.builder.</span><span>xml</span></code></span>.XsltUriResolver</span></span>
 per endpoint. The default URI resolver reads XSLT documents from the classpath 
and the file system. This option instead of the option 
<code>uriResolver</code>&#160;shall be used when the URI resolver depends on 
the resource URI of the root XSLT document specified in the endpoint; for 
example, if you want to extend the default URI resolver. This option is also 
available on the XSLT component, so that you can set the resource resolver 
factory only once for all endpoints.</span></span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>uriResolver</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.3</strong>: Allows you to use a custom 
<code>javax.xml.transformation.URIResolver</code>. Camel will by default use 
its own implementation 
<code>org.apache.camel.builder.xml.XsltUriResolver</code> which is capable of 
loading from classpath.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resultHandlerFactory</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.3:</strong> 
Allows you to use a custom 
<code>org.apache.camel.builder.xml.ResultHandlerFactory</code> which is capable 
of using custom <code>org.apache.camel.builder.xml.ResultHandler</code> 
types.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>failOnNullBody</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspa
 n="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> Whether or not to 
throw an exception if the input body is null.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>deleteOutputFile</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.6:</strong> If 
you have <code>output=file</code> then this option dictates whether or not the 
output file should be deleted when the <a shape="rect" 
href="exchange.html">Exchange</a> is done processing. For example suppose the 
output file is a temporary file, then it can be a good idea to delete it after 
use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>output</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>string</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Option to specify which 
output type to use. Possible 
 values are: <code>string, bytes, DOM, file</code>. The first three options are 
all in memory based, where as <code>file</code> is streamed directly to a 
<code>java.io.File</code>. For <code>file</code> you <strong>must</strong> 
specify the filename in the IN header with the key 
<code>Exchange.XSLT_FILE_NAME</code> which is also 
<code>CamelXsltFileName</code>. Also any paths leading to the filename must be 
created beforehand, otherwise an exception is thrown at 
runtime.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentCache</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.6:</strong> Cache for the 
resource content (the stylesheet file) when it is loaded. If set to 
<code>false</code> Camel will reload the stylesheet file on each message 
processing. This is good for development. <br clear="none"> Note: from 
<strong>Camel 2.9</strong> a cached 
 stylesheet can be forced to reload at runtime via JMX using the 
<code>clearCachedStylesheet</code> operation.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>allowStAX</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.3/2.9:</strong> Whether 
to allow using StAX as the <code>javax.xml.transform.Source</code>. The option 
is default <code>false</code> in Camel 2.11.3/2.12.2 or older. And default 
<code>true</code> in Camel 2.11.4/2.12.3 onwards.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transformerCacheSize</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.9.3/2.10.1:</strong> The number of 
<code>javax.xml.transform.Transformer</code> object that are cached for reuse 
to avoid calls to <code>Template.newTransformer()</code
 >.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>saxon</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.11:</strong> 
 >Whether to use Saxon as the <code>transformerFactoryClass</code>. If enabled 
 >then the class <code>net.sf.saxon.TransformerFactoryImpl</code>. You would 
 >need to add Saxon to the classpath.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd">errorListener</td><td colspan="1" 
 >rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
 >class="confluenceTd"><strong>Camel 2.14:</strong> Allows to configure to use 
 >a custom <code>javax.xml.transform.ErrorListener</code>. Beware when doing 
 >this then the default error listener which captures any errors or fatal 
 >errors and store information on the Exchange as properties is not in use. So 
 >only use this option for special use-cases.</td></tr></tbody></table></div></
 div><h3 id="BookComponentAppendix-UsingXSLTendpoints">Using XSLT 
endpoints</h3><p>For example you could use something like</p><div class="code 
panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>From Camel 2.9 onwards the <a shape="rect" 
href="xslt.html">XSLT</a> component is provided directly in the 
camel-core.</p><h3 id="BookComponentAppendix-Options.60">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>converter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/converter/jaxp/XmlConverter.html";>XmlConverter</a>.
 Will lookup for the converter in the <a shape="rect" href="registry.html">Re
 gistry</a>. The provided converted must be of type 
org.apache.camel.converter.jaxp.XmlConverter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>transformerFactory</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will lookup for the transformerFactory 
in the <a shape="rect" href="registry.html">Registry</a>. The provided 
transformer factory must be of type 
javax.xml.transform.TransformerFactory.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>transformerFactoryClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape=
 "rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will create a TransformerFactoryClass 
instance and set it to the converter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>uriResolverFactory</code></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code>DefaultXsltUriResolverFactory</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17</strong>: <span 
style="color: rgb(51,51,51);">&#160;Reference to a&#160;</span><code 
style="text-align: left;">org.apache.camel.component.</code><code 
style="text-align: left;">xslt</code><code style="text-align: 
left;">.</code><span style="color: 
rgb(51,51,51);"><code>XsltUriResolverFactory</code> which creates an URI 
resolver per endpoint</span><code style="text-align: left;">.</code><span 
style="color: rgb(51,51,51);">The default implementation returns an instance 
of&#160;<code><span>org.
 apache.camel.component.xslt.</span></code></span><span style="color: 
rgb(51,51,51);"><span><code>DefaultXsltUriResolverFactory</code> which creates 
the default URI resolver&#160;<span style="color: rgb(51,51,51);"><span><span 
style="color: 
rgb(51,51,51);"><code><span>org.apache.camel.builder.</span><span>xml</span></code></span>.XsltUriResolver</span></span>
 per endpoint. The default URI resolver reads XSLT documents from the classpath 
and the file system. This option instead of the option 
<code>uriResolver</code>&#160;shall be used when the URI resolver depends on 
the resource URI of the root XSLT document specified in the endpoint; for 
example, if you want to extend the default URI resolver. This option is also 
available on the XSLT component, so that you can set the resource resolver 
factory only once for all endpoints.</span></span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>uriResolver</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.3</strong>: Allows you to use a custom 
<code>javax.xml.transformation.URIResolver</code>. Camel will by default use 
its own implementation 
<code>org.apache.camel.builder.xml.XsltUriResolver</code> which is capable of 
loading from classpath.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resultHandlerFactory</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.3:</strong> 
Allows you to use a custom 
<code>org.apache.camel.builder.xml.ResultHandlerFactory</code> which is capable 
of using custom <code>org.apache.camel.builder.xml.ResultHandler</code> 
types.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>failOnNullBody</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspa
 n="1" class="confluenceTd"><p><strong>Camel 2.3:</strong> Whether or not to 
throw an exception if the input body is null.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>deleteOutputFile</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.6:</strong> If 
you have <code>output=file</code> then this option dictates whether or not the 
output file should be deleted when the <a shape="rect" 
href="exchange.html">Exchange</a> is done processing. For example suppose the 
output file is a temporary file, then it can be a good idea to delete it after 
use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>output</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>string</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Option to specify which 
output type to use. Possible 
 values are: <code>string, bytes, DOM, file</code>. The first three options are 
all in memory based, where as <code>file</code> is streamed directly to a 
<code>java.io.File</code>. For <code>file</code> you <strong>must</strong> 
specify the filename in the IN header with the key 
<code>Exchange.XSLT_FILE_NAME</code> which is also 
<code>CamelXsltFileName</code>. Also any paths leading to the filename must be 
created beforehand, otherwise an exception is thrown at 
runtime.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentCache</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.6:</strong> Cache for the 
resource content (the stylesheet file) when it is loaded. If set to 
<code>false</code> Camel will reload the stylesheet file on each message 
processing. This is good for development. <br clear="none"> Note: from 
<strong>Camel 2.9</strong> a cached 
 stylesheet can be forced to reload at runtime via JMX using the 
<code>clearCachedStylesheet</code> operation.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>allowStAX</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.3/2.9:</strong> Whether 
to allow using StAX as the <code>javax.xml.transform.Source</code>. The option 
is default <code>false</code> in Camel 2.11.3/2.12.2 or older. And default 
<code>true</code> in Camel 2.11.4/2.12.3 onwards.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transformerCacheSize</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.9.3/2.10.1:</strong> The number of 
<code>javax.xml.transform.Transformer</code> object that are cached for reuse 
to avoid calls to <code>Template.newTransformer()</code
 >.</p></td></tr><tr><td colspan="1" rowspan="1" 
 >class="confluenceTd"><p><code>saxon</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.11:</strong> 
 >Whether to use Saxon as the <code>transformerFactoryClass</code>. If enabled 
 >then the class <code>net.sf.saxon.TransformerFactoryImpl</code>. You would 
 >need to add Saxon to the classpath.</p></td></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd"><span>saxonExtensionFunctions</span></td><td 
 >colspan="1" rowspan="1" class="confluenceTd">null</td><td colspan="1" 
 >rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong><span> 
 ><span>Allows to configure one or more custom 
 >net.sf.saxon.lib.ExtensionFunctionDefinition<span>. You would need to add 
 >Saxon to the classpath. By setting this option, saxon option will be turned 
 >out automatically.</span></span></span></td></tr><tr><td colspan="1" 
 >rowspan="1" class="confluenceTd">erro
 rListener</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> 
Allows to configure to use a custom 
<code>javax.xml.transform.ErrorListener</code>. Beware when doing this then the 
default error listener which captures any errors or fatal errors and store 
information on the Exchange as properties is not in use. So only use this 
option for special use-cases.</td></tr></tbody></table></div></div><h3 
id="BookComponentAppendix-UsingXSLTendpoints">Using XSLT endpoints</h3><p>For 
example you could use something like</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;activemq:My.Queue&quot;).
   to(&quot;xslt:com/acme/mytransform.xsl&quot;);
 ]]></script>
@@ -10823,7 +10823,31 @@ from(&quot;activemq:My.Queue&quot;).
 </div></div><p>From Camel 2.10.4 onwards we have made this easier as Camel 
will use the prefix from the endpoint configuration as the default prefix. So 
from Camel 2.10.4 onwards you can do:</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;xsl:include 
href=&quot;staff_template.xsl&quot;/&gt;
 ]]></script>
-</div></div><p>Which will load the staff_template.xsl resource from the file 
system, as the endpoint was configured with "file:" as prefix.<br clear="none"> 
You can still though explicit configure a prefix, and then mix and match. And 
have both file and classpath loading. But that would be unusual, as most people 
either use file or classpath based resources.</p><h3 
id="BookComponentAppendix-Dynamicstylesheets">Dynamic stylesheets</h3><p>To 
provide a dynamic stylesheet at runtime you can define a dynamic URI. 
See&#160;<a shape="rect" href="how-to-use-a-dynamic-uri-in-to.html">How to use 
a dynamic URI in to()</a> for more information.</p><p><strong>Available as of 
Camel 2.9 (removed in 2.11.4, 2.12.3 and 2.13.0)</strong><br clear="none"> 
Camel provides the <code>CamelXsltResourceUri</code> header which you can use 
to define a stylesheet to use instead of what is configured on the endpoint 
URI. This allows you to provide a dynamic stylesheet at runtime.</p><h3 
id="BookComponentAppendix
 -Accessingwarnings,errorsandfatalErrorsfromXSLTErrorListener">Accessing 
warnings, errors and fatalErrors from XSLT 
ErrorListener</h3><p><strong>Available as of Camel 2.14</strong></p><p>From 
Camel 2.14 onwards, any warning/error or fatalError is stored on the current 
Exchange as a property with the 
keys&#160;<code>Exchange.XSLT_ERROR</code>,&#160;<code>Exchange.XSLT_FATAL_ERROR</code>,
 or&#160;<code>Exchange.XSLT_WARNING</code> which allows end users to get hold 
of any errors happening during transformation.</p><p>For example in the 
stylesheet below, we want to terminate if a staff has an empty dob field. And 
to include a custom error message using xsl:message.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Which will load the staff_template.xsl resource from the file 
system, as the endpoint was configured with "file:" as prefix.<br clear="none"> 
You can still though explicit configure a prefix, and then mix and match. And 
have both file and classpath loading. But that would be unusual, as most people 
either use file or classpath based resources.</p><h3 
id="BookComponentAppendix-UsingSaxonextensionfunctions">Using Saxon extension 
functions</h3><p>Since Saxon 9.2, writing extension functions has been 
supplemented by a new mechanism, referred to as&#160;<a shape="rect" 
class="external-link" 
href="http://www.saxonica.com/html/documentation/extensibility/integratedfunctions";
 rel="nofollow" title="Follow link">integrated extension functions</a>&#160;you 
can now easily use camel:</p><div><p>&#160;</p><p>-&#160;Java example:</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[SimpleRegistry registry = new 
SimpleRegistry();
+registry.put(&quot;function1&quot;, new MyExtensionFunction1());
+registry.put(&quot;function2&quot;, new MyExtensionFunction2());
+
+CamelContext context = new DefaultCamelContext(registry);
+context.addRoutes(new RouteBuilder() {
+    @Override
+    public void configure() throws Exception {
+        from(&quot;direct:start&quot;)
+            
.to(&quot;xslt:org/apache/camel/component/xslt/extensions/extensions.xslt?saxonExtensionFunctions=#function1,#function2&quot;);
+    }
+});]]></script>
+</div></div><p>&#160;</p><p>Spring example:</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;camelContext 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+  &lt;route&gt;
+    &lt;from uri=&quot;direct:extensions&quot;/&gt;
+    &lt;to 
uri=&quot;xslt:org/apache/camel/component/xslt/extensions/extensions.xslt?saxonExtensionFunctions=#function1,#function2&quot;/&gt;
+  &lt;/route&gt;
+&lt;/camelContext&gt;
+
+
+&lt;bean id=&quot;function1&quot; 
class=&quot;org.apache.camel.component.xslt.extensions.MyExtensionFunction1&quot;/&gt;
+&lt;bean id=&quot;function2&quot; 
class=&quot;org.apache.camel.component.xslt.extensions.MyExtensionFunction2&quot;/&gt;]]></script>
+</div></div><p>&#160;</p></div><p>&#160;</p><h3 
id="BookComponentAppendix-Dynamicstylesheets">Dynamic stylesheets</h3><p>To 
provide a dynamic stylesheet at runtime you can define a dynamic URI. 
See&#160;<a shape="rect" href="how-to-use-a-dynamic-uri-in-to.html">How to use 
a dynamic URI in to()</a> for more information.</p><p><strong>Available as of 
Camel 2.9 (removed in 2.11.4, 2.12.3 and 2.13.0)</strong><br clear="none"> 
Camel provides the <code>CamelXsltResourceUri</code> header which you can use 
to define a stylesheet to use instead of what is configured on the endpoint 
URI. This allows you to provide a dynamic stylesheet at runtime.</p><h3 
id="BookComponentAppendix-Accessingwarnings,errorsandfatalErrorsfromXSLTErrorListener">Accessing
 warnings, errors and fatalErrors from XSLT 
ErrorListener</h3><p><strong>Available as of Camel 2.14</strong></p><p>From 
Camel 2.14 onwards, any warning/error or fatalError is stored on the current 
Exchange as a property with the keys&#160;<code>Exch
 ange.XSLT_ERROR</code>,&#160;<code>Exchange.XSLT_FATAL_ERROR</code>, 
or&#160;<code>Exchange.XSLT_WARNING</code> which allows end users to get hold 
of any errors happening during transformation.</p><p>For example in the 
stylesheet below, we want to terminate if a staff has an empty dob field. And 
to include a custom error message using xsl:message.</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[  &lt;xsl:template match=&quot;/&quot;&gt;
     &lt;html&gt;
       &lt;body&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 Fri Feb 12 11:22:26 
2016
@@ -3731,11 +3731,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.rbtoc1455182301936 {padding: 0px;}
-div.rbtoc1455182301936 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1455182301936 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1455275985042 {padding: 0px;}
+div.rbtoc1455275985042 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1455275985042 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1455182301936">
+/*]]>*/</style></p><div class="toc-macro rbtoc1455275985042">
 <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>
@@ -3899,6 +3899,7 @@ public class ServerRoutes extends RouteB
 &lt;!-- Camel JMSProducer to be able to send messages to a remote Active MQ 
server --&gt;
 &lt;bean id=&quot;jms&quot; 
class=&quot;org.apache.activemq.camel.component.ActiveMQComponent&quot;&gt;
   &lt;property name=&quot;brokerURL&quot; 
value=&quot;tcp://localhost:${tcp.port}&quot;/&gt;
+  &lt;property name=&quot;trustAllPackages&quot; value=&quot;true&quot;/&gt;
 &lt;/bean&gt;
 ]]></script>
 </div></div>The client will not use the <a shape="rect" 
href="camel-maven-plugin.html">Camel Maven Plugin</a> so the Spring XML has 
been placed in <em>src/main/resources</em> to not conflict with the server 
configs.<div class="table-wrap"><table class="confluenceTable"><tbody><tr><td 
colspan="1" rowspan="1" class="confluenceTd"><p>camelContext</p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>The Camel context is defined 
but does not contain any routes</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>template</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>The <code>ProducerTemplate</code> is used to place 
messages onto the JMS queue</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p>jms bean</p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p>This initialises the Camel JMS component, allowing us 
to place messages onto the queue</p></td></tr></tbody></table></div><p>And the 
CamelClient source code:</p><div class="co
 de panel pdl" style="border-width: 1px;"><div class="codeContent panelContent 
pdl">
@@ -5840,11 +5841,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.rbtoc1455182303528 {padding: 0px;}
-div.rbtoc1455182303528 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1455182303528 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1455275986377 {padding: 0px;}
+div.rbtoc1455275986377 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1455275986377 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1455182303528">
+/*]]>*/</style><div class="toc-macro rbtoc1455275986377">
 <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>
@@ -17299,11 +17300,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.rbtoc1455182310448 {padding: 0px;}
-div.rbtoc1455182310448 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1455182310448 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1455276036855 {padding: 0px;}
+div.rbtoc1455276036855 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1455276036855 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1455182310448">
+/*]]>*/</style></p><div class="toc-macro rbtoc1455276036855">
 <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>
@@ -27053,7 +27054,7 @@ from(&quot;activemq:My.Queue&quot;).
     &lt;!-- use the same version as your Camel core version --&gt;
 &lt;/dependency&gt;
 ]]></script>
-</div></div><p>From Camel 2.9 onwards the <a shape="rect" 
href="xslt.html">XSLT</a> component is provided directly in the 
camel-core.</p><h3 id="BookInOnePage-Options.81">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>converter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/converter/jaxp/XmlConverter.html";>XmlConverter</a>.
 Will lookup for the converter in the <a shape="rect" 
href="registry.html">Registry</
 a>. The provided converted must be of type 
org.apache.camel.converter.jaxp.XmlConverter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>transformerFactory</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will lookup for the transformerFactory 
in the <a shape="rect" href="registry.html">Registry</a>. The provided 
transformer factory must be of type 
javax.xml.transform.TransformerFactory.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>transformerFactoryClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" c
 lass="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will create a TransformerFactoryClass 
instance and set it to the converter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>uriResolverFactory</code></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code>DefaultXsltUriResolverFactory</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17</strong>: <span 
style="color: rgb(51,51,51);">&#160;Reference to a&#160;</span><code 
style="text-align: left;">org.apache.camel.component.</code><code 
style="text-align: left;">xslt</code><code style="text-align: 
left;">.</code><span style="color: 
rgb(51,51,51);"><code>XsltUriResolverFactory</code> which creates an URI 
resolver per endpoint</span><code style="text-align: left;">.</code><span 
style="color: rgb(51,51,51);">The default implementation returns an instance 
of&#160;<code><span>org.apache.c
 amel.component.xslt.</span></code></span><span style="color: 
rgb(51,51,51);"><span><code>DefaultXsltUriResolverFactory</code> which creates 
the default URI resolver&#160;<span style="color: rgb(51,51,51);"><span><span 
style="color: 
rgb(51,51,51);"><code><span>org.apache.camel.builder.</span><span>xml</span></code></span>.XsltUriResolver</span></span>
 per endpoint. The default URI resolver reads XSLT documents from the classpath 
and the file system. This option instead of the option 
<code>uriResolver</code>&#160;shall be used when the URI resolver depends on 
the resource URI of the root XSLT document specified in the endpoint; for 
example, if you want to extend the default URI resolver. This option is also 
available on the XSLT component, so that you can set the resource resolver 
factory only once for all endpoints.</span></span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>uriResolver</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.3</strong>: Allows you to use a custom 
<code>javax.xml.transformation.URIResolver</code>. Camel will by default use 
its own implementation 
<code>org.apache.camel.builder.xml.XsltUriResolver</code> which is capable of 
loading from classpath.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resultHandlerFactory</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.3:</strong> 
Allows you to use a custom 
<code>org.apache.camel.builder.xml.ResultHandlerFactory</code> which is capable 
of using custom <code>org.apache.camel.builder.xml.ResultHandler</code> 
types.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>failOnNullBody</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" cl
 ass="confluenceTd"><p><strong>Camel 2.3:</strong> Whether or not to throw an 
exception if the input body is null.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>deleteOutputFile</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.6:</strong> If 
you have <code>output=file</code> then this option dictates whether or not the 
output file should be deleted when the <a shape="rect" 
href="exchange.html">Exchange</a> is done processing. For example suppose the 
output file is a temporary file, then it can be a good idea to delete it after 
use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>output</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>string</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Option to specify which 
output type to use. Possible values a
 re: <code>string, bytes, DOM, file</code>. The first three options are all in 
memory based, where as <code>file</code> is streamed directly to a 
<code>java.io.File</code>. For <code>file</code> you <strong>must</strong> 
specify the filename in the IN header with the key 
<code>Exchange.XSLT_FILE_NAME</code> which is also 
<code>CamelXsltFileName</code>. Also any paths leading to the filename must be 
created beforehand, otherwise an exception is thrown at 
runtime.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentCache</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.6:</strong> Cache for the 
resource content (the stylesheet file) when it is loaded. If set to 
<code>false</code> Camel will reload the stylesheet file on each message 
processing. This is good for development. <br clear="none"> Note: from 
<strong>Camel 2.9</strong> a cached styleshe
 et can be forced to reload at runtime via JMX using the 
<code>clearCachedStylesheet</code> operation.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>allowStAX</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.3/2.9:</strong> Whether 
to allow using StAX as the <code>javax.xml.transform.Source</code>. The option 
is default <code>false</code> in Camel 2.11.3/2.12.2 or older. And default 
<code>true</code> in Camel 2.11.4/2.12.3 onwards.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transformerCacheSize</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.9.3/2.10.1:</strong> The number of 
<code>javax.xml.transform.Transformer</code> object that are cached for reuse 
to avoid calls to <code>Template.newTransformer()</code>.</p></
 td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>saxon</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.11:</strong> Whether to use Saxon as 
the <code>transformerFactoryClass</code>. If enabled then the class 
<code>net.sf.saxon.TransformerFactoryImpl</code>. You would need to add Saxon 
to the classpath.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">errorListener</td><td colspan="1" rowspan="1" 
class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.14:</strong> Allows to configure to use a 
custom <code>javax.xml.transform.ErrorListener</code>. Beware when doing this 
then the default error listener which captures any errors or fatal errors and 
store information on the Exchange as properties is not in use. So only use this 
option for special use-cases.</td></tr></tbody></table></div></div><h3 
 id="BookInOnePage-UsingXSLTendpoints">Using XSLT endpoints</h3><p>For example 
you could use something like</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>From Camel 2.9 onwards the <a shape="rect" 
href="xslt.html">XSLT</a> component is provided directly in the 
camel-core.</p><h3 id="BookInOnePage-Options.81">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>converter</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/converter/jaxp/XmlConverter.html";>XmlConverter</a>.
 Will lookup for the converter in the <a shape="rect" 
href="registry.html">Registry</
 a>. The provided converted must be of type 
org.apache.camel.converter.jaxp.XmlConverter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>transformerFactory</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" class="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will lookup for the transformerFactory 
in the <a shape="rect" href="registry.html">Registry</a>. The provided 
transformer factory must be of type 
javax.xml.transform.TransformerFactory.</p></td></tr><tr><td colspan="1" 
rowspan="1" 
class="confluenceTd"><p><code>transformerFactoryClass</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>Option to override default <a 
shape="rect" c
 lass="external-link" 
href="http://java.sun.com/j2se/1.5.0/docs/api/javax/xml/transform/TransformerFactory.html";
 rel="nofollow">TransformerFactory</a>. Will create a TransformerFactoryClass 
instance and set it to the converter.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><code>uriResolverFactory</code></td><td 
colspan="1" rowspan="1" 
class="confluenceTd"><code>DefaultXsltUriResolverFactory</code></td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17</strong>: <span 
style="color: rgb(51,51,51);">&#160;Reference to a&#160;</span><code 
style="text-align: left;">org.apache.camel.component.</code><code 
style="text-align: left;">xslt</code><code style="text-align: 
left;">.</code><span style="color: 
rgb(51,51,51);"><code>XsltUriResolverFactory</code> which creates an URI 
resolver per endpoint</span><code style="text-align: left;">.</code><span 
style="color: rgb(51,51,51);">The default implementation returns an instance 
of&#160;<code><span>org.apache.c
 amel.component.xslt.</span></code></span><span style="color: 
rgb(51,51,51);"><span><code>DefaultXsltUriResolverFactory</code> which creates 
the default URI resolver&#160;<span style="color: rgb(51,51,51);"><span><span 
style="color: 
rgb(51,51,51);"><code><span>org.apache.camel.builder.</span><span>xml</span></code></span>.XsltUriResolver</span></span>
 per endpoint. The default URI resolver reads XSLT documents from the classpath 
and the file system. This option instead of the option 
<code>uriResolver</code>&#160;shall be used when the URI resolver depends on 
the resource URI of the root XSLT document specified in the endpoint; for 
example, if you want to extend the default URI resolver. This option is also 
available on the XSLT component, so that you can set the resource resolver 
factory only once for all endpoints.</span></span></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>uriResolver</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.3</strong>: Allows you to use a custom 
<code>javax.xml.transformation.URIResolver</code>. Camel will by default use 
its own implementation 
<code>org.apache.camel.builder.xml.XsltUriResolver</code> which is capable of 
loading from classpath.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>resultHandlerFactory</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.3:</strong> 
Allows you to use a custom 
<code>org.apache.camel.builder.xml.ResultHandlerFactory</code> which is capable 
of using custom <code>org.apache.camel.builder.xml.ResultHandler</code> 
types.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>failOnNullBody</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>true</code></p></td><td colspan="1" 
rowspan="1" cl
 ass="confluenceTd"><p><strong>Camel 2.3:</strong> Whether or not to throw an 
exception if the input body is null.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>deleteOutputFile</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.6:</strong> If 
you have <code>output=file</code> then this option dictates whether or not the 
output file should be deleted when the <a shape="rect" 
href="exchange.html">Exchange</a> is done processing. For example suppose the 
output file is a temporary file, then it can be a good idea to delete it after 
use.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>output</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>string</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><strong>Camel 2.3:</strong> Option to specify which 
output type to use. Possible values a
 re: <code>string, bytes, DOM, file</code>. The first three options are all in 
memory based, where as <code>file</code> is streamed directly to a 
<code>java.io.File</code>. For <code>file</code> you <strong>must</strong> 
specify the filename in the IN header with the key 
<code>Exchange.XSLT_FILE_NAME</code> which is also 
<code>CamelXsltFileName</code>. Also any paths leading to the filename must be 
created beforehand, otherwise an exception is thrown at 
runtime.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>contentCache</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.6:</strong> Cache for the 
resource content (the stylesheet file) when it is loaded. If set to 
<code>false</code> Camel will reload the stylesheet file on each message 
processing. This is good for development. <br clear="none"> Note: from 
<strong>Camel 2.9</strong> a cached styleshe
 et can be forced to reload at runtime via JMX using the 
<code>clearCachedStylesheet</code> operation.</p></td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>allowStAX</code></p></td><td 
colspan="1" rowspan="1" class="confluenceTd"><p>&#160;</p></td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><strong>Camel 2.8.3/2.9:</strong> Whether 
to allow using StAX as the <code>javax.xml.transform.Source</code>. The option 
is default <code>false</code> in Camel 2.11.3/2.12.2 or older. And default 
<code>true</code> in Camel 2.11.4/2.12.3 onwards.</p></td></tr><tr><td 
colspan="1" rowspan="1" 
class="confluenceTd"><p><code>transformerCacheSize</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.9.3/2.10.1:</strong> The number of 
<code>javax.xml.transform.Transformer</code> object that are cached for reuse 
to avoid calls to <code>Template.newTransformer()</code>.</p></
 td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>saxon</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.11:</strong> Whether to use Saxon as 
the <code>transformerFactoryClass</code>. If enabled then the class 
<code>net.sf.saxon.TransformerFactoryImpl</code>. You would need to add Saxon 
to the classpath.</p></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd"><span>saxonExtensionFunctions</span></td><td colspan="1" 
rowspan="1" class="confluenceTd">null</td><td colspan="1" rowspan="1" 
class="confluenceTd"><strong>Camel 2.17:</strong><span> <span>Allows to 
configure one or more custom 
net.sf.saxon.lib.ExtensionFunctionDefinition<span>. You would need to add Saxon 
to the classpath. By setting this option, saxon option will be turned out 
automatically.</span></span></span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">errorListene
 r</td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td 
colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.14:</strong> 
Allows to configure to use a custom 
<code>javax.xml.transform.ErrorListener</code>. Beware when doing this then the 
default error listener which captures any errors or fatal errors and store 
information on the Exchange as properties is not in use. So only use this 
option for special use-cases.</td></tr></tbody></table></div></div><h3 
id="BookInOnePage-UsingXSLTendpoints">Using XSLT endpoints</h3><p>For example 
you could use something like</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;activemq:My.Queue&quot;).
   to(&quot;xslt:com/acme/mytransform.xsl&quot;);
 ]]></script>
@@ -27106,7 +27107,31 @@ from(&quot;activemq:My.Queue&quot;).
 </div></div><p>From Camel 2.10.4 onwards we have made this easier as Camel 
will use the prefix from the endpoint configuration as the default prefix. So 
from Camel 2.10.4 onwards you can do:</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;xsl:include 
href=&quot;staff_template.xsl&quot;/&gt;
 ]]></script>
-</div></div><p>Which will load the staff_template.xsl resource from the file 
system, as the endpoint was configured with "file:" as prefix.<br clear="none"> 
You can still though explicit configure a prefix, and then mix and match. And 
have both file and classpath loading. But that would be unusual, as most people 
either use file or classpath based resources.</p><h3 
id="BookInOnePage-Dynamicstylesheets">Dynamic stylesheets</h3><p>To provide a 
dynamic stylesheet at runtime you can define a dynamic URI. See&#160;<a 
shape="rect" href="how-to-use-a-dynamic-uri-in-to.html">How to use a dynamic 
URI in to()</a> for more information.</p><p><strong>Available as of Camel 2.9 
(removed in 2.11.4, 2.12.3 and 2.13.0)</strong><br clear="none"> Camel provides 
the <code>CamelXsltResourceUri</code> header which you can use to define a 
stylesheet to use instead of what is configured on the endpoint URI. This 
allows you to provide a dynamic stylesheet at runtime.</p><h3 
id="BookInOnePage-Accessingwarnin
 gs,errorsandfatalErrorsfromXSLTErrorListener">Accessing warnings, errors and 
fatalErrors from XSLT ErrorListener</h3><p><strong>Available as of Camel 
2.14</strong></p><p>From Camel 2.14 onwards, any warning/error or fatalError is 
stored on the current Exchange as a property with the 
keys&#160;<code>Exchange.XSLT_ERROR</code>,&#160;<code>Exchange.XSLT_FATAL_ERROR</code>,
 or&#160;<code>Exchange.XSLT_WARNING</code> which allows end users to get hold 
of any errors happening during transformation.</p><p>For example in the 
stylesheet below, we want to terminate if a staff has an empty dob field. And 
to include a custom error message using xsl:message.</p><div class="code panel 
pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Which will load the staff_template.xsl resource from the file 
system, as the endpoint was configured with "file:" as prefix.<br clear="none"> 
You can still though explicit configure a prefix, and then mix and match. And 
have both file and classpath loading. But that would be unusual, as most people 
either use file or classpath based resources.</p><h3 
id="BookInOnePage-UsingSaxonextensionfunctions">Using Saxon extension 
functions</h3><p>Since Saxon 9.2, writing extension functions has been 
supplemented by a new mechanism, referred to as&#160;<a shape="rect" 
class="external-link" 
href="http://www.saxonica.com/html/documentation/extensibility/integratedfunctions";
 rel="nofollow" title="Follow link">integrated extension functions</a>&#160;you 
can now easily use camel:</p><div><p>&#160;</p><p>-&#160;Java example:</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[SimpleRegistry registry = new 
SimpleRegistry();
+registry.put(&quot;function1&quot;, new MyExtensionFunction1());
+registry.put(&quot;function2&quot;, new MyExtensionFunction2());
+
+CamelContext context = new DefaultCamelContext(registry);
+context.addRoutes(new RouteBuilder() {
+    @Override
+    public void configure() throws Exception {
+        from(&quot;direct:start&quot;)
+            
.to(&quot;xslt:org/apache/camel/component/xslt/extensions/extensions.xslt?saxonExtensionFunctions=#function1,#function2&quot;);
+    }
+});]]></script>
+</div></div><p>&#160;</p><p>Spring example:</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;camelContext 
xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+  &lt;route&gt;
+    &lt;from uri=&quot;direct:extensions&quot;/&gt;
+    &lt;to 
uri=&quot;xslt:org/apache/camel/component/xslt/extensions/extensions.xslt?saxonExtensionFunctions=#function1,#function2&quot;/&gt;
+  &lt;/route&gt;
+&lt;/camelContext&gt;
+
+
+&lt;bean id=&quot;function1&quot; 
class=&quot;org.apache.camel.component.xslt.extensions.MyExtensionFunction1&quot;/&gt;
+&lt;bean id=&quot;function2&quot; 
class=&quot;org.apache.camel.component.xslt.extensions.MyExtensionFunction2&quot;/&gt;]]></script>
+</div></div><p>&#160;</p></div><p>&#160;</p><h3 
id="BookInOnePage-Dynamicstylesheets">Dynamic stylesheets</h3><p>To provide a 
dynamic stylesheet at runtime you can define a dynamic URI. See&#160;<a 
shape="rect" href="how-to-use-a-dynamic-uri-in-to.html">How to use a dynamic 
URI in to()</a> for more information.</p><p><strong>Available as of Camel 2.9 
(removed in 2.11.4, 2.12.3 and 2.13.0)</strong><br clear="none"> Camel provides 
the <code>CamelXsltResourceUri</code> header which you can use to define a 
stylesheet to use instead of what is configured on the endpoint URI. This 
allows you to provide a dynamic stylesheet at runtime.</p><h3 
id="BookInOnePage-Accessingwarnings,errorsandfatalErrorsfromXSLTErrorListener">Accessing
 warnings, errors and fatalErrors from XSLT 
ErrorListener</h3><p><strong>Available as of Camel 2.14</strong></p><p>From 
Camel 2.14 onwards, any warning/error or fatalError is stored on the current 
Exchange as a property with the keys&#160;<code>Exchange.XSLT_ERROR<
 /code>,&#160;<code>Exchange.XSLT_FATAL_ERROR</code>, 
or&#160;<code>Exchange.XSLT_WARNING</code> which allows end users to get hold 
of any errors happening during transformation.</p><p>For example in the 
stylesheet below, we want to terminate if a staff has an empty dob field. And 
to include a custom error message using xsl:message.</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[  &lt;xsl:template match=&quot;/&quot;&gt;
     &lt;html&gt;
       &lt;body&gt;

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

Modified: websites/production/camel/content/cdi.html
==============================================================================
--- websites/production/camel/content/cdi.html (original)
+++ websites/production/camel/content/cdi.html Fri Feb 12 11:22:26 2016
@@ -97,7 +97,21 @@ CamelContext context;]]></script>
         from(&quot;jms:invoices&quot;).to(&quot;file:/invoices&quot;);
     }
 }]]></script>
-</div></div><p>Note that you can declare as 
many&#160;<code>RoutesBuilder</code> beans as you want. 
Besides,&#160;<code>RouteContainer</code> beans are also automatically 
collected, instantiated and added to the&#160;<code>CamelContext</code> bean 
instance managed by Camel CDI when the container initialises.</p><h3 
id="CDI-CustomCamelcontextcustomisation">Custom Camel context 
customisation</h3><p>If you just want to change the name of the default 
<code>CamelContext</code> bean, you can used the <code>@ContextName</code> 
qualifier&#160;provided by Camel CDI, e.g.:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Note that you can declare as 
many&#160;<code>RoutesBuilder</code> beans as you want. 
Besides,&#160;<code>RouteContainer</code> beans are also automatically 
collected, instantiated and added to the&#160;<code>CamelContext</code> bean 
instance managed by Camel CDI when the container initialises.</p><h3 
id="CDI-Auto-configuredCamelprimitives">Auto-configured Camel 
primitives</h3><p>Camel CDI provides beans for common Camel primitives that can 
be injected in any CDI beans, e.g.:</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[@Inject
+@Uri(&quot;direct:inbound&quot;)
+ProducerTemplate producerTemplate;
+
+@Inject
+MockEndpoint outbound; // URI defaults to the member name, i.e. mock:outbound
+
+@Inject
+@Uri(&quot;direct:inbound&quot;)
+Endpoint endpoint;
+
+@Inject
+TypeConverter converter;]]></script>
+</div></div><h3 id="CDI-Camelcontextconfiguration">Camel context 
configuration</h3><p>If you just want to change the name of the default 
<code>CamelContext</code> bean, you can used the <code>@ContextName</code> 
qualifier&#160;provided by Camel CDI, e.g.:</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[@ContextName(&quot;camel-context&quot;)
 class MyRouteBean extends RoutesBuilder {
  
@@ -158,7 +172,7 @@ class ManualStartupCamelContext extends
         setAutoStartup(false);
     }
 }]]></script>
-</div></div><h3 id="CDI-MultipleCamelcontextssupport">Multiple Camel contexts 
support</h3><p>Any number of <code>CamelContext</code> beans can actually be 
declared in the application as documented above. In that case, the CDI 
qualifiers declared on these <code>CamelContext</code> beans are used to bind 
the Camel routes and other Camel primitives to the corresponding Camel 
contexts. From example, if the following beans get declared:</p><div 
class="code panel pdl" style="border-width: 1px;"><div class="codeContent 
panelContent pdl">
+</div></div><h3 id="CDI-MultipleCamelcontexts">Multiple Camel 
contexts</h3><p>Any number of <code>CamelContext</code> beans can actually be 
declared in the application as documented above. In that case, the CDI 
qualifiers declared on these <code>CamelContext</code> beans are used to bind 
the Camel routes and other Camel primitives to the corresponding Camel 
contexts. From example, if the following beans get declared:</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[@ApplicationScoped
 @ContextName(&quot;foo&quot;)
 class FooCamelContext extends DefaultCamelContext {
@@ -204,7 +218,7 @@ class RouteNotAddedToAnyCamelContext ext
         // ...
     }
 }]]></script>
-</div></div><p>The&#160;<code>RoutesBuilder</code> beans qualified 
with&#160;<code>@ContextName</code> get added to the corresponding 
<code>CamelContext</code> beans. If no such <code>CamelContext</code> bean 
exists, it gets automatically added by Camel CDI, as for the 
<code>RouteAdddedToBazCamelContext</code> bean. Note this only happens for 
the&#160;<code>@ContextName</code>&#160;qualifier provided by Camel CDI. Hence 
the&#160;<code>RouteNotAddedToAnyCamelContext</code> bean qualified with the 
user-defined&#160;<code>@MyOtherQualifier</code>&#160;qualifier does not get 
added to any Camel contexts. That may be useful, for example, for Camel routes 
that may be required to be added later during the application 
execution.</p><p>The CDI qualifiers declared on 
the&#160;<code>CamelContext</code>&#160;beans are also used to bind the 
corresponding Camel primitives, e.g.:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The&#160;<code>RoutesBuilder</code> beans qualified 
with&#160;<code>@ContextName</code> are automatically added to the 
corresponding <code>CamelContext</code> beans by Camel CDI. If no such 
<code>CamelContext</code> bean exists, it gets automatically created, as for 
the <code>RouteAddedToBazCamelContext</code> bean. Note this only happens for 
the&#160;<code>@ContextName</code>&#160;qualifier provided by Camel CDI. Hence 
the&#160;<code>RouteNotAddedToAnyCamelContext</code> bean qualified with the 
user-defined&#160;<code>@MyOtherQualifier</code>&#160;qualifier does not get 
added to any Camel contexts. That may be useful, for example, for Camel routes 
that may be required to be added later during the application 
execution.</p><p>The CDI qualifiers declared on 
the&#160;<code>CamelContext</code>&#160;beans are also used to bind the 
corresponding Camel primitives, e.g.:</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[@Inject
 @ContextName(&quot;foo&quot;)
 @Uri(&quot;direct:inbound&quot;)
@@ -247,7 +261,7 @@ static class DeltaSpikeParser extends De
         return ConfigResolver.getPropertyValue(key);
     }
 }]]></script>
-</div></div><div class="highlight highlight-source-java"><div>You can see 
the&#160;<span><code>camel-example-cdi-properties</code> example for a working 
example of a Camel CDI application using DeltaSpike configuration 
mechanism.</span></div></div><h3 
id="CDI-Auto-configuredtypeconverters">Auto-configured type 
converters</h3><p>CDI beans annotated with 
the&#160;<code>@Converter</code>&#160;annotation are automatically registered 
into the deployed Camel contexts, e.g.:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><div class="highlight highlight-source-java"><p>You can see 
the&#160;<span><code>camel-example-cdi-properties</code> example for a working 
example of a Camel CDI application using DeltaSpike configuration 
mechanism.</span></p></div><h3 
id="CDI-Auto-configuredtypeconverters">Auto-configured type 
converters</h3><p>CDI beans annotated with 
the&#160;<code>@Converter</code>&#160;annotation are automatically registered 
into the deployed Camel contexts, e.g.:</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[@Converter
 public class MyTypeConverter {
 
@@ -314,7 +328,7 @@ void consume(@Body String body) {
 from(&quot;direct:inbound&quot;).bean(MyBean.class);]]></script>
 </div></div><p>Or to lookup a CDI bean by name from the Java DSL:</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[@Named(&quot;foo&quot;)
-class MyBean {
+class MyNamedBean {
        //...
 }
  
@@ -399,12 +413,12 @@ void observeCdiEvents(@Observes @FooQual
 @ContextName(&quot;foo&quot;)
 CdiEventEndpoint&lt;List&lt;String&gt;&gt; cdiEventEndpoint;
 // Only observes / consumes events having the @ContextName(&quot;foo&quot;) 
qualifier
-from(cdiEventEndpoint).log(&quot;Camel context &#39;foo&#39; &gt; CDI event 
received: ${body}&quot;);
+from(cdiEventEndpoint).log(&quot;Camel context (foo) &gt; CDI event received: 
${body}&quot;);
 // Produces / fires events with the @ContextName(&quot;foo&quot;) qualifier
 from(&quot;...&quot;).to(cdiEventEndpoint);
 
 void observeCdiEvents(@Observes @ContextName(&quot;foo&quot;) 
List&lt;String&gt; event) {
-    logger.info(&quot;Camel context &#39;foo&#39; &gt; CDI event: {}&quot;, 
event);
+    logger.info(&quot;Camel context (foo) &gt; CDI event: {}&quot;, event);
 }]]></script>
 </div></div><p>Note that the CDI event Camel endpoint dynamically adds 
an&#160;<a shape="rect" class="external-link" 
href="http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_methods"; 
rel="nofollow">observer method</a>&#160;for each unique combination 
of&#160;<em>event type</em>&#160;and&#160;<em>event qualifiers</em>&#160;and 
solely relies on the container typesafe&#160;<a shape="rect" 
class="external-link" 
href="http://docs.jboss.org/cdi/spec/1.2/cdi-spec.html#observer_resolution"; 
rel="nofollow">observer resolution</a>, which leads to an implementation as 
efficient as possible.</p><p>Besides, as the impedance between 
the&#160;<em>typesafe</em>&#160;nature of CDI and 
the&#160;<em>dynamic</em>&#160;nature of the&#160;<a shape="rect" 
class="external-link" href="http://camel.apache.org/component.html";>Camel 
component</a>&#160;model is quite high, it is not possible to create an 
instance of the CDI event Camel endpoint via&#160;<a shape="rect" 
class="external-link" href="http://c
 amel.apache.org/uris.html">URIs</a>. Indeed, the URI format for the CDI event 
component is:</p><div class="code panel pdl" style="border-width: 1px;"><div 
class="codeContent panelContent pdl">
 <script class="brush: text; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[cdi-event://PayloadType&lt;T1,...,Tn&gt;[?qualifiers=QualifierType1[,...[,QualifierTypeN]...]]]]></script>
@@ -417,7 +431,7 @@ void observeCdiEvents(@Observes @Context
  camel-cdi      Started                   1              0              0   1 
minute  ]]></script>
 </div></div><p>See the&#160;<span><code>camel-example-cdi-osgi</code> example 
for a working example of the Camel CDI OSGi integration.</span></p><h3 
id="CDI-MavenArchetype">Maven Archetype</h3><p>Among the available&#160;<a 
shape="rect" href="camel-maven-archetypes.html">Camel Maven archetypes</a>, you 
can use the provided&#160;<code>camel-archetype-cdi</code>&#160;to generate a 
Camel CDI Maven project, e.g.:</p><div class="code panel pdl" 
style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: bash; gutter: false; theme: Default" 
type="syntaxhighlighter"><![CDATA[mvn archetype:generate 
-DarchetypeGroupId=org.apache.camel.archetypes 
-DarchetypeArtifactId=camel-archetype-cdi]]></script>
-</div></div><h3 id="CDI-Supportedcontainers">Supported containers</h3><p>The 
Camel CDI component is compatible with any CDI 1.0, CDI 1.1 and CDI 1.2 
compliant runtime. It's been successfully tested against the following 
runtimes:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh">Container</th><th colspan="1" rowspan="1" 
class="confluenceTh">Version</th><th colspan="1" rowspan="1" 
class="confluenceTh">Runtime</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">Weld SE</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>1.1.28.Final</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">CDI 1.0 / Java SE 7</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">OpenWebBeans</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>1.2.7</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd">CDI 1.0 / Java SE 7</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">Weld S
 E</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>2.3.2.Final</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java SE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">OpenWebBeans</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1.6.2</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java SE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">WildFly</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>8.2.1.Final</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java EE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">WildFly</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>9.0.1.Final</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java EE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">Karaf</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>2.4.4</code></td><td colspan="1" rowspan=
 "1" class="confluenceTd">CDI 1.2 / <span>OSGi 4 / PAX 
CDI</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">Karaf</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>3.0.5</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">CDI 1.2 / <span>OSGi 5 / PAX CDI</span></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">Karaf</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>4.0.4</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / <span>OSGi 6 / PAX 
CDI</span></td></tr></tbody></table></div><h3 
id="CDI-Examples">Examples</h3><p>The following examples are available in the 
<code>examples</code> directory of the Camel 
project:</p><ul><li><code>camel-example-cdi-metrics</code> - illustrates the 
integration between Camel, Dropwizard Metrics and 
CDI,</li><li><code>camel-example-cdi-properties</code> -&#160;illustrates the 
integration between Camel, DeltaSpike and CDI for configuration 
properties,</li><li><code>camel-example
 -cdi-osgi</code> - a&#160;CDI application using the SJMS component that can be 
executed inside an OSGi container using PAX 
CDI,</li><li><code>camel-example-cdi-rest-servlet</code> -&#160;illustrates the 
Camel REST DSL being used in a Web application that uses CDI as dependency 
injection framework,</li><li><code>camel-example-widget-gadget-cdi</code> - The 
Widget and Gadget use-case from the EIP book implemented in Java with CDI 
dependency Injection.</li></ul><h3 id="CDI-SeeAlso">See Also</h3><ul><li><a 
shape="rect" class="external-link" href="http://www.cdi-spec.org"; 
rel="nofollow">CDI Web site</a></li><li><a shape="rect" class="external-link" 
href="http://www.cdi-spec.org/ecosystem/"; rel="nofollow">CDI 
ecosystem</a></li><li><a shape="rect" class="external-link" 
href="https://github.com/astefanutti/further-cdi"; rel="nofollow">Going further 
with CDI</a> (See Camel CDI section)</li></ul></div>
+</div></div><h3 id="CDI-Supportedcontainers">Supported containers</h3><p>The 
Camel CDI component is compatible with any CDI 1.0, CDI 1.1 and CDI 1.2 
compliant runtime. It's been successfully tested against the following 
runtimes:</p><div class="table-wrap"><table 
class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" 
class="confluenceTh">Container</th><th colspan="1" rowspan="1" 
class="confluenceTh">Version</th><th colspan="1" rowspan="1" 
class="confluenceTh">Runtime</th></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">Weld SE</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>1.1.28.Final</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">CDI 1.0 / Java SE 7</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">OpenWebBeans</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>1.2.7</code></p></td><td colspan="1" rowspan="1" 
class="confluenceTd">CDI 1.0 / Java SE 7</td></tr><tr><td colspan="1" 
rowspan="1" class="confluenceTd">Weld S
 E</td><td colspan="1" rowspan="1" 
class="confluenceTd"><p><code>2.3.2.Final</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java SE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">OpenWebBeans</td><td colspan="1" 
rowspan="1" class="confluenceTd"><p><code>1.6.2</code></p></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java SE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">WildFly</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>8.2.1.Final</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java EE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">WildFly</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>9.0.1.Final</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / Java EE 7</td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">Karaf</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>2.4.4</code></td><td colspan="1" rowspan=
 "1" class="confluenceTd">CDI 1.2 / <span>OSGi 4 / PAX 
CDI</span></td></tr><tr><td colspan="1" rowspan="1" 
class="confluenceTd">Karaf</td><td colspan="1" rowspan="1" 
class="confluenceTd"><code>3.0.5</code></td><td colspan="1" rowspan="1" 
class="confluenceTd">CDI 1.2 / <span>OSGi 5 / PAX CDI</span></td></tr><tr><td 
colspan="1" rowspan="1" class="confluenceTd">Karaf</td><td colspan="1" 
rowspan="1" class="confluenceTd"><code>4.0.4</code></td><td colspan="1" 
rowspan="1" class="confluenceTd">CDI 1.2 / <span>OSGi 6 / PAX 
CDI</span></td></tr></tbody></table></div><h3 
id="CDI-Examples">Examples</h3><p>The following examples are available in the 
<code>examples</code> directory of the Camel 
project:</p><ul><li><code>camel-example-cdi-metrics</code> - illustrates the 
integration between Camel, Dropwizard Metrics and 
CDI,</li><li><code>camel-example-cdi-properties</code> -&#160;illustrates the 
integration between Camel, DeltaSpike and CDI for configuration 
properties,</li><li><code>camel-example
 -cdi-osgi</code> - a&#160;CDI application using the SJMS component that can be 
executed inside an OSGi container using PAX 
CDI,</li><li><code>camel-example-cdi-rest-servlet</code> -&#160;illustrates the 
Camel REST DSL being used in a Web application that uses CDI as dependency 
injection framework,</li><li><code>camel-example-widget-gadget-cdi</code> - the 
Widget and Gadget use-case from the EIP book implemented in Java with CDI 
dependency 
Injection,</li><li><span><span><code>camel-example-swagger-cdi</code> - 
a</span>n example using REST DSL and Swagger Java with CDI.</span></li></ul><h3 
id="CDI-SeeAlso">See Also</h3><ul><li><a shape="rect" class="external-link" 
href="http://www.cdi-spec.org"; rel="nofollow">CDI Web site</a></li><li><a 
shape="rect" class="external-link" href="http://www.cdi-spec.org/ecosystem/"; 
rel="nofollow">CDI ecosystem</a></li><li><a shape="rect" class="external-link" 
href="https://github.com/astefanutti/further-cdi"; rel="nofollow">Going further 
with CDI</a> (See
  Camel CDI section)</li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">


Reply via email to