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/05/29 09:20:47 UTC

svn commit: r989485 [3/4] - in /websites/production/camel/content: book-component-appendix.html book-in-one-page.html cache/main.pageCache camel-2180-release.html jms.html

Modified: websites/production/camel/content/camel-2180-release.html
==============================================================================
--- websites/production/camel/content/camel-2180-release.html (original)
+++ websites/production/camel/content/camel-2180-release.html Sun May 29 09:20:47 2016
@@ -85,7 +85,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.18.0Release-Camel2.18.0release(currentlyinprogress)">Camel 2.18.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.18.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.18.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Added <a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> as EIP pattern that uses native Hystrix as the Circuit Breaker implementation.&#160;This requires having&#160;<code>camel-hsytrix</code>&#160;on the classpath.</li><li>Added&#160;<a shape="
 rect" href="servicecall-eip.html">Service Call EIP</a> as EIP pattern that allows to call a remote service in a distributed system, where the service is looked up from a service registry of some sorts, such as kubernetes, consul, etcd, zookeeper etc.</li><li>Improved the&#160;<a shape="rect" href="bean.html">Bean</a> component to better match method parameter types when using&#160;<a shape="rect" href="simple.html">Simple</a> language as parameter values.</li><li>Added&#160;<code>BindyConverter</code> that allows to implement custom data converters for&#160;<a shape="rect" href="bindy.html">Bindy</a></li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger specification anymore.</li><li><a shape="rect" href="nats.html">Camel-NATS</a>&#160;now uses JNATS client instead of the deprecated Java_nats one.</li><li>During startup of&#160;<a shape="rect" href="camelcontext.html">CamelContext</a> the s
 ervices that are used as part of routes are now deferred being started to the end of the startup process. Some IoC frameworks like Spring can otherwise causes a circular dependency issue if services are started too early. A side effect is that if service startup failures happen when being started later, they are now wrapped in the <code>FailedToStartupRouteException</code> to better pin point which route thas the problem.</li><li>Improved the startup sequence of&#160;<a shape="rect" href="spring-java-config.html">Spring Java Config</a> to be similar to&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> that helps prevent Spring initialization errors about circular dependencies issues.</li><li>Added PATCH to&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a></li><li>Added "starts with" and "ends with" operator to the <a shape="rect" href="simple.html">Simple</a>&#160;language.</li><li>Added&#160;<code>BeanIOSplitter</code> to&#160;<a shape="rect" href="beanio.html">Bean
 IO</a> that can be used with the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP to split big payloads in streaming mode without reading the entire content into memory.</li><li>Some of the <a shape="rect" href="aws.html">AWS</a>&#160;components allows to specify ARN in the endpoint configuration.&#160;</li><li>The create operation in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> now creates sub paths if missing.</li><li>Added support for async mode for&#160;<a shape="rect" href="servlet.html">SERVLET</a> component to leverage Asynchronous Servlet from the Servlet 3.0 spec.</li><li><a shape="rect" href="bean.html">Bean</a>&#160;component and <a shape="rect" href="bean-language.html">Bean Language</a>&#160;validates method name must be a valid according to java identifier rules, and also if parameter syntax has an ending parenthesis.</li><li>You can now use&#160;<code>@RunWith(CamelSpringBootJUnit4ClassRunner.class)</code> to test Camel&#160;<a shape="rect" href=
 "spring-boot.html">Spring Boot</a>&#160;applications and use the Camel test annotations from&#160;<a shape="rect" href="spring-testing.html">Spring Testing</a> such as&#160;<code>@MockEndpoints</code>.</li><li>To turn on logging exhausted message body with the message history you can configure this easily on the CamelContext level with&#160;<code>setLogExhaustedMessageBody</code></li><li><a shape="rect" href="infinispan.html">Camel-Infinispan</a> now supports Aggregation Repository: InfinispanLocalAggregationRepository and InfinispanRemoteAggregationRepository</li><li>The&#160;<a shape="rect" href="sql-component.html">SQL Component</a>&#160;and <a shape="rect" href="elsql.html">ElSql</a>&#160;now supports <code>outputType=StreamList</code>&#160;to use an iterator for the output of the SQL query that allows to process the data in a streaming fashion such as with the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP to process the data row by row, and load data from the datab
 ase as needed.</li><li><a shape="rect" href="jpa.html">JPA</a> now includes a&#160;<code>JpaPollingConsumer</code> implementation that better supports&#160;<a shape="rect" href="content-enricher.html">Content Enricher</a> using&#160;<code>pollEnrich</code> to do a on-demand poll that returns either none, one or a list of entities as the result.&#160;</li><li>Calling&#160;<a shape="rect" href="bean.html">Bean</a>&#160;with method parameters defined using&#160;<a shape="rect" href="simple.html">Simple</a> parameters, now avoids an intermediate conversion of the parameters to a String value. This ensures the passed in values when calling the bean method is using the parameter type as-is from&#160;<a shape="rect" href="simple.html">Simple</a>.</li><li><a shape="rect" href="cdi.html">Camel CDI</a> now supports importing Camel XML configuration files</li><li><a shape="rect" href="cdi.html">Camel CDI</a>&#160;does not deploy an empty Camel context bean anymore if not route builder beans no
 r Camel beans are deployed</li><li><a shape="rect" href="cdi.html">Camel CDI</a>&#160;adds the&#160;<code>@Named</code> qualifier to Camel route management events so that it's possible to observe these events for a specific route with an explicit <code>id</code></li><li><a shape="rect" href="beanio.html">Camel BeanIO</a> now supports the possibility to use a custom BeanReaderErrorHandler implementation in his configuration</li><li><a shape="rect" href="kubernetes.html">Camel Kubernetes</a> now supports Kubernetes ConfigMap feature</li><li>The&#160;<a shape="rect" href="tokenizer.html">Tokenizer</a> and&#160;<a shape="rect" href="xmltokenizer.html">XMLTokenizer</a> language now supports using <a shape="rect" href="simple.html">Simple</a> expressions as the token / xml tag names so they can be dynamic values.</li><li>Added&#160;<code>filterDirectory</code> and&#160;<code>filterFile</code> options to&#160;<a shape="rect" href="file2.html">File2</a> so filtering can be done using&#160;<
 a shape="rect" href="simple.html">Simple</a> language or predicates.&#160;</li><li>Optimize Camel to only enable AllowUseOriginalMessage if in use by error handler or&#160;<a shape="rect" href="oncompletion.html">OnCompletion</a>. End user who manually access the original message using the Java API must configure&#160;AllowUseOriginalMessage=true.</li><li><a shape="rect" href="ahc.html">Camel-AHC</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header to HTTP request</li><li><a shape="rect" href="http.html">Camel-HTTP</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header to HTTP request</li><li><a shape="rect" href="http4.html">Camel-HTTP4</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header to HTTP request</li><li><a shape="rect" href="jetty.html">Camel-Jetty</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header t
 o HTTP request</li><li><a shape="rect" href="bindy.html">Bindy</a>&#160;allows to plugin custom formatters for mapping to custom types.</li></ul><p>Fixed these issues:</p><ul><li>Fixed&#160;<a shape="rect" href="bean.html">Bean</a> component to avoid ambiguous error for classes that extends generic interface and calling which could lead to falsely duplicate methods (due Java type erasure inserts bridge methods)&#160;</li><li>Fixed splitting using&#160;tarfile could cause OOME if splitting big files which was mistakenly loaded into memory. Now we work on the tar stream directly.</li><li>Fixed&#160;<a shape="rect" href="netty-http.html">Netty HTTP</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> issue when not specifying a port number then port 80 would not be used but an error about port -1 is not allowed.</li><li>Fixed&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> when using property placeholders in&#160;<a shape="rect" href="rest-dsl.html">Rest 
 DSL</a> could cause invalid parameters to be included that was from the placeholder.</li><li>The&#160;<code>threads</code>&#160;EIP now lets&#160;<a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a>&#160;perform redeliveries if the thread pool would otherwise reject accepting the task. This allows the error handler to perform redeliveries to attempt to put the task on the thread pool queue, or eventually move the message to a dead letter queue etc.</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> adding empty header if specifying a non required query parameter that has no default value assigned.</li><li>Fixed <a shape="rect" href="loop.html">doWhile</a> loop which could potentially loop forever.</li><li>Fixed a NPE in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> consumer if no zookeeper node path was set</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module.</li><li>When using continued 
 with <a shape="rect" href="exception-clause.html">onException</a> then dead letter channel endpooint should not be invoked.</li><li>Fixed&#160;<a shape="rect" href="error-handler.html">Error Handler</a> to not log exceptions when using&#160;<code>continued(true)</code> by default.</li><li>Fixed so using shareUnitOfWork would now also call specialized&#160;<code>AggregationStrategy</code>&#160;for onTimeout, onCompletion etc.</li><li>Fixed&#160;<a shape="rect" href="jetty.html">Jetty</a> consumer incorrectly handle multipart/form data not being mapped as attachments on the Camel Message.</li><li>Fixed&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> may fail reading the http content from the raw netty stream if the Exchange was routed asynchronously.</li><li>Fixed&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> leak ByteBuf's on the producer side which was not released in all corner cases before they may be gargage collected.&#160;</li><li>Fixed&#160;<a shape
 ="rect" href="dozer.html">Dozer</a> not able to use variables in mapping files when using OSGi.</li></ul><h3 id="Camel2.18.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.18.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-cm-sms - For sending SMS messages using SM SMS Gateway</li><li><a shape="rect" href="ehcache.html">camel-ehcache</a>&#160;- For interacting with Ehcache 3 cache</li><li><a shape="rect" href="flink.html">camel-flink</a> - Bridges Camel connectors with Apache Flink tasks.</li><li>camel-ribbon - To use Netflixx Ribbon with the&#160;<a shape="rect" href="servicecall-eip.html">Service Call EIP</a>.</li><li>camel-servicenow - For cloud management with ServiceNow</li><li>camel-telegram - For messaging with Telegram</li><li><a shape="rect" href="camel-zipkin.html">camel-zipkin</a> - For tracking Camel message flows/timings using <a shape="rect" c
 lass="external-link" href="http://zipkin.io/" style="line-height: 1.42857;" rel="nofollow">zipkin</a></li><li><a shape="rect" href="consul-component.html">camel-consul</a> - F<span>or integrating your application with&#160;<a shape="rect" class="external-link" href="https://www.consul.io" rel="nofollow">Consul</a></span></li></ul><h3 id="Camel2.18.0Release-NewDSL">New DSL</h3><ul><li><a shape="rect" href="hystrix-eip.html">hystrix</a> - Using Hystrix as circuit breaker. This requires having&#160;<code>camel-hsytrix</code> on the classpath.</li><li><a shape="rect" href="servicecall-eip.html">serviceCall</a> -&#160;To call a remote service in a distributed system where the service is looked up from a service registry of some sorts.</li></ul><h3 id="Camel2.18.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.18.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 id="Camel2.18.0Release-New.2">New <a shape="rect" href="languages.html">L
 anguages</a></h3><h3 id="Camel2.18.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><ul><li><code>camel-example-cdi-xml</code>: i<span style="color: rgb(0,0,0);">llustrates the use of Camel XML configuration files into a Camel CDI application</span></li></ul><h3 id="Camel2.18.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.18.0Release-APIbreaking">API breaking</h2><h2 id="Camel2.18.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.18.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li><strong>Java 1.8 is now required.</strong></li><li>Karaf 2.4.x is no longer supported. Karaf 4.x is the primary supported OSGi platform.</li><li>Jetty 8.x is no longer supported and camel-jetty8 has been removed</li><li>spring 4.0 is no longer supported and&#160;camel-test-spring40 has been removed</li><li>spring 3.x is no longer supported</li><li>(only spring-dm using spring 3
 .2.x as part of camel-spring in osgi/karaf is still in use - but spring-dm is deprecated and we recommend using blueprint)</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module. If using Spring XML with Spring-DM then you need to install camel-spring-dm feature in Karaf/ServiceMix.</li><li>The deprecated <code>@LazyLoadTypeConverter</code> has been removed from all&#160;<a shape="rect" href="camel-test.html">Camel Test</a> modules</li><li>camel-gae has been removed (was not working anyway)</li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger specification anymore.</li><li>Removed the deprecated maven archetypes for SOAP WS using CXF with OSGi Blueprint</li><li>Optimize Camel to only enable AllowUseOriginalMessage if in use by error handler or&#160;<a shape="rect" href="oncompletion.html">OnCompletion</a>. End user who manually access the original messa
 ge using the Java API must configure&#160;AllowUseOriginalMessage=true.</li><li>The&#160;<a shape="rect" href="ftp2.html">FTPS</a>&#160;component is now using known hosts file from the user.home/.ssh directory by default. Set the option&#160;useUserKnownHostsFile=false to use old behavior.</li></ul><h2 id="Camel2.18.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.18.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-cam
 el/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 cla
 ss="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.18.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/apa
 che-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.18.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">
+<div class="wiki-content maincontent"><h1 id="Camel2.18.0Release-Camel2.18.0release(currentlyinprogress)">Camel 2.18.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.18.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.18.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Added <a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> as EIP pattern that uses native Hystrix as the Circuit Breaker implementation.&#160;This requires having&#160;<code>camel-hsytrix</code>&#160;on the classpath.</li><li>Added&#160;<a shape="
 rect" href="servicecall-eip.html">Service Call EIP</a> as EIP pattern that allows to call a remote service in a distributed system, where the service is looked up from a service registry of some sorts, such as kubernetes, consul, etcd, zookeeper etc.</li><li>Improved the&#160;<a shape="rect" href="bean.html">Bean</a> component to better match method parameter types when using&#160;<a shape="rect" href="simple.html">Simple</a> language as parameter values.</li><li>Added&#160;<code>BindyConverter</code> that allows to implement custom data converters for&#160;<a shape="rect" href="bindy.html">Bindy</a></li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger specification anymore.</li><li><a shape="rect" href="nats.html">Camel-NATS</a>&#160;now uses JNATS client instead of the deprecated Java_nats one.</li><li>During startup of&#160;<a shape="rect" href="camelcontext.html">CamelContext</a> the s
 ervices that are used as part of routes are now deferred being started to the end of the startup process. Some IoC frameworks like Spring can otherwise causes a circular dependency issue if services are started too early. A side effect is that if service startup failures happen when being started later, they are now wrapped in the <code>FailedToStartupRouteException</code> to better pin point which route thas the problem.</li><li>Improved the startup sequence of&#160;<a shape="rect" href="spring-java-config.html">Spring Java Config</a> to be similar to&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> that helps prevent Spring initialization errors about circular dependencies issues.</li><li>Added PATCH to&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a></li><li>Added "starts with" and "ends with" operator to the <a shape="rect" href="simple.html">Simple</a>&#160;language.</li><li>Added&#160;<code>BeanIOSplitter</code> to&#160;<a shape="rect" href="beanio.html">Bean
 IO</a> that can be used with the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP to split big payloads in streaming mode without reading the entire content into memory.</li><li>Some of the <a shape="rect" href="aws.html">AWS</a>&#160;components allows to specify ARN in the endpoint configuration.&#160;</li><li>The create operation in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> now creates sub paths if missing.</li><li>Added support for async mode for&#160;<a shape="rect" href="servlet.html">SERVLET</a> component to leverage Asynchronous Servlet from the Servlet 3.0 spec.</li><li><a shape="rect" href="bean.html">Bean</a>&#160;component and <a shape="rect" href="bean-language.html">Bean Language</a>&#160;validates method name must be a valid according to java identifier rules, and also if parameter syntax has an ending parenthesis.</li><li>You can now use&#160;<code>@RunWith(CamelSpringBootJUnit4ClassRunner.class)</code> to test Camel&#160;<a shape="rect" href=
 "spring-boot.html">Spring Boot</a>&#160;applications and use the Camel test annotations from&#160;<a shape="rect" href="spring-testing.html">Spring Testing</a> such as&#160;<code>@MockEndpoints</code>.</li><li>To turn on logging exhausted message body with the message history you can configure this easily on the CamelContext level with&#160;<code>setLogExhaustedMessageBody</code></li><li><a shape="rect" href="infinispan.html">Camel-Infinispan</a> now supports Aggregation Repository: InfinispanLocalAggregationRepository and InfinispanRemoteAggregationRepository</li><li>The&#160;<a shape="rect" href="sql-component.html">SQL Component</a>&#160;and <a shape="rect" href="elsql.html">ElSql</a>&#160;now supports <code>outputType=StreamList</code>&#160;to use an iterator for the output of the SQL query that allows to process the data in a streaming fashion such as with the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP to process the data row by row, and load data from the datab
 ase as needed.</li><li><a shape="rect" href="jpa.html">JPA</a> now includes a&#160;<code>JpaPollingConsumer</code> implementation that better supports&#160;<a shape="rect" href="content-enricher.html">Content Enricher</a> using&#160;<code>pollEnrich</code> to do a on-demand poll that returns either none, one or a list of entities as the result.&#160;</li><li>Calling&#160;<a shape="rect" href="bean.html">Bean</a>&#160;with method parameters defined using&#160;<a shape="rect" href="simple.html">Simple</a> parameters, now avoids an intermediate conversion of the parameters to a String value. This ensures the passed in values when calling the bean method is using the parameter type as-is from&#160;<a shape="rect" href="simple.html">Simple</a>.</li><li><a shape="rect" href="cdi.html">Camel CDI</a> now supports importing Camel XML configuration files</li><li><a shape="rect" href="cdi.html">Camel CDI</a>&#160;does not deploy an empty Camel context bean anymore if not route builder beans no
 r Camel beans are deployed</li><li><a shape="rect" href="cdi.html">Camel CDI</a>&#160;adds the&#160;<code>@Named</code> qualifier to Camel route management events so that it's possible to observe these events for a specific route with an explicit <code>id</code></li><li><a shape="rect" href="beanio.html">Camel BeanIO</a> now supports the possibility to use a custom BeanReaderErrorHandler implementation in his configuration</li><li><a shape="rect" href="kubernetes.html">Camel Kubernetes</a> now supports Kubernetes ConfigMap feature</li><li>The&#160;<a shape="rect" href="tokenizer.html">Tokenizer</a> and&#160;<a shape="rect" href="xmltokenizer.html">XMLTokenizer</a> language now supports using <a shape="rect" href="simple.html">Simple</a> expressions as the token / xml tag names so they can be dynamic values.</li><li>Added&#160;<code>filterDirectory</code> and&#160;<code>filterFile</code> options to&#160;<a shape="rect" href="file2.html">File2</a> so filtering can be done using&#160;<
 a shape="rect" href="simple.html">Simple</a> language or predicates.&#160;</li><li>Optimize Camel to only enable AllowUseOriginalMessage if in use by error handler or&#160;<a shape="rect" href="oncompletion.html">OnCompletion</a>. End user who manually access the original message using the Java API must configure&#160;AllowUseOriginalMessage=true.</li><li><a shape="rect" href="ahc.html">Camel-AHC</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header to HTTP request</li><li><a shape="rect" href="http.html">Camel-HTTP</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header to HTTP request</li><li><a shape="rect" href="http4.html">Camel-HTTP4</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header to HTTP request</li><li><a shape="rect" href="jetty.html">Camel-Jetty</a> now support a connectionClose parameter to allow explicitly adding a Connection Close header t
 o HTTP request</li><li><a shape="rect" href="bindy.html">Bindy</a>&#160;allows to plugin custom formatters for mapping to custom types.</li></ul><p>Fixed these issues:</p><ul><li>Fixed&#160;<a shape="rect" href="bean.html">Bean</a> component to avoid ambiguous error for classes that extends generic interface and calling which could lead to falsely duplicate methods (due Java type erasure inserts bridge methods)&#160;</li><li>Fixed splitting using&#160;tarfile could cause OOME if splitting big files which was mistakenly loaded into memory. Now we work on the tar stream directly.</li><li>Fixed&#160;<a shape="rect" href="netty-http.html">Netty HTTP</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> issue when not specifying a port number then port 80 would not be used but an error about port -1 is not allowed.</li><li>Fixed&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> when using property placeholders in&#160;<a shape="rect" href="rest-dsl.html">Rest 
 DSL</a> could cause invalid parameters to be included that was from the placeholder.</li><li>The&#160;<code>threads</code>&#160;EIP now lets&#160;<a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a>&#160;perform redeliveries if the thread pool would otherwise reject accepting the task. This allows the error handler to perform redeliveries to attempt to put the task on the thread pool queue, or eventually move the message to a dead letter queue etc.</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> adding empty header if specifying a non required query parameter that has no default value assigned.</li><li>Fixed <a shape="rect" href="loop.html">doWhile</a> loop which could potentially loop forever.</li><li>Fixed a NPE in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> consumer if no zookeeper node path was set</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module.</li><li>When using continued 
 with <a shape="rect" href="exception-clause.html">onException</a> then dead letter channel endpooint should not be invoked.</li><li>Fixed&#160;<a shape="rect" href="error-handler.html">Error Handler</a> to not log exceptions when using&#160;<code>continued(true)</code> by default.</li><li>Fixed so using shareUnitOfWork would now also call specialized&#160;<code>AggregationStrategy</code>&#160;for onTimeout, onCompletion etc.</li><li>Fixed&#160;<a shape="rect" href="jetty.html">Jetty</a> consumer incorrectly handle multipart/form data not being mapped as attachments on the Camel Message.</li><li>Fixed&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> may fail reading the http content from the raw netty stream if the Exchange was routed asynchronously.</li><li>Fixed&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> leak ByteBuf's on the producer side which was not released in all corner cases before they may be gargage collected.&#160;</li><li>Fixed&#160;<a shape
 ="rect" href="dozer.html">Dozer</a> not able to use variables in mapping files when using OSGi.</li><li>Fixed a potential&#160;dead-lock when doing request/reply over&#160;<a shape="rect" href="jms.html">JMS</a> and requests are timing out concurrently and continued routing the exchanges are calling another <a shape="rect" href="jms.html">JMS</a> endpoint that is also doing request/reply which also timeout.&#160;</li></ul><h3 id="Camel2.18.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.18.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-cm-sms - For sending SMS messages using SM SMS Gateway</li><li><a shape="rect" href="ehcache.html">camel-ehcache</a>&#160;- For interacting with Ehcache 3 cache</li><li><a shape="rect" href="flink.html">camel-flink</a> - Bridges Camel connectors with Apache Flink tasks.</li><li>camel-ribbon - To use Netflixx Ribbon with the
 &#160;<a shape="rect" href="servicecall-eip.html">Service Call EIP</a>.</li><li>camel-servicenow - For cloud management with ServiceNow</li><li>camel-telegram - For messaging with Telegram</li><li><a shape="rect" href="camel-zipkin.html">camel-zipkin</a> - For tracking Camel message flows/timings using <a shape="rect" class="external-link" href="http://zipkin.io/" style="line-height: 1.42857;" rel="nofollow">zipkin</a></li><li><a shape="rect" href="consul-component.html">camel-consul</a> - F<span>or integrating your application with&#160;<a shape="rect" class="external-link" href="https://www.consul.io" rel="nofollow">Consul</a></span></li></ul><h3 id="Camel2.18.0Release-NewDSL">New DSL</h3><ul><li><a shape="rect" href="hystrix-eip.html">hystrix</a> - Using Hystrix as circuit breaker. This requires having&#160;<code>camel-hsytrix</code> on the classpath.</li><li><a shape="rect" href="servicecall-eip.html">serviceCall</a> -&#160;To call a remote service in a distributed system where 
 the service is looked up from a service registry of some sorts.</li></ul><h3 id="Camel2.18.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.18.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 id="Camel2.18.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.18.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><ul><li><code>camel-example-cdi-xml</code>: i<span style="color: rgb(0,0,0);">llustrates the use of Camel XML configuration files into a Camel CDI application</span></li></ul><h3 id="Camel2.18.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.18.0Release-APIbreaking">API breaking</h2><h2 id="Camel2.18.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.18.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li><strong>Java 1.8 is now required.</strong></li><li>Karaf 2.
 4.x is no longer supported. Karaf 4.x is the primary supported OSGi platform.</li><li>Jetty 8.x is no longer supported and camel-jetty8 has been removed</li><li>spring 4.0 is no longer supported and&#160;camel-test-spring40 has been removed</li><li>spring 3.x is no longer supported</li><li>(only spring-dm using spring 3.2.x as part of camel-spring in osgi/karaf is still in use - but spring-dm is deprecated and we recommend using blueprint)</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module. If using Spring XML with Spring-DM then you need to install camel-spring-dm feature in Karaf/ServiceMix.</li><li>The deprecated <code>@LazyLoadTypeConverter</code> has been removed from all&#160;<a shape="rect" href="camel-test.html">Camel Test</a> modules</li><li>camel-gae has been removed (was not working anyway)</li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swa
 gger specification anymore.</li><li>Removed the deprecated maven archetypes for SOAP WS using CXF with OSGi Blueprint</li><li>Optimize Camel to only enable AllowUseOriginalMessage if in use by error handler or&#160;<a shape="rect" href="oncompletion.html">OnCompletion</a>. End user who manually access the original message using the Java API must configure&#160;AllowUseOriginalMessage=true.</li><li>The&#160;<a shape="rect" href="ftp2.html">FTPS</a>&#160;component is now using known hosts file from the user.home/.ssh directory by default. Set the option&#160;useUserKnownHostsFile=false to use old behavior.</li></ul><h2 id="Camel2.18.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.18.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 colsp
 an="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" cl
 ass="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.18.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="conflue
 nceTd"><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.18.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;