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 2016/01/04 22:21:41 UTC

svn commit: r977045 [2/2] - in /websites/production/camel/content: bean.html book-component-appendix.html book-in-one-page.html cache/main.pageCache camel-2170-release.html class.html

Modified: websites/production/camel/content/book-in-one-page.html
==============================================================================
--- websites/production/camel/content/book-in-one-page.html (original)
+++ websites/production/camel/content/book-in-one-page.html Mon Jan  4 21:21:41 2016
@@ -3725,11 +3725,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.rbtoc1451053080664 {padding: 0px;}
-div.rbtoc1451053080664 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1451053080664 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1451942342112 {padding: 0px;}
+div.rbtoc1451942342112 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1451942342112 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1451053080664">
+/*]]>*/</style></p><div class="toc-macro rbtoc1451942342112">
 <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>
@@ -5834,11 +5834,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.rbtoc1451053082002 {padding: 0px;}
-div.rbtoc1451053082002 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1451053082002 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1451942343287 {padding: 0px;}
+div.rbtoc1451942343287 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1451942343287 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style><div class="toc-macro rbtoc1451053082002">
+/*]]>*/</style><div class="toc-macro rbtoc1451942343287">
 <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>
@@ -16676,35 +16676,10 @@ public class BlogService {
 
 ]]></script>
 </div></div><h3 id="BookInOnePage-SeeAlso.23">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 class="alternate"><li><a shape="rect" href="rss.html">RSS</a></li></ul> <h2 id="BookInOnePage-BeanComponent.1">Bean Component</h2>
-
-<p>The <strong>bean:</strong> component binds beans to Camel message exchanges.</p>
-
-<h3 id="BookInOnePage-URIformat.4">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[
-bean:beanID[?options]
+<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 class="alternate"><li><a shape="rect" href="rss.html">RSS</a></li></ul> <h2 id="BookInOnePage-BeanComponent.1">Bean Component</h2><p>The <strong>bean:</strong> component binds beans to Camel message exchanges.</p><h3 id="BookInOnePage-URIformat.4">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[bean:beanID[?options]
 ]]></script>
-</div></div>
-<p>Where <strong>beanID</strong> can be any string which is used to look up the bean in the <a shape="rect" href="registry.html">Registry</a></p>
-
-<h3 id="BookInOnePage-Options.23">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> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>method</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The method name from the bean that will be invoked. If not provided, Camel will try to determine the method itself. In case of ambiguity an exception will be thrown. See <a shape="rect" href="bean-binding.html">Bean Binding</a> for more details. From <strong>Camel 2.8</strong> onwards you can specify type qualifiers to pin-point the exact method
  to use for overloaded methods. From <strong>Camel 2.9</strong> onwards you can specify parameter values directly in the method syntax. See more details at <a shape="rect" href="bean-binding.html">Bean Binding</a>. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>cache</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> If enabled, Camel will cache the result of the first <a shape="rect" href="registry.html">Registry</a> look-up. Cache can be enabled if the bean in the <a shape="rect" href="registry.html">Registry</a> is defined as a singleton scope. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>multiParameterArray</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="
 confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> How to treat the parameters which are passed from the message body; if it is <code>true</code>, the In message body should be an array of parameters. </p></td></tr></tbody></table></div>
-</div>
-
-<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-Using">Using</h3>
-
-<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="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>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Where <strong>beanID</strong> can be any string which is used to look up the bean in the <a shape="rect" href="registry.html">Registry</a></p><h3 id="BookInOnePage-Options.23">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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>method</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The method name from the bean that will be invoked. If not provided, Camel will try to determine the method itself. In case o
 f ambiguity an exception will be thrown. See <a shape="rect" href="bean-binding.html">Bean Binding</a> for more details. From <strong>Camel 2.8</strong> onwards you can specify type qualifiers to pin-point the exact method to use for overloaded methods. From <strong>Camel 2.9</strong> onwards you can specify parameter values directly in the method syntax. See more details at <a shape="rect" href="bean-binding.html">Bean Binding</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>cache</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>If enabled, Camel will cache the result of the first <a shape="rect" href="registry.html">Registry</a> look-up. Cache can be enabled if the bean in the <a shape="rect" href="registry.html">Registry</a> is defined as a singleton scope.</p></td></tr><tr>
 <td colspan="1" rowspan="1" class="confluenceTd"><p><code>multiParameterArray</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How to treat the parameters which are passed from the message body; if it is <code>true</code>, the In message body should be an array of parameters.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>bean.xxx</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong>&#160;To configure additional options on the create bean instance from the class name. For example to configure a foo option on the bean, use bean.foo=123.</td></tr></tbody></table></div></div><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-Using">Using</h3><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="error"><span class="error">Error formatting macro: snippet: java.lang.IndexOutOfBoundsException: Index: 20, Size: 20</span> </div>Once an endpoint has been registered, you can build Camel routes that use it to process exchanges.<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[
 // lets add simple route
 camelContext.addRoutes(new RouteBuilder() {
@@ -16713,33 +16688,19 @@ camelContext.addRoutes(new RouteBuilder(
     }
 });
 ]]></script>
-</div></div>
-
-<p>A <strong>bean:</strong> endpoint cannot be defined as the input to the route; i.e. you cannot consume from it, you can only route from some inbound message <a shape="rect" href="endpoint.html">Endpoint</a> to the bean endpoint as output.  So consider using a <strong>direct:</strong> or <strong>queue:</strong> endpoint as the input.  </p>
-
-<p>You can use the <code>createProxy()</code> methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/bean/ProxyHelper.html">ProxyHelper</a> to create a proxy that will generate BeanExchanges and send them to any endpoint:</p>
-
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>A <strong>bean:</strong> endpoint cannot be defined as the input to the route; i.e. you cannot consume from it, you can only route from some inbound message <a shape="rect" href="endpoint.html">Endpoint</a> to the bean endpoint as output. So consider using a <strong>direct:</strong> or <strong>queue:</strong> endpoint as the input.<p>You can use the <code>createProxy()</code> methods on <a shape="rect" class="external-link" href="http://camel.apache.org/maven/current/camel-core/apidocs/org/apache/camel/component/bean/ProxyHelper.html">ProxyHelper</a> to create a proxy that will generate BeanExchanges and send them to any endpoint:</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[
 ISay proxy = new ProxyBuilder(camelContext).endpoint(&quot;direct:hello&quot;).build(ISay.class);
 String rc = proxy.say();
 assertEquals(&quot;Good Bye!&quot;, rc);
 ]]></script>
-</div></div>
-
-<p>And the same route using Spring DSL:</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;
+</div></div>And the same route using Spring DSL:<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;direct:hello&quot;&gt;
    &lt;to uri=&quot;bean:bye&quot;/&gt;
 &lt;/route&gt;
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-Beanasendpoint">Bean as endpoint</h3>
-<p>Camel also supports invoking <a shape="rect" href="bean.html">Bean</a> as an Endpoint. In the route below:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="BookInOnePage-Beanasendpoint">Bean as endpoint</h3><p>Camel also supports invoking <a shape="rect" href="bean.html">Bean</a> as an Endpoint. In the route below:</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;
@@ -16751,10 +16712,7 @@ assertEquals(&quot;Good Bye!&quot;, rc);
 
 &lt;bean id=&quot;myBean&quot; class=&quot;org.apache.camel.spring.bind.ExampleBean&quot;/&gt;
 ]]></script>
-</div></div>
-<p>What happens is that when the exchange is routed to the <code>myBean</code> Camel will use the <a shape="rect" href="bean-binding.html">Bean Binding</a> to invoke the bean.<br clear="none">
-The source for the bean is just a plain POJO:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div>What happens is that when the exchange is routed to the <code>myBean</code> Camel will use the <a shape="rect" href="bean-binding.html">Bean Binding</a> to invoke the bean.<br clear="none"> The source for the bean is just a plain POJO:<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[
 public class ExampleBean {
 
@@ -16763,16 +16721,8 @@ public class ExampleBean {
     }
 }
 ]]></script>
-</div></div>
-<p>Camel will use <a shape="rect" href="bean-binding.html">Bean Binding</a> to invoke the <code>sayHello</code> method, by converting the Exchange's In body to the <code>String</code> type and storing the output of the method on the Exchange Out body.</p>
-
-<h3 id="BookInOnePage-JavaDSLbeansyntax">Java DSL bean syntax</h3>
-
-<p>Java DSL comes with syntactic sugar for the <a shape="rect" href="bean.html">Bean</a> component. Instead of specifying the bean explicitly as the endpoint (i.e. <code>to("bean:beanName")</code>) you can use the following syntax:</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[
-// Send message to the bean endpoint
+</div></div>Camel will use <a shape="rect" href="bean-binding.html">Bean Binding</a> to invoke the <code>sayHello</code> method, by converting the Exchange's In body to the <code>String</code> type and storing the output of the method on the Exchange Out body.<h3 id="BookInOnePage-JavaDSLbeansyntax">Java DSL bean syntax</h3><p>Java DSL comes with syntactic sugar for the <a shape="rect" href="bean.html">Bean</a> component. Instead of specifying the bean explicitly as the endpoint (i.e. <code>to("bean:beanName")</code>) you can use the following syntax:</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[// Send message to the bean endpoint
 // and invoke method resolved using Bean Binding.
 from(&quot;direct:start&quot;).beanRef(&quot;beanName&quot;);
 
@@ -16780,13 +16730,8 @@ from(&quot;direct:start&quot;).beanRef(&
 // and invoke given method.
 from(&quot;direct:start&quot;).beanRef(&quot;beanName&quot;, &quot;methodName&quot;);
 ]]></script>
-</div></div>
-
-<p>Instead of passing name of the reference to the bean (so that Camel will lookup for it in the registry), you can specify the bean itself:</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[
-// Send message to the given bean instance.
+</div></div><p>Instead of passing name of the reference to the bean (so that Camel will lookup for it in the registry), you can specify the bean itself:</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[// Send message to the given bean instance.
 from(&quot;direct:start&quot;).bean(new ExampleBean());
 
 // Explicit selection of bean method to be invoked.
@@ -16795,15 +16740,8 @@ from(&quot;direct:start&quot;).bean(new
 // Camel will create the instance of bean and cache it for you.
 from(&quot;direct:start&quot;).bean(ExampleBean.class);
 ]]></script>
-</div></div>
-
-<h3 id="BookInOnePage-BeanBinding.1">Bean Binding</h3>
-
-<p>How bean methods to be invoked are chosen (if they are not specified explicitly through the <strong>method</strong> parameter) and how parameter values are constructed from the <a shape="rect" href="message.html">Message</a> are all defined by the <a shape="rect" href="bean-binding.html">Bean Binding</a> mechanism which is used throughout all of the various <a shape="rect" href="bean-integration.html">Bean Integration</a> mechanisms in Camel.</p>
-
-<h3 id="BookInOnePage-SeeAlso.24">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="class.html">Class</a> component</li><li><a shape="rect" href="bean-binding.html">Bean Binding</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookInOnePage-BrowseComponent">Browse Component</h2>
+</div></div><h3 id="BookInOnePage-BeanBinding.1">Bean Binding</h3><p>How bean methods to be invoked are chosen (if they are not specified explicitly through the <strong>method</strong> parameter) and how parameter values are constructed from the <a shape="rect" href="message.html">Message</a> are all defined by the <a shape="rect" href="bean-binding.html">Bean Binding</a> mechanism which is used throughout all of the various <a shape="rect" href="bean-integration.html">Bean Integration</a> mechanisms in Camel.</p><p></p><h3 id="BookInOnePage-SeeAlso.24">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="class.html">Class</a> component</li><li><a shape="rect" href="bean-binding.html">Bean Binding</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li></ul> <div class="error"><span class="error">Unable to render {include}</span> The included page could not be found.</div> <h2 id="BookInOnePage-BrowseComponent">Browse Component</h2>
 
 <p>The Browse component provides a simple <a shape="rect" href="browsableendpoint.html">BrowsableEndpoint</a> which can be useful for testing, visualisation tools or debugging. The exchanges sent to the endpoint are all available to be browsed.</p>
 
@@ -16999,71 +16937,39 @@ browse:someName[?options]
 </div></div><p>Of course you can do the same thing in straight Java:</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[ManagementService.registerMBeans(CacheManager.getInstance(), mbeanServer, true, true, true, true);
 ]]></script>
-</div></div><p>You can get cache hits, misses, in-memory hits, disk hits, size stats this way. You can also change CacheConfiguration parameters on the fly.</p><h3 id="BookInOnePage-CachereplicationCamel2.8+">Cache replication Camel 2.8+</h3><p>The Camel Cache component is able to distribute a cache across server nodes using several different replication mechanisms including: RMI, JGroups, JMS and Cache Server.</p><p>There are two different ways to make it work:</p><p><strong>1.</strong> You can configure <code>ehcache.xml</code> manually</p><p>OR</p><p><strong>2.</strong> You can configure these three options:</p><ul class="alternate"><li>cacheManagerFactory</li><li>eventListenerRegistry</li><li>cacheLoaderRegistry</li></ul><p>Configuring Camel Cache replication using the first option is a bit of hard work as you have to configure all caches separately. So in a situation when the all names of caches are not known, using <code>ehcache.xml</code> is not a good idea.</p><p>The second 
 option is much better when you want to use many different caches as you do not need to define options per cache. This is because replication options are set per <code>CacheManager</code> and per <code>CacheEndpoint</code>. Also it is the only way when cache names are not know at the development phase.</p><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>It might be useful to read the <a shape="rect" class="external-link" href="http://ehcache.org/documentation" rel="nofollow">EHCache manual</a> to get a better understanding of the Camel Cache replication mechanism.</p></div></div><h4 id="BookInOnePage-Example:JMScachereplication">Example: JMS cache replication</h4><p>JMS replication is the most powerful and secured replication method. Used together with Camel Cache replication makes it also rather simple.<br cl
 ear="none"> An example is available on <a shape="rect" href="cachereplicationjmsexample.html">a separate page</a>.</p> <h2 id="BookInOnePage-ClassComponent">Class Component</h2>
-<p><strong>Available as of Camel 2.4</strong></p>
-
-<p>The <strong>class:</strong> component binds beans to Camel message exchanges. It works in the same way as the <a shape="rect" href="bean.html">Bean</a> component but instead of looking up beans from a <a shape="rect" href="registry.html">Registry</a> it creates the bean based on the class name.</p>
-
-<h3 id="BookInOnePage-URIformat.7">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[
-class:className[?options]
+</div></div><p>You can get cache hits, misses, in-memory hits, disk hits, size stats this way. You can also change CacheConfiguration parameters on the fly.</p><h3 id="BookInOnePage-CachereplicationCamel2.8+">Cache replication Camel 2.8+</h3><p>The Camel Cache component is able to distribute a cache across server nodes using several different replication mechanisms including: RMI, JGroups, JMS and Cache Server.</p><p>There are two different ways to make it work:</p><p><strong>1.</strong> You can configure <code>ehcache.xml</code> manually</p><p>OR</p><p><strong>2.</strong> You can configure these three options:</p><ul class="alternate"><li>cacheManagerFactory</li><li>eventListenerRegistry</li><li>cacheLoaderRegistry</li></ul><p>Configuring Camel Cache replication using the first option is a bit of hard work as you have to configure all caches separately. So in a situation when the all names of caches are not known, using <code>ehcache.xml</code> is not a good idea.</p><p>The second 
 option is much better when you want to use many different caches as you do not need to define options per cache. This is because replication options are set per <code>CacheManager</code> and per <code>CacheEndpoint</code>. Also it is the only way when cache names are not know at the development phase.</p><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>It might be useful to read the <a shape="rect" class="external-link" href="http://ehcache.org/documentation" rel="nofollow">EHCache manual</a> to get a better understanding of the Camel Cache replication mechanism.</p></div></div><h4 id="BookInOnePage-Example:JMScachereplication">Example: JMS cache replication</h4><p>JMS replication is the most powerful and secured replication method. Used together with Camel Cache replication makes it also rather simple.<br cl
 ear="none"> An example is available on <a shape="rect" href="cachereplicationjmsexample.html">a separate page</a>.</p> <h2 id="BookInOnePage-ClassComponent">Class Component</h2><p><strong>Available as of Camel 2.4</strong></p><p>The <strong>class:</strong> component binds beans to Camel message exchanges. It works in the same way as the <a shape="rect" href="bean.html">Bean</a> component but instead of looking up beans from a <a shape="rect" href="registry.html">Registry</a> it creates the bean based on the class name.</p><h3 id="BookInOnePage-URIformat.7">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[class:className[?options]
 ]]></script>
-</div></div>
-<p>Where <strong>className</strong> is the fully qualified class name to create and use as bean.</p>
-
-<h3 id="BookInOnePage-Options.25">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> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>method</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The method name that bean will be invoked. If not provided, Camel will try to pick the method itself. In case of ambiguity an exception is thrown. See <a shape="rect" href="bean-binding.html">Bean Binding</a> for more details. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>multiParameterArray</code> </p></td><td col
 span="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> How to treat the parameters which are passed from the message body; if it is <code>true</code>, the In message body should be an array of parameters. </p></td></tr></tbody></table></div>
-</div>
-
-<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-Using.1">Using</h3>
-
-<p>You simply use the <strong>class</strong> component just as the <a shape="rect" href="bean.html">Bean</a> component but by specifying the fully qualified classname instead.<br clear="none">
-For example to use the <code>MyFooBean</code> you have to do as follows:</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;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean&quot;).to(&quot;mock:result&quot;);
+</div></div><p>Where <strong>className</strong> is the fully qualified class name to create and use as bean.</p><h3 id="BookInOnePage-Options.25">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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>method</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The method name that bean will be invoked. If not provided, Camel will try to pick the method itself. In case of ambiguity an exception is thrown. See <a shape="rect" hre
 f="bean-binding.html">Bean Binding</a> for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>multiParameterArray</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How to treat the parameters which are passed from the message body; if it is <code>true</code>, the In message body should be an array of parameters.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>bean.xxx</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> To configure additional options on the create bean instance from the class name. For example to configure a foo option on the bean, use bean.foo=123.</td></tr></tbody>
 </table></div></div><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-Using.1">Using</h3><p>You simply use the <strong>class</strong> component just as the <a shape="rect" href="bean.html">Bean</a> component but by specifying the fully qualified classname instead.<br clear="none"> For example to use the <code>MyFooBean</code> you have to do as follows:</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;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean&quot;).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-
-<p>You can also specify which method to invoke on the <code>MyFooBean</code>, for example <code>hello</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[
-    from(&quot;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean?method=hello&quot;).to(&quot;mock:result&quot;);
+</div></div><p>You can also specify which method to invoke on the <code>MyFooBean</code>, for example <code>hello</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[    from(&quot;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean?method=hello&quot;).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-
-<h2 id="BookInOnePage-Settingpropertiesonthecreatedinstance">Setting properties on the created instance</h2>
-
-<p>In the endpoint uri you can specify properties to set on the created instance, for example if it has a <code>setPrefix</code> method:</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;direct:start&quot;)
+</div></div><h2 id="BookInOnePage-Settingpropertiesonthecreatedinstance">Setting properties on the created instance</h2><p>In the endpoint uri you can specify properties to set on the created instance, for example if it has a <code>setPrefix</code> method:</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[   // Camel 2.17 onwards
+   from(&quot;direct:start&quot;)
+        .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?bean.prefix=Bye&quot;)
+        .to(&quot;mock:result&quot;);
+ 
+   // Camel 2.16 and older 
+   from(&quot;direct:start&quot;)
         .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?prefix=Bye&quot;)
         .to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
+</div></div><p>And you can also use the <code style="line-height: 1.42857;">#</code> syntax to refer to properties to be looked up in the <a shape="rect" href="registry.html">Registry</a>.</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[    // Camel 2.17 onwards
+    from(&quot;direct:start&quot;)
+        .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?bean.cool=#foo&quot;)
+        .to(&quot;mock:result&quot;);
 
-<p>And you can also use the <code>#</code> syntax to refer to properties to be looked up in the <a shape="rect" href="registry.html">Registry</a>.</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[
+    // Camel 2.16 and older
     from(&quot;direct:start&quot;)
         .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?cool=#foo&quot;)
         .to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-<p>Which will lookup a bean from the <a shape="rect" href="registry.html">Registry</a> with the id <code>foo</code> and invoke the <code>setCool</code> method on the created instance of the <code>MyPrefixBean</code> class.</p>
-
-<div class="confluence-information-macro confluence-information-macro-tip"><p class="title">See more</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
-<p>See more details at the <a shape="rect" href="bean.html">Bean</a> component as the <strong>class</strong> component works in much the same way.</p></div></div>
-
-<h3 id="BookInOnePage-SeeAlso.26">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="bean.html">Bean</a></li><li><a shape="rect" href="bean-binding.html">Bean Binding</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li></ul> <h2 id="BookInOnePage-CometdComponent">Cometd Component</h2><p>The <strong>cometd:</strong> component is a transport for working with the <a shape="rect" class="external-link" href="http://www.mortbay.org/jetty" rel="nofollow">jetty</a> implementation of the <a shape="rect" class="external-link" href="http://docs.codehaus.org/display/JETTY/Cometd+%28aka+Bayeux%29" rel="nofollow">cometd/bayeux protocol</a>.<br clear="none"> Using this component in combination with the dojo toolkit library it's possible to push Camel messages directly into the browser using an AJAX based mechanism.</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">
+</div></div><p>Which will lookup a bean from the <a shape="rect" href="registry.html">Registry</a> with the id <code>foo</code> and invoke the <code>setCool</code> method on the created instance of the <code>MyPrefixBean</code> class.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">See more</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>See more details at the <a shape="rect" href="bean.html">Bean</a> component as the <strong>class</strong> component works in much the same way.</p></div></div><p></p><h3 id="BookInOnePage-SeeAlso.26">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="bean.html">Bean</a></li><li><a shape="rect" href="bean-binding.html">Bean Binding</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li></ul> <h2 id="BookInOnePage-CometdComponent">Cometd Component</h2><p>The <strong>cometd:</strong> component is a transport for working with the <a shape="rect" class="external-link" href="http://www.mortbay.org/jetty" rel="nofollow">jetty</a> implementation of the <a shape="rect" class="external-link" href="http://docs.codehaus.org/display/JETTY/Cometd+%28aka+Bayeux%29" rel="nofollow">cometd/bayeux protocol</a>.<br clear="none"> Using this component in combination with the dojo toolkit library it's possible to push Camel m
 essages directly into the browser using an AJAX based mechanism.</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-cometd&lt;/artifactId&gt;
@@ -17382,11 +17288,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.rbtoc1451053138148 {padding: 0px;}
-div.rbtoc1451053138148 ul {list-style: disc;margin-left: 0px;}
-div.rbtoc1451053138148 li {margin-left: 0px;padding-left: 0px;}
+div.rbtoc1451942397604 {padding: 0px;}
+div.rbtoc1451942397604 ul {list-style: disc;margin-left: 0px;}
+div.rbtoc1451942397604 li {margin-left: 0px;padding-left: 0px;}
 
-/*]]>*/</style></p><div class="toc-macro rbtoc1451053138148">
+/*]]>*/</style></p><div class="toc-macro rbtoc1451942397604">
 <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>
@@ -22810,12 +22716,12 @@ map.put(&quot;Subject&quot;, &quot;Camel
 </div></div><p>In this sample we want to send a mail to multiple recipients:</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[
 // all the recipients of this mail are:
-// To: camel@riders.org , easy@riders.org
-// CC: me@you.org
-// BCC: someone@somewhere.org
-String recipients = &quot;&amp;To=camel@riders.org,easy@riders.org&amp;CC=me@you.org&amp;BCC=someone@somewhere.org&quot;;
+// to: camel@riders.org , easy@riders.org
+// cc: me@you.org
+// bcc: someone@somewhere.org
+String recipients = &quot;&amp;to=camel@riders.org,easy@riders.org&amp;cc=me@you.org&amp;bcc=someone@somewhere.org&quot;;
 
-from(&quot;direct:a&quot;).to(&quot;smtp://you@mymailserver.com?password=secret&amp;From=you@apache.org&quot; + recipients);
+from(&quot;direct:a&quot;).to(&quot;smtp://you@mymailserver.com?password=secret&amp;from=you@apache.org&quot; + recipients);
 ]]></script>
 </div></div><h3 id="BookInOnePage-Sendingmailwithattachmentsample">Sending mail with attachment sample</h3><div class="confluence-information-macro confluence-information-macro-warning"><p class="title">Attachments are not support by all Camel components</p><span class="aui-icon aui-icon-small aui-iconfont-error confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The <em>Attachments API</em> is based on the Java Activation Framework and is generally only used by the Mail API. Since many of the other Camel components do not support attachments, the attachments could potentially be lost as they propagate along the route. The rule of thumb, therefore, is to add attachments just before sending a message to the mail endpoint.</p></div></div><p>The mail component supports attachments. In the sample below, we send a mail message containing a plain text message with a logo file attachment.</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[

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

Modified: websites/production/camel/content/camel-2170-release.html
==============================================================================
--- websites/production/camel/content/camel-2170-release.html (original)
+++ websites/production/camel/content/camel-2170-release.html Mon Jan  4 21:21:41 2016
@@ -85,7 +85,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.17.0Release-Camel2.17.0release(currentlyinprogress)">Camel 2.17.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"></span></p></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.17.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>highlighted issue fixed</li><li>Upgraded camel-hbase to Hadoop 2.x and HBase 1.1.x</li><li><a shape="rect" href="tools.html">Camel commands</a> for&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a></li><li>Many improvements to&#160;Camel&#16
 0;<a shape="rect" href="kura.html">Kura</a></li><li>Added transacted option to&#160;<a shape="rect" href="sql-component.html">SQL Component</a> when used as a consumer in a transacted route.</li><li>Added support for UPDATE operation to&#160;<a shape="rect" href="elasticsearch.html">ElasticSearch</a>.</li><li>Allow to reuse existing configured Elasticsearch Client on the <a shape="rect" href="elasticsearch.html">ElasticSearch</a> component, instead of creating a client per endpoint.&#160;</li><li>The&#160;<code>include</code> and&#160;<code>exclude</code> options on&#160;<a shape="rect" href="file2.html">File2</a> and&#160;<a shape="rect" href="ftp.html">FTP</a> endpoints is now case in-sensitive out of the box.</li><li>Resource based component such as&#160;<a shape="rect" href="xslt.html">XSLT</a>,&#160;<a shape="rect" href="velocity.html">Velocity</a>&#160;etc can load the resource file from the&#160;<a shape="rect" href="registry.html">Registry</a>&#160;by using&#160;<code>ref:</
 code> as prefix.</li><li><span>Upgraded camel-amqp to the latest qpid-jms-client (also AMQP &lt; 1.0 is not supported anymore).</span></li><li><span>Many improvements to Camel <a shape="rect" href="amqp.html">AMQP</a> component.</span></li><li><span>The&#160;<a shape="rect" href="metrics-component.html">Metrics Component</a> allows to capture&#160;<a shape="rect" href="message-history.html">Message History</a> performance statistics with the&#160;<code>MetricsMessageHistoryFactory&#160;</code></span></li><li>Reduced the number of mbeans enlisted in the services tree, to only include mbeans that has value to be managed.</li><li>The&#160;<a shape="rect" href="elasticsearch.html">Elasticsearch Component</a>&#160;now supports MultiGet operation</li><li>The&#160;<a shape="rect" href="throttler.html">Throttler</a> has been improved to be more performant and use a rolling window for time periods which gives a better flow.</li><li>The&#160;<code>setHeader</code> and&#160;<code>setExchangePr
 operty</code> allows to use a dynamic header key using the&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language if the name of the key is a&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language expression.</li><li>Add collate function to&#160;<a shape="rect" href="simple.html">Simple</a> language to make it easier to split a message body into sub lists of a specified size. The function is similar to the collate function from Groovy.</li><li>The&#160;<a shape="rect" href="camel-run-maven-goal.html">Camel Run Maven Goal</a> is able to auto detect if its a OSGi Blueprint or CDI project so end users no longer have to explicit configure this on the plugin.</li><li><a shape="rect" href="elasticsearch.html">Camel-Elasticsearch</a> now supports Multiget, Multisearch and exists operation</li><li><a shape="rect" href="git.html">Camel-Git</a> now supports Cherry-pick operation</li><li>Stopping the&#160;<code>Main</code> class from JMX will now trigger shutdown of the Mai
 n class/JVM also, as it does when hitting ctrl + c.</li><li>Added option to skipFirst to the&#160;<a shape="rect" href="tokenizer.html">Tokenizer</a> language to make it easy to skip the very first element, when for example splitting a CSV file using the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP.</li></ul><p>Fixed these issues</p><ul><li>The&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> now parses nested types in the POJO model that has been annotated with the swagger api annotations to use in the schema api model</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;apiContextPath fail to start if there are 2 ore more rest's in use.</li><li>Paho component name is not limited to 4 characters anymore.</li><li>Fixed&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> not starting Camel routes if running in Spring Cloud.</li><li>Fixed an issue with&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> using ap
 i-docs could lead to api-doc route being added multiple times</li><li>Fixed a few things missing in the generated swagger model when using&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a></li></ul><h3 id="Camel2.17.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.17.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-kubernetes - Integrates Camel with Kubernetes</li><li>camel-aws - AWS kineses streams component added</li><li>camel-aws - DynamoDB streams component added</li><li><a shape="rect" href="ignite.html">camel-ignite</a> - for working with Apache Ignite.</li><li>camel-mllp -&#160;<span style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an alternative to&#160;<a shape="rect" href="hl7.html">HL7</a> component.</span></li><li>camel-spark - bridges Apache Spark computations with Camel endpoints</li></ul><h3 id="Camel2.17
 .0Release-NewDSL">New DSL</h3><h3 id="Camel2.17.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.17.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" href="mime-multipart.html">MIME-Multipart</a> - mime based data format.</li></ul><h3 id="Camel2.17.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.17.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><ul><li>camel-example-spring-boot-metrics - showing a Camel spring-boot application that report metrics to Graphite. Requires Graphite running on your network.</li></ul><h3 id="Camel2.17.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.17.0Release-APIbreaking">API breaking</h2><h2 id="Camel2.17.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.17.0Release-Dependencyupgrades">Dependency upgrades</h2><ul><li>Apache Cassandra from 2.1.8 to 2.2.2</li><li>Apac
 he Deltaspike from 1.5.1 to 1.5.2</li><li>Apache Gora from 0.6 to 0.6.1</li><li>Apache Jackrabbit from 2.11.0 to 2.11.3</li><li>Apache Kafka from 0.8.2.2 to 0.9.0.0</li><li>Apache Lucene from 4.10.4 to 5.2.1</li><li>Apache Mina from 2.0.9 to 2.0.10</li><li>Apache OpenEjb from 4.7.2 to 4.7.3</li><li>Apache Solr from 4.10.4 to 5.2.1</li><li>Aws SDK Java to version 1.10.37</li><li>Atmosphere from <span class="blob-code-inner">2.4.0</span> to 2.4.1.4</li><li>Cassandra driver from 2.1.8 to 2.1.9</li><li>Cassandra-unit from 2.1.9.2 to 2.2.2.1</li><li>Cglib from 3.1 to 3.2.0</li><li>Classmate from 1.3.0 to 1.3.1</li><li>Chunk from 3.0.1 to 3.1.2</li><li>Drools from 6.2.0.Final to 6.3.0.Final</li><li>EHCache from 2.10.0 to 2.10.1</li><li>Elasticsearch from 1.7.3 to 2.0.0</li><li>Embedded Mongodb from 1.50.0 to 1.50.1</li><li>Facebook4j from 2.3.1 to 2.4.1</li><li>GAE from 1.9.26 to 1.9.28</li><li>Google Gson from 2.4 to 2.5</li><li>Hazelcast from 3.5.2 to 3.5.4</li><li>Infinispan from 8.0.1
 .Final to 8.1.0.Final</li><li>Jackson from 2.6.3 to 2.6.4</li><li>Jboss Xnio from 3.3.1.Final to 3.3.2.Final</li><li>Jboss Weld from 2.3.0.Final to 2.3.2.Final</li><li>Jbpm from 6.2.0.Final to 6.3.0.Final</li><li>Jgit from <span class="blob-code-inner">4.1.<span class="x x-first x-last">0.201509280440</span>-r</span> to <span class="blob-code-inner">4.1.<span class="x x-first x-last">1.201511131810</span>-r</span></li><li>Joda-time from 2.8.2 to 2.9.1</li><li>Json-path from 2.0.0 to 2.1.0</li><li>Jt400 from 8.6 to 8.7</li><li>Kie from 6.2.0.Final to 6.3.0.Final</li><li>Maven Exec plugin from 1.2.1 to 1.4.0</li><li>Mongodb Java driver from 3.0.4 to 3.2.0</li><li>Mvel from 2.2.6.Final to 2.2.7.Final</li><li>Ognl from 3.1 to 3.1.1</li><li>Olingo from 2.0.4 to 2.0.5</li><li>Optaplanner from 6.2.0.Final to 6.3.0.Final</li><li>Pax-exam from 4.6.0 to 4.8.0</li><li>Spring 4.1.x to 4.2.x</li><li>Spring-Boot 1.2.x to 1.3.x</li><li>Spring Integration 2.x to 4.x</li><li>slf4j-api 1.6.x to 1.7.x
 </li><li>Undertow from 1.3.3.Final to 1.3.7.Final</li><li>Vertx from 3.1.0 to 3.2.0</li><li>Zookeeper from 3.4.6 to 3.4.7</li></ul><h2 id="Camel2.17.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Removed camel-hbase as Karaf feature as it did not really work well in OSGi</li><li>camel-infinispan requires Java 8.</li><li>Support for Spring 4.0.x is deprecated.</li><li>Moved some Camel tooling related dependencies (such as maven/plexus) from the Camel Parent BOM to the tooling BOM (to have them separated).</li><li>camel-amqp do not support 0.9 anymore.&#160;</li><li>camel-spring-integration feature has been removed from the Camel karaf.</li><li>The&#160;<a shape="rect" href="mail.html">Mail</a> component now requires to configure to, cc, and bcc using lower case keys, eg to=foo@bar.com, instead of&#160;<a shape="rect" class="external-link" href="mailto:To=foo@bar.com" rel="nofollow">To=foo@bar.com</a>&#160;as previously.</li>
 </ul><h2 id="Camel2.17.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.17.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td
  colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of 
 browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.17.0Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Windows</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect
 " class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Unix/Linux/Cygwin</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz">apache-camel-x.y.x-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz.asc">apache-camel-x.y.x-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.17.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency config
 uration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h1 id="Camel2.17.0Release-Camel2.17.0release(currentlyinprogress)">Camel 2.17.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"></span></p></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.17.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the x.y.z release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>highlighted issue fixed</li><li>Upgraded camel-hbase to Hadoop 2.x and HBase 1.1.x</li><li><a shape="rect" href="tools.html">Camel commands</a> for&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a></li><li>Many improvements to&#160;Camel&#16
 0;<a shape="rect" href="kura.html">Kura</a></li><li>Added transacted option to&#160;<a shape="rect" href="sql-component.html">SQL Component</a> when used as a consumer in a transacted route.</li><li>Added support for UPDATE operation to&#160;<a shape="rect" href="elasticsearch.html">ElasticSearch</a>.</li><li>Allow to reuse existing configured Elasticsearch Client on the <a shape="rect" href="elasticsearch.html">ElasticSearch</a> component, instead of creating a client per endpoint.&#160;</li><li>The&#160;<code>include</code> and&#160;<code>exclude</code> options on&#160;<a shape="rect" href="file2.html">File2</a> and&#160;<a shape="rect" href="ftp.html">FTP</a> endpoints is now case in-sensitive out of the box.</li><li>Resource based component such as&#160;<a shape="rect" href="xslt.html">XSLT</a>,&#160;<a shape="rect" href="velocity.html">Velocity</a>&#160;etc can load the resource file from the&#160;<a shape="rect" href="registry.html">Registry</a>&#160;by using&#160;<code>ref:</
 code> as prefix.</li><li><span>Upgraded camel-amqp to the latest qpid-jms-client (also AMQP &lt; 1.0 is not supported anymore).</span></li><li><span>Many improvements to Camel <a shape="rect" href="amqp.html">AMQP</a> component.</span></li><li><span>The&#160;<a shape="rect" href="metrics-component.html">Metrics Component</a> allows to capture&#160;<a shape="rect" href="message-history.html">Message History</a> performance statistics with the&#160;<code>MetricsMessageHistoryFactory&#160;</code></span></li><li>Reduced the number of mbeans enlisted in the services tree, to only include mbeans that has value to be managed.</li><li>The&#160;<a shape="rect" href="elasticsearch.html">Elasticsearch Component</a>&#160;now supports MultiGet operation</li><li>The&#160;<a shape="rect" href="throttler.html">Throttler</a> has been improved to be more performant and use a rolling window for time periods which gives a better flow.</li><li>The&#160;<code>setHeader</code> and&#160;<code>setExchangePr
 operty</code> allows to use a dynamic header key using the&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language if the name of the key is a&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language expression.</li><li>Add collate function to&#160;<a shape="rect" href="simple.html">Simple</a> language to make it easier to split a message body into sub lists of a specified size. The function is similar to the collate function from Groovy.</li><li>The&#160;<a shape="rect" href="camel-run-maven-goal.html">Camel Run Maven Goal</a> is able to auto detect if its a OSGi Blueprint or CDI project so end users no longer have to explicit configure this on the plugin.</li><li><a shape="rect" href="elasticsearch.html">Camel-Elasticsearch</a> now supports Multiget, Multisearch and exists operation</li><li><a shape="rect" href="git.html">Camel-Git</a> now supports Cherry-pick operation</li><li>Stopping the&#160;<code>Main</code> class from JMX will now trigger shutdown of the Mai
 n class/JVM also, as it does when hitting ctrl + c.</li><li>Added option to skipFirst to the&#160;<a shape="rect" href="tokenizer.html">Tokenizer</a> language to make it easy to skip the very first element, when for example splitting a CSV file using the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP.</li></ul><p>Fixed these issues</p><ul><li>The&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> now parses nested types in the POJO model that has been annotated with the swagger api annotations to use in the schema api model</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;apiContextPath fail to start if there are 2 ore more rest's in use.</li><li>Paho component name is not limited to 4 characters anymore.</li><li>Fixed&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> not starting Camel routes if running in Spring Cloud.</li><li>Fixed an issue with&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> using ap
 i-docs could lead to api-doc route being added multiple times</li><li>Fixed a few things missing in the generated swagger model when using&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a></li></ul><h3 id="Camel2.17.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.17.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-kubernetes - Integrates Camel with Kubernetes</li><li>camel-aws - AWS kineses streams component added</li><li>camel-aws - DynamoDB streams component added</li><li><a shape="rect" href="ignite.html">camel-ignite</a> - for working with Apache Ignite.</li><li>camel-mllp -&#160;<span style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an alternative to&#160;<a shape="rect" href="hl7.html">HL7</a> component.</span></li><li>camel-spark - bridges Apache Spark computations with Camel endpoints</li></ul><h3 id="Camel2.17
 .0Release-NewDSL">New DSL</h3><h3 id="Camel2.17.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.17.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" href="mime-multipart.html">MIME-Multipart</a> - mime based data format.</li></ul><h3 id="Camel2.17.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.17.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><ul><li>camel-example-spring-boot-metrics - showing a Camel spring-boot application that report metrics to Graphite. Requires Graphite running on your network.</li></ul><h3 id="Camel2.17.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.17.0Release-APIbreaking">API breaking</h2><h2 id="Camel2.17.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.17.0Release-Dependencyupgrades">Dependency upgrades</h2><ul><li>Apache Cassandra from 2.1.8 to 2.2.2</li><li>Apac
 he Deltaspike from 1.5.1 to 1.5.2</li><li>Apache Gora from 0.6 to 0.6.1</li><li>Apache Jackrabbit from 2.11.0 to 2.11.3</li><li>Apache Kafka from 0.8.2.2 to 0.9.0.0</li><li>Apache Lucene from 4.10.4 to 5.2.1</li><li>Apache Mina from 2.0.9 to 2.0.10</li><li>Apache OpenEjb from 4.7.2 to 4.7.3</li><li>Apache Solr from 4.10.4 to 5.2.1</li><li>Aws SDK Java to version 1.10.37</li><li>Atmosphere from <span class="blob-code-inner">2.4.0</span> to 2.4.1.4</li><li>Cassandra driver from 2.1.8 to 2.1.9</li><li>Cassandra-unit from 2.1.9.2 to 2.2.2.1</li><li>Cglib from 3.1 to 3.2.0</li><li>Classmate from 1.3.0 to 1.3.1</li><li>Chunk from 3.0.1 to 3.1.2</li><li>Drools from 6.2.0.Final to 6.3.0.Final</li><li>EHCache from 2.10.0 to 2.10.1</li><li>Elasticsearch from 1.7.3 to 2.0.0</li><li>Embedded Mongodb from 1.50.0 to 1.50.1</li><li>Facebook4j from 2.3.1 to 2.4.1</li><li>GAE from 1.9.26 to 1.9.28</li><li>Google Gson from 2.4 to 2.5</li><li>Hazelcast from 3.5.2 to 3.5.4</li><li>Infinispan from 8.0.1
 .Final to 8.1.0.Final</li><li>Jackson from 2.6.3 to 2.6.4</li><li>Jboss Xnio from 3.3.1.Final to 3.3.2.Final</li><li>Jboss Weld from 2.3.0.Final to 2.3.2.Final</li><li>Jbpm from 6.2.0.Final to 6.3.0.Final</li><li>Jgit from <span class="blob-code-inner">4.1.<span class="x x-first x-last">0.201509280440</span>-r</span> to <span class="blob-code-inner">4.1.<span class="x x-first x-last">1.201511131810</span>-r</span></li><li>Joda-time from 2.8.2 to 2.9.1</li><li>Json-path from 2.0.0 to 2.1.0</li><li>Jt400 from 8.6 to 8.7</li><li>Kie from 6.2.0.Final to 6.3.0.Final</li><li>Maven Exec plugin from 1.2.1 to 1.4.0</li><li>Mongodb Java driver from 3.0.4 to 3.2.0</li><li>Mvel from 2.2.6.Final to 2.2.7.Final</li><li>Ognl from 3.1 to 3.1.1</li><li>Olingo from 2.0.4 to 2.0.5</li><li>Optaplanner from 6.2.0.Final to 6.3.0.Final</li><li>Pax-exam from 4.6.0 to 4.8.0</li><li>Spring 4.1.x to 4.2.x</li><li>Spring-Boot 1.2.x to 1.3.x</li><li>Spring Integration 2.x to 4.x</li><li>slf4j-api 1.6.x to 1.7.x
 </li><li>Undertow from 1.3.3.Final to 1.3.7.Final</li><li>Vertx from 3.1.0 to 3.2.0</li><li>Zookeeper from 3.4.6 to 3.4.7</li></ul><h2 id="Camel2.17.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Removed camel-hbase as Karaf feature as it did not really work well in OSGi</li><li>camel-infinispan requires Java 8.</li><li>Support for Spring 4.0.x is deprecated.</li><li>Moved some Camel tooling related dependencies (such as maven/plexus) from the Camel Parent BOM to the tooling BOM (to have them separated).</li><li>camel-amqp do not support 0.9 anymore.&#160;</li><li>camel-spring-integration feature has been removed from the Camel karaf.</li><li>The&#160;<a shape="rect" href="mail.html">Mail</a> component now requires to configure to, cc, and bcc using lower case keys, eg to=foo@bar.com, instead of&#160;<a shape="rect" class="external-link" href="mailto:To=foo@bar.com" rel="nofollow">To=foo@bar.com</a>&#160;as previously.</li>
 <li>If using&#160;<a shape="rect" href="bean.html">Bean</a>&#160;or&#160;<a shape="rect" href="class.html">Class</a>&#160;component and specifying additional parameters in the endpoint uri to configure on the bean, then these options should now be prefixed with bean., eg <code>foo=123</code>&#160;is now <code>bean.foo=123</code>.</li></ul><h2 id="Camel2.17.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.17.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.a
 pache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">Th
 e above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.17.0Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class=
 "confluenceTd"><p>Source for Windows</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Unix/Linux/Cygwin</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz">apache-camel-x.y.x-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" h
 ref="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz.asc">apache-camel-x.y.x-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.17.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Modified: websites/production/camel/content/class.html
==============================================================================
--- websites/production/camel/content/class.html (original)
+++ websites/production/camel/content/class.html Mon Jan  4 21:21:41 2016
@@ -84,71 +84,39 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Class-ClassComponent">Class Component</h2>
-<p><strong>Available as of Camel 2.4</strong></p>
-
-<p>The <strong>class:</strong> component binds beans to Camel message exchanges. It works in the same way as the <a shape="rect" href="bean.html">Bean</a> component but instead of looking up beans from a <a shape="rect" href="registry.html">Registry</a> it creates the bean based on the class name.</p>
-
-<h3 id="Class-URIformat">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[
-class:className[?options]
+<div class="wiki-content maincontent"><h2 id="Class-ClassComponent">Class Component</h2><p><strong>Available as of Camel 2.4</strong></p><p>The <strong>class:</strong> component binds beans to Camel message exchanges. It works in the same way as the <a shape="rect" href="bean.html">Bean</a> component but instead of looking up beans from a <a shape="rect" href="registry.html">Registry</a> it creates the bean based on the class name.</p><h3 id="Class-URIformat">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[class:className[?options]
 ]]></script>
-</div></div>
-<p>Where <strong>className</strong> is the fully qualified class name to create and use as bean.</p>
-
-<h3 id="Class-Options">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> Type </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Default </p></th><th colspan="1" rowspan="1" class="confluenceTh"><p> Description </p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>method</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>String</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>null</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> The method name that bean will be invoked. If not provided, Camel will try to pick the method itself. In case of ambiguity an exception is thrown. See <a shape="rect" href="bean-binding.html">Bean Binding</a> for more details. </p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>multiParameterArray</code> </p></td><td col
 span="1" rowspan="1" class="confluenceTd"><p> <code>boolean</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> <code>false</code> </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p> How to treat the parameters which are passed from the message body; if it is <code>true</code>, the In message body should be an array of parameters. </p></td></tr></tbody></table></div>
-</div>
-
-<p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p>
-
-<h3 id="Class-Using">Using</h3>
-
-<p>You simply use the <strong>class</strong> component just as the <a shape="rect" href="bean.html">Bean</a> component but by specifying the fully qualified classname instead.<br clear="none">
-For example to use the <code>MyFooBean</code> you have to do as follows:</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;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean&quot;).to(&quot;mock:result&quot;);
+</div></div><p>Where <strong>className</strong> is the fully qualified class name to create and use as bean.</p><h3 id="Class-Options">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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>method</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>String</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>null</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The method name that bean will be invoked. If not provided, Camel will try to pick the method itself. In case of ambiguity an exception is thrown. See <a shape="rect" href="bean-bin
 ding.html">Bean Binding</a> for more details.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><code>multiParameterArray</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>boolean</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>false</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>How to treat the parameters which are passed from the message body; if it is <code>true</code>, the In message body should be an array of parameters.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><code>bean.xxx</code></td><td colspan="1" rowspan="1" class="confluenceTd">&#160;</td><td colspan="1" rowspan="1" class="confluenceTd"><code>null</code></td><td colspan="1" rowspan="1" class="confluenceTd"><strong>Camel 2.17:</strong> To configure additional options on the create bean instance from the class name. For example to configure a foo option on the bean, use bean.foo=123.</td></tr></tbody></table></d
 iv></div><p>You can append query options to the URI in the following format, <code>?option=value&amp;option=value&amp;...</code></p><h3 id="Class-Using">Using</h3><p>You simply use the <strong>class</strong> component just as the <a shape="rect" href="bean.html">Bean</a> component but by specifying the fully qualified classname instead.<br clear="none"> For example to use the <code>MyFooBean</code> you have to do as follows:</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;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean&quot;).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-
-<p>You can also specify which method to invoke on the <code>MyFooBean</code>, for example <code>hello</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[
-    from(&quot;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean?method=hello&quot;).to(&quot;mock:result&quot;);
+</div></div><p>You can also specify which method to invoke on the <code>MyFooBean</code>, for example <code>hello</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[    from(&quot;direct:start&quot;).to(&quot;class:org.apache.camel.component.bean.MyFooBean?method=hello&quot;).to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-
-<h2 id="Class-Settingpropertiesonthecreatedinstance">Setting properties on the created instance</h2>
-
-<p>In the endpoint uri you can specify properties to set on the created instance, for example if it has a <code>setPrefix</code> method:</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;direct:start&quot;)
+</div></div><h2 id="Class-Settingpropertiesonthecreatedinstance">Setting properties on the created instance</h2><p>In the endpoint uri you can specify properties to set on the created instance, for example if it has a <code>setPrefix</code> method:</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[   // Camel 2.17 onwards
+   from(&quot;direct:start&quot;)
+        .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?bean.prefix=Bye&quot;)
+        .to(&quot;mock:result&quot;);
+ 
+   // Camel 2.16 and older 
+   from(&quot;direct:start&quot;)
         .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?prefix=Bye&quot;)
         .to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
+</div></div><p>And you can also use the <code style="line-height: 1.42857;">#</code> syntax to refer to properties to be looked up in the <a shape="rect" href="registry.html">Registry</a>.</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[    // Camel 2.17 onwards
+    from(&quot;direct:start&quot;)
+        .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?bean.cool=#foo&quot;)
+        .to(&quot;mock:result&quot;);
 
-<p>And you can also use the <code>#</code> syntax to refer to properties to be looked up in the <a shape="rect" href="registry.html">Registry</a>.</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[
+    // Camel 2.16 and older
     from(&quot;direct:start&quot;)
         .to(&quot;class:org.apache.camel.component.bean.MyPrefixBean?cool=#foo&quot;)
         .to(&quot;mock:result&quot;);
 ]]></script>
-</div></div>
-<p>Which will lookup a bean from the <a shape="rect" href="registry.html">Registry</a> with the id <code>foo</code> and invoke the <code>setCool</code> method on the created instance of the <code>MyPrefixBean</code> class.</p>
-
-<div class="confluence-information-macro confluence-information-macro-tip"><p class="title">See more</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body">
-<p>See more details at the <a shape="rect" href="bean.html">Bean</a> component as the <strong>class</strong> component works in much the same way.</p></div></div>
-
-<h3 id="Class-SeeAlso">See Also</h3>
-<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul>
-<ul><li><a shape="rect" href="bean.html">Bean</a></li><li><a shape="rect" href="bean-binding.html">Bean Binding</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li></ul></div>
+</div></div><p>Which will lookup a bean from the <a shape="rect" href="registry.html">Registry</a> with the id <code>foo</code> and invoke the <code>setCool</code> method on the created instance of the <code>MyPrefixBean</code> class.</p><div class="confluence-information-macro confluence-information-macro-tip"><p class="title">See more</p><span class="aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>See more details at the <a shape="rect" href="bean.html">Bean</a> component as the <strong>class</strong> component works in much the same way.</p></div></div><p></p><h3 id="Class-SeeAlso">See Also</h3>
+<ul><li><a shape="rect" href="configuring-camel.html">Configuring Camel</a></li><li><a shape="rect" href="component.html">Component</a></li><li><a shape="rect" href="endpoint.html">Endpoint</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li></ul><ul><li><a shape="rect" href="bean.html">Bean</a></li><li><a shape="rect" href="bean-binding.html">Bean Binding</a></li><li><a shape="rect" href="bean-integration.html">Bean Integration</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">