camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r982386 [2/2] - in /websites/production/camel/content: book-cookbook.html book-in-one-page.html cache/main.pageCache camel-2170-release.html testing.html
Date Thu, 10 Mar 2016 12:20:31 GMT
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 Thu Mar 10 12:20:31 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>The component documentation generated from the source code has been double checked to be up to date and include all the options the endpoints supports.</li><li><a shape="rect" href="tools.html">Camel commands</a> for&#160;<a shape="rect" href="spring-b
 oot.html">Spring Boot</a></li><li>Many improvements to&#160;Camel&#160;<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="re
 ct" 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>setExchangeProperty</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 Main 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><li>The&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> now supports default values for query parameters</li><li>The&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> now only binds from POJO to JSon/XML if the content-type is for json or xml. This allows you to specify a custom content-type and omit the binding, such as when having binary payloads.</li><li>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><li>Camel&#160;<a shape="rect" href="error-handler.html">Error Handler</a> no longer 
 log message body/header details when logging the <a shape="rect" href="message-history.html">Message History</a>. This avoids logging any&#160;sensitive details from message bodies.</li><li>Camel&#160;<a shape="rect" href="exception-clause.html">Exception Clause</a> and&#160;<a shape="rect" href="error-handler.html">Error Handler</a> now supports using a custom&#160;<code>Processor</code> to be invoked right after an exception was thrown using the new&#160;<strong>onExceptionOccurred</strong> option.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> consumer more resilient to auto re-connect in case of connection failures</li><li>The&#160;<a shape="rect" href="json.html">JSON</a> <code>camel-jackson</code>&#160;can be used as a type converter to convert json to/from POJO and String/byte[] types, if enabled.</li><li>The&#160;<a shape="rect" href="sql-component.html">SQL Component</a> now supports loading the SQL queries from external files on the classpath or file system, whe
 re you can format the queries using newlines and indenting.</li><li>The&#160;<a shape="rect" href="mail.html">Mail</a> consumer allows to use an idempotent repository&#160;which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process.</li><li>Added support for completion interval on the&#160;<a shape="rect" href="sjms-batch.html">SJMS Batch</a> component, which allows to trigger batch completion in a fixed scheduled interval.</li><li>The&#160;<a shape="rect" href="http.html">HTTP</a> and&#160;<a shape="rect" href="http4.html">HTTP4</a> producers now support the&#160;<code>disableStreamCache</code> option to allow to use the raw response stream as the message body instead of wrapping using&#160;<a shape="rect" href="stream-caching.html">Stream caching</a></li><li>The <a shape="rect" href="cdi.html">Camel CDI</a> component has been improved to better fit into the CDI programming model, cover a lar
 ger set of containers, and provide these new features:<ul><li>The Camel events from the <code>org.apache.camel.management.event</code> package (like <code>CamelContextStartedEvent</code>)&#160;can be observed as CDI events</li><li>The new CDI event Camel endpoint enable&#160;<span>CDI events to be seamlessly consumed from (respectively produced by) Camel consumers (respectively Camel producers)</span></li><li><span><span>CDI beans annotated with the&#160;</span><code>@Converter</code><span>&#160;annotation are automatically registered as type converters</span></span></li><li><span><span>The CDI Camel contexts can be&#160;properly customised programmatically in bean constructor or&#160;<code>@PostConstruct</code> lifecycle callback</span></span></li><li>Camel routes configured in <code>RouteBuilder</code> beans are added before the corresponding Camel contexts get started</li><li><span>CDI Camel contexts are now properly adapted when deployed in OSGi containers and are registered as 
 OSGi services</span></li><li>Proper support of multiple Camel contexts across all the features<span><br clear="none"></span></li></ul></li><li>The&#160;<a shape="rect" href="xslt.html">XSLT</a> component now supports Saxon's&#160;<a shape="rect" class="external-link" href="http://www.saxonica.com/html/documentation/extensibility/integratedfunctions" rel="nofollow" title="Follow link">integrated extension functions</a>.</li><li>Added option&#160;<code>reuseChannel</code> to&#160;<a shape="rect" href="netty4.html">Netty4</a> which allows to reuse existing Channel when using a netty producer to call a server multiple times during routing an Exchange.</li><li>Idempotent Repository now supports optional serialized headers&#160;</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> adjusted to swagger spec 2.0 and&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> as well.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> allows to specify response headers as well.
 </li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> is exposing the REST services using all local IP address (eg 0.0.0.0) by default.</li><li><a shape="rect" href="quartz2.html">Camel-quartz2</a> now supports customCalendar to avoid specific range of dates (Holidays for example) in Scheduler and Triggers.</li><li>Improved&#160;<a shape="rect" href="bean-language.html">Bean Language</a> to be able to invoke static methods on pure static classes.</li><li>When&#160;<a shape="rect" href="bean-language.html">Bean Language</a> failed to invoke a method from an&#160;OGNL method chain (eg invoke the following 3 methods "doFoo.doSomething.getBar") and a method returned null which prevent further method invocation as that would cause a NullPointerException. Now you have a more detailed exception message to better explain this.</li><li><a shape="rect" href="jaxb.html">JAXB</a> data format and type converter now supports converting from XML to POJO for classes that are using ObjectFactor
 y classes instead of XmlRootElement annotations.</li><li>The&#160;<a shape="rect" href="kafka.html">Kafka</a> component has been migrated to use the Java Kafka client instead of Scala. As such there may be migration efforts or code changes that can affect users upgrading.</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>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> to output the swagger API with property placeholder resolved to actual used values.</li><li><a shape="rect" href="paho.html">Paho</a>&#160;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 api-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><li>Fixed using&#160;<code>statement.xxx</code> options on the&#160;<a shape="rect" href="jdbc.html">JDBC</a> consumer would only be used in first poll.</li><li>Fixed &#160;<a shape="rect" href="http.html">HTTP</a>&#160;and&#160;<a shape="rect" href="http4.html">HTTP4</a>&#160;to keep trailing slash if provided in uri when calling remote HTTP service.</li><li>Fixed&#160;<a shape="rect" href="oncompletion.html">OnCompletion</a> to keep any caught exception stored as property on the&#160;<code>Exchange</code> which allows to access that information to know if there 
 was an exception during routing.</li><li>Fixed an issue with&#160;<a shape="rect" href="bean.html">Bean</a> component or&#160;<a shape="rect" href="simple.html">Simple</a> language with OGNL method call, would pick method with java.lang.Object type over a better suited method, when the method is overloaded.</li><li>Fixed&#160;<code>camel-blueprint</code> to wait for the bundles with the component and data-formats the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been configured to use, are available before starting Camel.</li><li>Fixed an issue with&#160;<a shape="rect" href="error-handler.html">Error Handler</a> would log any handled(true) exceptions.</li><li>Fixed a memory leak if adding/removing routes using&#160;<a shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> where the repository would not be removed from the JMX registry when routes is removed.</li><li>Fixed issue with&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> would eager 
 shutdown some Camel resources like type converters, which spring-boot should let Camel handle the lifecycle of these resources.</li><li>Fixed&#160;<a shape="rect" href="cxfrs.html">CXFRS</a> using simple binding mode would use the content-length header from the incoming message in the response, instead of calculating the length based on the output message body.</li><li>Fixed an issue with&#160;<a shape="rect" href="simple.html">Simple</a> if starting the expression with&#160;<code>file:</code> could fail with an error.</li><li>Fixed&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> may report spring type converter errors if <a shape="rect" href="stream-caching.html">Stream caching</a> is enabled.</li><li>Fixed&#160;<a shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> would not propagate exception thrown from&#160;<code>IdempotentRepository</code> to Camel's&#160;<a shape="rect" href="error-handler.html">Error Handler</a> such as&#160;<code>onException</
 code><code><br clear="none"></code></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><a shape="rect" href="aws-kinesis.html">camel-aws</a><span style="line-height: 1.42857;"> - AWS kinesis streams component added</span></li><li><a shape="rect" href="aws-ddbstream.html">camel-aws</a> - DynamoDB streams component added</li><li><a shape="rect" href="braintree.html">camel-braintree</a>&#160;- for interacting with Braintree Payments.</li><li><a shape="rect" href="etcd.html">camel-etcd</a><span style="line-height: 1.42857;">&#160;- Integrating Camel with&#160;</span><a shape="rect" class="external-link" href="https://coreos.com/etcd/" style="line-height: 1.42857;" rel="nofollow">Etcd</a><span style="line-height: 1.42857;">&#160;key value store</span></li><li>camel-kubernetes - Integrates Came
 l with Kubernetes</li><li><a shape="rect" href="ignite.html">camel-ignite</a> - for working with Apache Ignite.</li><li>camel-ironmq - messaging with the <a shape="rect" class="external-link" href="http://www.iron.io/platform/ironmq/" rel="nofollow">IronMQ</a> cloud messaging.</li><li><a shape="rect" href="jcache.html">camel-jcache</a><a shape="rect" href="mllp.html"><span>&#160;- support&#160;</span></a><a shape="rect" class="external-link" href="https://github.com/jsr107/jsr107spec" rel="nofollow">JCache / JSR107</a><a shape="rect" href="mllp.html"><span>&#160;caching.</span></a></li><li><a shape="rect" href="mllp.html">camel-mllp</a> -&#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><span style="color: rgb(0,0,0);">camel-nats - for interacting with Nats messaging platform</span></li><li><a shape="rect" href="apache-spark.html">camel-spark</a> - bridges Ap
 ache Spark computations with Camel endpoints</li><li><a shape="rect" href="sql-stored-procedure.html">camel-sql</a> - Now supports calling stored procedures using the new <a shape="rect" href="sql-stored-procedure.html">sql-stored component</a>.</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><li><a shape="rect" href="lzf-data-format.html">LZF Data Format</a> - LZF based data format.&#160;</li><li><a shape="rect" href="yaml-data-format.html">YAML Data Format</a> - YAML based data format.</li><li>Hessian - Caucho Hessian 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.h
 tml">Examples</a></h3><ul><li>camel-example-cdi-metrics - illustrates the integration between Camel, Dropwizard Metrics and CDI.</li><li>camel-example-cdi-properties -&#160;<span>illustrates the integration between Camel, DeltaSpike and CDI for configuration properties.</span></li><li><span>camel-example-cdi-osgi - a<span>&#160;CDI application using the SJMS component that can be executed inside an OSGi container using PAX CDI.</span></span></li><li><span>camel-example-cdi-rest-servlet -&#160;<span>illustrates the Camel REST DSL being used in a Web application that uses CDI as dependency injection framework</span></span></li><li>camel-example-spring-boot-metrics - showing a Camel spring-boot application that report metrics to Graphite. Requires Graphite running on your network.</li><li>camel-example-widget-gadget-cdi - The Widget and Gadget use-case from the EIP book implemented in Java with CDI dependency Injection.</li><li>camel-example-widget-gadget-java - The Widget and Gadget u
 se-case from the EIP book implemented in plain old Java Main without any kind of <em>application server</em>.</li><li>camel-example-widget-gadget-xml - The Widget and Gadget use-case from the EIP book implemented in Spring XML without any Java code or any kind of&#160;<em>application server</em>.</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><ul><li>As part of the <a shape="rect" href="cdi.html">Camel CDI</a> component refactoring:<ul><li>The <code>@ContextName</code>&#160;qualifier does not have a default empty value anymore as it is irrelevant</li><li>The&#160;CdiPropertiesComponent&#160;class has been removed, the standard&#160;PropertiesComponent&#160;can be used instead</li></ul></li></ul><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
 >Apache 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.2</li><li>Facebook4j from 2.3.1 to 2.4.2</li><li>GAE from 1.9.26 to 1.9.32</li><li>Google Gson from 2.4 to 2.61</li><li>Hazelcast from 3.5.2 to 3.6</li><li>Infinispan from 8
 .0.1.Final to 8.1.2.Final</li><li>Jackson from 2.6.3 to 2.7.1</li><li>Jboss Xnio from 3.3.1.Final to 3.3.4.Final</li><li>Jboss Weld from 2.3.0.Final to 2.3.3.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><strong>This is the last release that will support Java 1.7. Releases after this is expected to require Java 1.8+.&#160;</strong></li><li>Some changes in&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a>&#160;to adjust naming and types to the Swagger Spec 2.0</li><li>Any custom component that supports suspension in doSuspend/doResume should implement the new&#160;<code>Suspendable</code> marker interface, so Camel knows there is custom logic for suspension in the component.</li><li>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><li>Removed camel-hbase as Karaf feature as it did not really work well in OSGi</li><li>Upgra
 ded camel-hbase to Hadoop 2.x and HBase 1.1.x</li><li>camel-infinispan requires Java 8.</li><li>camel-mustache requires Java 8.</li><li>Support for Spring 4.0.x is deprecated. Support for Spring 3.x is being <strong>removed</strong> in the next release.</li><li>Support for Karaf 2.x and 3.x is deprecated. And removed in next release, where Karaf 4.x onwards is only supported.</li><li>camel-jetty8 is deprecated and being removed in next release.</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>The&#160;<a shape="rect" href="file2.html">File</a>&#160;consumer no longer probe the file content by default. See the option&#160;<code>probeContentType</code> for more details.</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><li>The&#160;<a shape="rect" href="twitter.html">Twitter</a> delay option is changed from seconds to milli seconds by default, eg 10 should be 10000 to indicate 10 seconds. This is aligned how other components with delay option behaves.&#160;</li><li>The options&#160;<code>attributeNames</code> and&#160;<code>messageAttributeNames</code> on&#160;<a shape="rect" href="aws-sqs.html">AWS-SQS</a> is changed to a string type where you can separate 
 multiple values using comma. Before the type was a Collection which was much harder to configure in the Camel uris.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> is exposing the REST services using all local IP address (eg 0.0.0.0) by default, instead of the local IP address of the host.</li><li>The&#160;<a shape="rect" href="hbase.html">hbase</a> component now require row mapping from the endpoint uri to be prefixed with <code style="line-height: 1.42857;">row.</code>&#160;as prefix.<br clear="none">Before: <code>family=info&amp;qualifier=firstName&amp;family2=birthdate&amp;qualifier2=year</code>.&#160;After:&#160;<code>row.family=info&amp;row.qualifier=firstName&amp;row.family2=birthdate&amp;row.qualifier2=year</code>.</li><li>As part of the <a shape="rect" href="cdi.html">Camel CDI</a> component refactoring,&#160;<em>DeltaSpike</em> is not used anymore for the sourcing of the configuration properties. This new version of the component is agnostic to any configuration 
 sourcing mechanism and delegates that concern to the application so that it can declare a custom&#160;<code>PropertiesComponent</code>&#160;bean whose sourcing is tailored to its need. <em>DeltaSpike</em> can still be used by the application by declaring a&#160;<code>PropertiesComponent</code>&#160;bean configured with a&#160;<code>PropertiesParser</code>&#160;relying on <em>DeltaSpike</em>. See the&#160;<code>camel-example-cdi-properties</code>&#160;example for more details.</li><li>The&#160;<a shape="rect" href="kafka.html">Kafka</a> component has been migrated to use the Java Kafka client instead of Scala. As such there may be migration efforts or code changes that can affect users upgrading.</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>Descriptio
 n</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="con
 fluenceTd"><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 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.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>The component documentation generated from the source code has been double checked to be up to date and include all the options the endpoints supports.</li><li><a shape="rect" href="tools.html">Camel commands</a> for&#160;<a shape="rect" href="spring-b
 oot.html">Spring Boot</a></li><li>Many improvements to&#160;Camel&#160;<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="re
 ct" 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>setExchangeProperty</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 Main 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><li>The&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> now supports default values for query parameters</li><li>The&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> now only binds from POJO to JSon/XML if the content-type is for json or xml. This allows you to specify a custom content-type and omit the binding, such as when having binary payloads.</li><li>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><li>Camel&#160;<a shape="rect" href="error-handler.html">Error Handler</a> no longer 
 log message body/header details when logging the <a shape="rect" href="message-history.html">Message History</a>. This avoids logging any&#160;sensitive details from message bodies.</li><li>Camel&#160;<a shape="rect" href="exception-clause.html">Exception Clause</a> and&#160;<a shape="rect" href="error-handler.html">Error Handler</a> now supports using a custom&#160;<code>Processor</code> to be invoked right after an exception was thrown using the new&#160;<strong>onExceptionOccurred</strong> option.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> consumer more resilient to auto re-connect in case of connection failures</li><li>The&#160;<a shape="rect" href="json.html">JSON</a> <code>camel-jackson</code>&#160;can be used as a type converter to convert json to/from POJO and String/byte[] types, if enabled.</li><li>The&#160;<a shape="rect" href="sql-component.html">SQL Component</a> now supports loading the SQL queries from external files on the classpath or file system, whe
 re you can format the queries using newlines and indenting.</li><li>The&#160;<a shape="rect" href="mail.html">Mail</a> consumer allows to use an idempotent repository&#160;which allows to cluster consuming from the same mailbox, and let the repository coordinate whether a mail message is valid for the consumer to process.</li><li>Added support for completion interval on the&#160;<a shape="rect" href="sjms-batch.html">SJMS Batch</a> component, which allows to trigger batch completion in a fixed scheduled interval.</li><li>The&#160;<a shape="rect" href="http.html">HTTP</a> and&#160;<a shape="rect" href="http4.html">HTTP4</a> producers now support the&#160;<code>disableStreamCache</code> option to allow to use the raw response stream as the message body instead of wrapping using&#160;<a shape="rect" href="stream-caching.html">Stream caching</a></li><li>The <a shape="rect" href="cdi.html">Camel CDI</a> component has been improved to better fit into the CDI programming model, cover a lar
 ger set of containers, and provide these new features:<ul><li>The Camel events from the <code>org.apache.camel.management.event</code> package (like <code>CamelContextStartedEvent</code>)&#160;can be observed as CDI events</li><li>The new CDI event Camel endpoint enable&#160;<span>CDI events to be seamlessly consumed from (respectively produced by) Camel consumers (respectively Camel producers)</span></li><li><span><span>CDI beans annotated with the&#160;</span><code>@Converter</code><span>&#160;annotation are automatically registered as type converters</span></span></li><li><span><span>The CDI Camel contexts can be&#160;properly customised programmatically in bean constructor or&#160;<code>@PostConstruct</code> lifecycle callback</span></span></li><li>Camel routes configured in <code>RouteBuilder</code> beans are added before the corresponding Camel contexts get started</li><li><span>CDI Camel contexts are now properly adapted when deployed in OSGi containers and are registered as 
 OSGi services</span></li><li>Proper support of multiple Camel contexts across all the features<span><br clear="none"></span></li><li>A new <a shape="rect" href="cdi-testing.html">Camel CDI Test</a> module is available to ease testing of Camel CDI applications</li></ul></li><li>The&#160;<a shape="rect" href="xslt.html">XSLT</a> component now supports Saxon's&#160;<a shape="rect" class="external-link" href="http://www.saxonica.com/html/documentation/extensibility/integratedfunctions" rel="nofollow" title="Follow link">integrated extension functions</a>.</li><li>Added option&#160;<code>reuseChannel</code> to&#160;<a shape="rect" href="netty4.html">Netty4</a> which allows to reuse existing Channel when using a netty producer to call a server multiple times during routing an Exchange.</li><li>Idempotent Repository now supports optional serialized headers&#160;</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> adjusted to swagger spec 2.0 and&#160;<a shape="rect" href="swagger-jav
 a.html">Swagger Java</a> as well.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> allows to specify response headers as well.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> is exposing the REST services using all local IP address (eg 0.0.0.0) by default.</li><li><a shape="rect" href="quartz2.html">Camel-quartz2</a> now supports customCalendar to avoid specific range of dates (Holidays for example) in Scheduler and Triggers.</li><li>Improved&#160;<a shape="rect" href="bean-language.html">Bean Language</a> to be able to invoke static methods on pure static classes.</li><li>When&#160;<a shape="rect" href="bean-language.html">Bean Language</a> failed to invoke a method from an&#160;OGNL method chain (eg invoke the following 3 methods "doFoo.doSomething.getBar") and a method returned null which prevent further method invocation as that would cause a NullPointerException. Now you have a more detailed exception message to better explain this.</li><li><a shape="rect" hr
 ef="jaxb.html">JAXB</a> data format and type converter now supports converting from XML to POJO for classes that are using ObjectFactory classes instead of XmlRootElement annotations.</li><li>The&#160;<a shape="rect" href="kafka.html">Kafka</a> component has been migrated to use the Java Kafka client instead of Scala. As such there may be migration efforts or code changes that can affect users upgrading.</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>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> with&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> to output the swagger API with property placeholder resolved to ac
 tual used values.</li><li><a shape="rect" href="paho.html">Paho</a>&#160;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 api-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><li>Fixed using&#160;<code>statement.xxx</code> options on the&#160;<a shape="rect" href="jdbc.html">JDBC</a> consumer would only be used in first poll.</li><li>Fixed &#160;<a shape="rect" href="http.html">HTTP</a>&#160;and&#160;<a shape="rect" href="http4.html">HTTP4</a>&#160;to keep trailing slash if provided in uri when calling remote HTTP service.</li><li>Fixed&#160;<a shape="rect" href="oncompletion.html">OnCompletion</a> to k
 eep any caught exception stored as property on the&#160;<code>Exchange</code> which allows to access that information to know if there was an exception during routing.</li><li>Fixed an issue with&#160;<a shape="rect" href="bean.html">Bean</a> component or&#160;<a shape="rect" href="simple.html">Simple</a> language with OGNL method call, would pick method with java.lang.Object type over a better suited method, when the method is overloaded.</li><li>Fixed&#160;<code>camel-blueprint</code> to wait for the bundles with the component and data-formats the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been configured to use, are available before starting Camel.</li><li>Fixed an issue with&#160;<a shape="rect" href="error-handler.html">Error Handler</a> would log any handled(true) exceptions.</li><li>Fixed a memory leak if adding/removing routes using&#160;<a shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> where the repository would not be removed from the 
 JMX registry when routes is removed.</li><li>Fixed issue with&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> would eager shutdown some Camel resources like type converters, which spring-boot should let Camel handle the lifecycle of these resources.</li><li>Fixed&#160;<a shape="rect" href="cxfrs.html">CXFRS</a> using simple binding mode would use the content-length header from the incoming message in the response, instead of calculating the length based on the output message body.</li><li>Fixed an issue with&#160;<a shape="rect" href="simple.html">Simple</a> if starting the expression with&#160;<code>file:</code> could fail with an error.</li><li>Fixed&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> may report spring type converter errors if <a shape="rect" href="stream-caching.html">Stream caching</a> is enabled.</li><li>Fixed&#160;<a shape="rect" href="idempotent-consumer.html">Idempotent Consumer</a> would not propagate exception thrown from&#160;<code>I
 dempotentRepository</code> to Camel's&#160;<a shape="rect" href="error-handler.html">Error Handler</a> such as&#160;<code>onException</code><code><br clear="none"></code></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><a shape="rect" href="aws-kinesis.html">camel-aws</a><span style="line-height: 1.42857;"> - AWS kinesis streams component added</span></li><li><a shape="rect" href="aws-ddbstream.html">camel-aws</a> - DynamoDB streams component added</li><li><a shape="rect" href="braintree.html">camel-braintree</a>&#160;- for interacting with Braintree Payments.</li><li><a shape="rect" href="cdi-testing.html">camel-test-cdi</a> - ease testing of Camel CDI applications</li><li><a shape="rect" href="etcd.html">camel-etcd</a><span style="line-height: 1.42857;">&#160;- Integrating Camel with
 &#160;</span><a shape="rect" class="external-link" href="https://coreos.com/etcd/" style="line-height: 1.42857;" rel="nofollow">Etcd</a><span style="line-height: 1.42857;">&#160;key value store</span></li><li>camel-kubernetes - Integrates Camel with Kubernetes</li><li><a shape="rect" href="ignite.html">camel-ignite</a> - for working with Apache Ignite.</li><li>camel-ironmq - messaging with the <a shape="rect" class="external-link" href="http://www.iron.io/platform/ironmq/" rel="nofollow">IronMQ</a> cloud messaging.</li><li><a shape="rect" href="jcache.html">camel-jcache</a><a shape="rect" href="mllp.html"><span>&#160;- support&#160;</span></a><a shape="rect" class="external-link" href="https://github.com/jsr107/jsr107spec" rel="nofollow">JCache / JSR107</a><a shape="rect" href="mllp.html"><span>&#160;caching.</span></a></li><li><a shape="rect" href="mllp.html">camel-mllp</a> -&#160;<span style="color: rgb(0,0,0);">for working with the HL7 MLLP protocol. This is an alternative to&#16
 0;<a shape="rect" href="hl7.html">HL7</a> component.</span></li><li><span style="color: rgb(0,0,0);">camel-nats - for interacting with Nats messaging platform</span></li><li><a shape="rect" href="apache-spark.html">camel-spark</a> - bridges Apache Spark computations with Camel endpoints</li><li><a shape="rect" href="sql-stored-procedure.html">camel-sql</a> - Now supports calling stored procedures using the new <a shape="rect" href="sql-stored-procedure.html">sql-stored component</a>.</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><li><a shape="rect" href="lzf-data-format.html">LZF Data Format</a> - LZF based data format.&#160;</li><li><a shape="rect" href="yaml-data-format.html">YAML Data Format</a> - YAML b
 ased data format.</li><li>Hessian - Caucho Hessian 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-cdi-metrics - illustrates the integration between Camel, Dropwizard Metrics and CDI.</li><li>camel-example-cdi-properties -&#160;<span>illustrates the integration between Camel, DeltaSpike and CDI for configuration properties.</span></li><li><span>camel-example-cdi-osgi - a<span>&#160;CDI application using the SJMS component that can be executed inside an OSGi container using PAX CDI.</span></span></li><li><span>camel-example-cdi-rest-servlet -&#160;<span>illustrates the Camel REST DSL being used in a Web application that uses CDI as dependency injection framework.</span></span></li><li>camel-example-cdi-test - demonstrates the testing features that are provided as part of the integration between Came
 l and CDI.<span><span><br clear="none"></span></span></li><li>camel-example-spring-boot-metrics - showing a Camel spring-boot application that report metrics to Graphite. Requires Graphite running on your network.</li><li>camel-example-widget-gadget-cdi - The Widget and Gadget use-case from the EIP book implemented in Java with CDI dependency Injection.</li><li>camel-example-widget-gadget-java - The Widget and Gadget use-case from the EIP book implemented in plain old Java Main without any kind of <em>application server</em>.</li><li>camel-example-widget-gadget-xml - The Widget and Gadget use-case from the EIP book implemented in Spring XML without any Java code or any kind of&#160;<em>application server</em>.</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><ul><li>As part of the <a shape="rect" href="cdi.html">Camel CDI</a> component refactoring:<ul><li>The <code>@Context
 Name</code>&#160;qualifier does not have a default empty value anymore as it is irrelevant</li><li>The&#160;CdiPropertiesComponent&#160;class has been removed, the standard&#160;PropertiesComponent&#160;can be used instead</li></ul></li></ul><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>Apache 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.2</li><li>Facebook4j from 2.3.1 to 2.4.2</li><li>GAE from 1.9.26 to 1.9.32</li><li>Google Gson from 2.4 to 2.61</li><li>Hazelcast from 3.5.2 to 3.6</li><li>Infinispan from 8.0.1.Final to 8.1.2.Final</li><li>Jackson from 2.6.3 to 2.7.1</li><li>Jboss Xnio from 3.3.1.Final to 3.3.4.Final</li><li>Jboss Weld from 2.3.0.Final to 2.3.3.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><strong>This is the last release that will support Java 1.7. Releases after this is expected to require Java 1.8+.&#160;</strong></li><li>Some changes in&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a>&#160;to adjust naming and types to the Swagger Spec 2.0</li><li>Any custom component that supports suspens
 ion in doSuspend/doResume should implement the new&#160;<code>Suspendable</code> marker interface, so Camel knows there is custom logic for suspension in the component.</li><li>Exchange and Message only output id in their toString method to avoid outputting any message details such as sensitive details from message bodies.</li><li>Removed camel-hbase as Karaf feature as it did not really work well in OSGi</li><li>Upgraded camel-hbase to Hadoop 2.x and HBase 1.1.x</li><li>camel-infinispan requires Java 8.</li><li>camel-mustache requires Java 8.</li><li>Support for Spring 4.0.x is deprecated. Support for Spring 3.x is being <strong>removed</strong> in the next release.</li><li>Support for Karaf 2.x and 3.x is deprecated. And removed in next release, where Karaf 4.x onwards is only supported.</li><li>camel-jetty8 is deprecated and being removed in next release.</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>The&#160;<a shape="rect" href="file2.html">File</a>&#160;consumer no longer probe the file content by default. See the option&#160;<code>probeContentType</code> for more details.</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><li>The&#160;<a shape="re
 ct" href="twitter.html">Twitter</a> delay option is changed from seconds to milli seconds by default, eg 10 should be 10000 to indicate 10 seconds. This is aligned how other components with delay option behaves.&#160;</li><li>The options&#160;<code>attributeNames</code> and&#160;<code>messageAttributeNames</code> on&#160;<a shape="rect" href="aws-sqs.html">AWS-SQS</a> is changed to a string type where you can separate multiple values using comma. Before the type was a Collection which was much harder to configure in the Camel uris.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> is exposing the REST services using all local IP address (eg 0.0.0.0) by default, instead of the local IP address of the host.</li><li>The&#160;<a shape="rect" href="hbase.html">hbase</a> component now require row mapping from the endpoint uri to be prefixed with <code style="line-height: 1.42857;">row.</code>&#160;as prefix.<br clear="none">Before: <code>family=info&amp;qualifier=firstName&amp;fam
 ily2=birthdate&amp;qualifier2=year</code>.&#160;After:&#160;<code>row.family=info&amp;row.qualifier=firstName&amp;row.family2=birthdate&amp;row.qualifier2=year</code>.</li><li>As part of the <a shape="rect" href="cdi.html">Camel CDI</a> component refactoring,&#160;<em>DeltaSpike</em> is not used anymore for the sourcing of the configuration properties. This new version of the component is agnostic to any configuration sourcing mechanism and delegates that concern to the application so that it can declare a custom&#160;<code>PropertiesComponent</code>&#160;bean whose sourcing is tailored to its need. <em>DeltaSpike</em> can still be used by the application by declaring a&#160;<code>PropertiesComponent</code>&#160;bean configured with a&#160;<code>PropertiesParser</code>&#160;relying on <em>DeltaSpike</em>. See the&#160;<code>camel-example-cdi-properties</code>&#160;example for more details.</li><li>The&#160;<a shape="rect" href="kafka.html">Kafka</a> component has been migrated to us
 e the Java Kafka client instead of Scala. As such there may be migration efforts or code changes that can affect users upgrading.</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" hre
 f="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-Gettingthe
 BinariesusingMaven2">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/testing.html
==============================================================================
--- websites/production/camel/content/testing.html (original)
+++ websites/production/camel/content/testing.html Thu Mar 10 12:20:31 2016
@@ -86,7 +86,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="Testing-Testing">Testing</h2><p>Testing is a crucial activity in any piece of software development or integration. Typically Camel Riders use various different <a shape="rect" href="components.html">technologies</a> wired together in a variety of <a shape="rect" href="enterprise-integration-patterns.html">patterns</a> with different <a shape="rect" href="languages.html">expression languages</a> together with different forms of <a shape="rect" href="bean-integration.html">Bean Integration</a> and <a shape="rect" href="dependency-injection.html">Dependency Injection</a> so its very easy for things to go wrong! <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to ensure that things work as you would expect.</p><p>Camel is a Java library so you can ea
 sily wire up tests in whatever unit testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However the Camel project has tried to make the testing of Camel as easy and powerful as possible so we have introduced the following features.</p><h3 id="Testing-Testingmechanisms">Testing mechanisms</h3><p>The following mechanisms are supported</p><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>Component</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="camel-test.html">Camel Test</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Is a standalone Java library letting you easily create Camel test cases using a single Java class for all your 
 configuration and routing without using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" href="guice.html">Guice</a> for <a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Supports JUnit 3.x (deprecated) and JUnit 4.x based tests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" href="cdi-testing.html">CDI Testing</a></td><td colspan="1" rowspan="1" class="confluenceTd"><code>camel-test-cdi</code></td><td colspan="1" rowspan="1" class="confluenceTd"><span style="color: rgb(0,0,0);">Provides a JUnit 4 runner that bootstraps a test environment using CDI so that you don't have to be familiar with any CDI testing frameworks and can concentrate on the testing logic of your Camel CDI applications. Testing frameworks like <a shape="rect" class="external-link" href="http://arquillian.org" rel="nofollow">Arquillian</a> or <a shape="
 rect" class="external-link" href="https://ops4j1.jira.com/wiki/display/PAXEXAM4" rel="nofollow">PAX Exam</a>, can be used for more advanced test cases, where you need to configure your system under test in a very fine-grained way or target specific CDI containers.</span></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="spring-testing.html">Spring Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-spring</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports JUnit 3.x (deprecated) or JUnit 4.x based tests that bootstrap a test environment using Spring without needing to be familiar with Spring Test. The plain JUnit 3.x/4.x based tests work very similar to the test support classes in <code>camel-test</code>. &#160;Also supports Spring Test based tests that use the declarative style of test configuration and injection common in Spring Test. &#160;The Spring Test based tests provide feature 
 parity with the plain JUnit 3.x/4.x based testing approach. &#160;Notice <code>camel-test-spring</code> is a new component in <strong>Camel 2.10</strong> onwards. For older Camel release use <code>camel-test</code> which has built-in <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="blueprint-testing.html">Blueprint Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-blueprint</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Provides the ability to do unit testing on blueprint configurations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="guice.html">Guice</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-guice</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses <a shape="rect" href="guice.html">Guice</a> to de
 pendency inject your test classes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Camel TestNG</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-testng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports plain TestNG based tests&#160;with or without&#160;<a shape="rect" href="spring.html">Spring</a>&#160;or&#160;<a shape="rect" href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Also from <strong>Camel 2.10</strong> onwards, this component supports Spring Test&#160;based tests that use the declarative style of test configuration and injection common in Spring Test and described in more detail under <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr></tbody></table></div><p>In all approaches the test classes look pretty much the same in that 
 they all reuse the <a shape="rect" href="bean-integration.html">Camel binding and injection annotations</a>.</p><h4 id="Testing-CamelTestExample">Camel Test Example</h4><p>Here is the <a shape="rect" href="camel-test.html">Camel Test</a> <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java">example</a>.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h2 id="Testing-Testing">Testing</h2><p>Testing is a crucial activity in any piece of software development or integration. Typically Camel Riders use various different <a shape="rect" href="components.html">technologies</a> wired together in a variety of <a shape="rect" href="enterprise-integration-patterns.html">patterns</a> with different <a shape="rect" href="languages.html">expression languages</a> together with different forms of <a shape="rect" href="bean-integration.html">Bean Integration</a> and <a shape="rect" href="dependency-injection.html">Dependency Injection</a> so its very easy for things to go wrong! <img class="emoticon emoticon-smile" src="https://cwiki.apache.org/confluence/s/en_GB/5982/f2b47fb3d636c8bc9fd0b11c0ec6d0ae18646be7.1/_/images/icons/emoticons/smile.png" data-emoticon-name="smile" alt="(smile)"> . Testing is the crucial weapon to ensure that things work as you would expect.</p><p>Camel is a Java library so you can ea
 sily wire up tests in whatever unit testing framework you use (JUnit 3.x (deprecated), 4.x, or TestNG). However the Camel project has tried to make the testing of Camel as easy and powerful as possible so we have introduced the following features.</p><h3 id="Testing-Testingmechanisms">Testing mechanisms</h3><p>The following mechanisms are supported</p><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>Component</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="camel-test.html">Camel Test</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Is a standalone Java library letting you easily create Camel test cases using a single Java class for all your 
 configuration and routing without using <a shape="rect" href="spring.html">Spring</a> or <a shape="rect" href="guice.html">Guice</a> for <a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Supports JUnit 3.x (deprecated) and JUnit 4.x based tests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><a shape="rect" href="cdi-testing.html">CDI Testing</a></td><td colspan="1" rowspan="1" class="confluenceTd"><code>camel-test-cdi</code></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Provides a JUnit 4 runner that bootstraps a test environment using CDI so that you don't have to be familiar with any CDI testing frameworks and can concentrate on the testing logic of your Camel CDI applications. Testing frameworks like&#160;<a shape="rect" class="external-link" href="http://arquillian.org/" rel="nofollow">Arquillian</a>&#160;or&#160;<a shape="rect" class="e
 xternal-link" href="https://ops4j1.jira.com/wiki/display/PAXEXAM4" rel="nofollow">PAX Exam</a>, can be used for more advanced test cases, where you need to configure your system under test in a very fine-grained way or target specific CDI containers.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="spring-testing.html">Spring Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-spring</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports JUnit 3.x (deprecated) or JUnit 4.x based tests that bootstrap a test environment using Spring without needing to be familiar with Spring Test. The plain JUnit 3.x/4.x based tests work very similar to the test support classes in <code>camel-test</code>. &#160;Also supports Spring Test based tests that use the declarative style of test configuration and injection common in Spring Test. &#160;The Spring Test based tests provide feature parity with the p
 lain JUnit 3.x/4.x based testing approach. &#160;Notice <code>camel-test-spring</code> is a new component in <strong>Camel 2.10</strong> onwards. For older Camel release use <code>camel-test</code> which has built-in <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="blueprint-testing.html">Blueprint Testing</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-test-blueprint</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><strong>Camel 2.10:</strong> Provides the ability to do unit testing on blueprint configurations</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" href="guice.html">Guice</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-guice</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Uses <a shape="rect" href="guice.html">Guice</a> to dependency inject y
 our test classes</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Camel TestNG</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><code>camel-testng</code></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Supports plain TestNG based tests&#160;with or without&#160;<a shape="rect" href="spring.html">Spring</a>&#160;or&#160;<a shape="rect" href="guice.html">Guice</a>&#160;for&#160;<a shape="rect" href="dependency-injection.html">Dependency Injection</a>&#160;which does not require an in-depth knowledge of Spring + Spring Test or Guice. &#160;Also from <strong>Camel 2.10</strong> onwards, this component supports Spring Test&#160;based tests that use the declarative style of test configuration and injection common in Spring Test and described in more detail under <a shape="rect" href="spring-testing.html">Spring Testing</a>.</p></td></tr></tbody></table></div><p>In all approaches the test classes look pretty much the same in that they all reuse th
 e <a shape="rect" href="bean-integration.html">Camel binding and injection annotations</a>.</p><h4 id="Testing-CamelTestExample">Camel Test Example</h4><p>Here is the <a shape="rect" href="camel-test.html">Camel Test</a> <a shape="rect" class="external-link" href="http://svn.apache.org/repos/asf/camel/trunk/components/camel-test/src/test/java/org/apache/camel/test/patterns/FilterTest.java">example</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[
 public class FilterTest extends CamelTestSupport {
 



Mime
View raw message