Author: buildbot Date: Sun Jul 27 09:49:23 2014 New Revision: 917548 Log: Production update by buildbot for camel
Modified: websites/production/camel/content/cache/main.pageCache websites/production/camel/content/camel-2140-release.html websites/production/camel/content/oncompletion.html websites/production/camel/content/rest-dsl.html Modified: websites/production/camel/content/cache/main.pageCache ============================================================================== Binary files - no diff available. Modified: websites/production/camel/content/camel-2140-release.html ============================================================================== --- websites/production/camel/content/camel-2140-release.html (original) +++ websites/production/camel/content/camel-2140-release.html Sun Jul 27 09:49:23 2014 @@ -87,7 +87,7 @@ <tr> <td valign="top" width="100%"> <div class="wiki-content maincontent"><h1 id="Camel2.14.0Release-Camel2.14.0release(currentlyinprogress)">Camel 2.14.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"> -<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div><div style="min-height:200px"></div><h2 id="Camel2.14.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.14.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Support for running on Java 1.8 JVMs</li><li>Spring 4.x supported.</li><li><a shape="rect" href="rest-dsl.html">REST DSL</a> to define REST services using a REST style with verbs such as get/post/put/delete etc. The Rest DSL supports Java and XML DSL.</li><li>Simple language defined in routes using resultType as boolean is now evaluated as predicate instead of as expression.</li><li>Introduced RuntimeEndpointRegistry to capture runtime usage of endpoints in use during routing, such as dynamic endpoints from dynamic <a shape="rect" href="eip.html">EIP</a>s.</li><li>Added event notification for routes added and removed.</li><li>Allow to configure cache size in Recipient List, Routing Slip and Dynamic Router EIPs; and as well turn caching off.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a> producer now supports the <span>CamelHttpPath header to define a dynamic context-path and query parameters to call the remote http server.</span></li><li><span><a shape="rect" href="polling-consumer.html">Polling Consumer</a> allows to configure initial queue size and whether to block when full when using the default <code>EventDrivenPollingConsumer</code> which most components does. We now block by default, as otherwise the message may be lost if the queue was full, and a new message was offered.</span></li><li><span><a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7435">Added</a> a generic callback to configure the <a shape="rect" href="apns.html">APNS</a> service builder.</span></li><li><span>Added <code>StreamLi st</code> option to the <a shape="rect" href="jdbc.html">JDBC</a> component</span></li><li>Allow to define Simple expressions for sql parameters of the <a shape="rect" href="sql-component.html">SQL</a> component.<span><br clear="none"></span></li><li>A new XML tokenizer that is truly XML-aware (e.g., supporting XML namespaces and complex hierarchical structures)</li><li>Added option <code>parallelAggregate</code> to <a shape="rect" href="multicast.html">Multicast</a>, <a shape="rect" href="splitter.html">Splitter</a> and <a shape="rect" href="recipient-list.html">Recipient List</a> EIPs</li><li>Support to set the variable map from message header in <a shape="rect" href="velocity.html">Velocity</a>, <a shape="rect" href="freemarker.html">Freemarker</a>, <a shape="rect" href="stringtemplate.html">StringTemplate</a>.</li><li><span>Added HazelcastInstance option to <span><a shape="rect" href="hazelcast-component.html">Hazelcast</a> component.</span></span></li><li>Pr oducers from static <a shape="rect" href="eip.html">EIPs</a> such as <to> is is now also enlisted in <a shape="rect" href="camel-jmx.html">JMX</a> when Camel is starting routes.</li><li>Unmarshal json to pojo using <code>camel-jackson</code> now supports a header to tell Camel what the pojo class name is, to allow more dynamic behavior, as otherwise the class name would be hardcoded.</li><li>Also allow to configure <code>camel-jackson</code> to skip null values, by setting includes to <code>NOT_NULL</code>.</li><li>And <code>camel-jackson</code> can now easily be configured to unmarshal to a <code>List<pojo></code> or <code>List<Map></code> instead of either a single pojo or <code>Map</code> type. </li></ul><h3 id="Camel2.14.0Release-FixedIssues">Fixed Issues</h3><ul><li>Timer consumer is now scheduled after CamelContext has started all routes, to ensure other routes is running when timer routes is triggered to run.</li> <li><a shape="rect" href="netty-http.html">Netty HTTP</a> now returns HTTP status 404 if resource not found instead of 503.</li><li>Fixed the <a shape="rect" class="external-link" href="https://camel.apache.org/mongodb.html">MongoDB</a> <code>readPreference</code> option which used to cause an <code>IllegalArgumentException</code> to be thrown.</li><li>Fixed issue with Netty producer may leak HashWhealTimer instances when having many producers that are not reused.</li><li>Fixed issue with Netty consumer should wait for join to complete when joining a multicast group over UDP </li><li>Improved stability when testing with <code>camel-test-blueprint</code> component.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a> now <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7506">removes</a> <code>headerFilterStrategy</code> option after resolving<span class="overlay-icon aui-icon aui-icon-small aui-iconfont-edi t"> </span>it</li><li>Fixed <a shape="rect" href="aggregator2.html">POJO aggregating</a> when the parameter type was referring to a type that was class annotated.</li><li>Fixed <a shape="rect" href="mybatis.html">MyBatis</a> to keep the message body as-is when calling stored procedures, if the procedure returns data as OUT parameters.</li><li>Fixed Camel Karaf commands to work with multiple CamelContext from the same bundle.</li><li>Fixed <a shape="rect" href="advicewith.html">Advice-With</a> to work with transacted routes defined in XML DSL</li><li>Fixed <a shape="rect" href="advicewith.html">Advice-With</a> to work with Content Based Router when adding outputs to the when clauses.</li><li>Improved <span><code>NettyWorkerPoolBuilder#build</code> <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7583">visibility</a>.</span></li></ul><h3 id="Camel2.14.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html ">Enterprise Integration Patterns</a></h3><ul><li><a shape="rect" href="load-balancer.html">Circuit Breaker</a> pattern implemented as a Load Balancer policy</li></ul><h3 id="Camel2.14.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-ahc-ws</li><li>camel-atmosphere-websocket</li><li>camel-box</li><li><a shape="rect" href="dropbox.html">camel-dropbox</a></li><li><a shape="rect" href="openshift.html">camel-openshift</a></li><li><a shape="rect" href="gora.html">camel-gora</a></li><li><a shape="rect" href="rest.html">camel-rest</a> (in camel-core)</li><li><a shape="rect" href="spark-rest.html">camel-spar</a><a shape="rect" href="spark-rest.html">k-rest</a></li></ul><h3 id="Camel2.14.0Release-New.2">New <a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></h3><h3 id="Camel2.14.0Release-NewDSL">New DSL</h3><h3 id="Camel2.14.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.14.0Release-NewDataFormats">New <a shap e="rect" href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" href="gora.html">camel-</a><a shape="rect" href="barcode-data-format.html">barcode</a></li></ul><h3 id="Camel2.14.0Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><ul><li>XMLTokenizer</li></ul><h3 id="Camel2.14.0Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.14.0Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h3 id="Camel2.14.0Release-NewTooling">New Tooling</h3><h2 id="Camel2.14.0Release-APIchanges">API changes</h2><ul><li>Removed duplicate getter <code>getMessageHistory</code> on <code>ManagedCamelContextMBean</code></li></ul><h2 id="Camel2.14.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.14.0Release-DependencyUpgrades">Dependency Upgrades</h2><p>You can see any dependency changes using <a shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/" rel="nofollow">Camel Dependencies Vers ion Differences web tool</a> created by Tracy Snell from the Camel <a shape="rect" href="team.html">Team</a>.</p><p>The below list is a best effort, and we may miss some updates, its better to use the <a shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/" rel="nofollow">Camel Dependencies Version Differences web tool</a> which uses the released projects for comparison.</p><ul><li>Atomikos 3.9.2 to 3.9.3</li><li>Commons-codec 1.8 to 1.9</li><li>CXF 2.7.11 to 3.0.1</li><li>Deltaspike 0.7 to 1.0.1</li><li>Dozer 5.4.0 to 5.5.1</li><li>EhCache 2.8.1 to 2.8.3</li><li>Groovy 2.2.2 to 2.3.4</li><li>Guava 16.0.1 to 17.0</li><li>Hapi 2.1 to 2.2</li><li>Hazelcast 3.0.3 to 3.2.4</li><li>JRuby 1.7.10 to 1.7.12</li><li>MongoDB-Java-Driver 2.11.4 to 2.12.0</li><li>RabbitMQ AMQ Client 3.2.2 to 3.3.0</li><li>Restlet 2.17 to 2.2.1</li><li>RxJava 0.17.5 to 0.19.4</li><li>Scala 2.10.3 to 2.11.2</li><li>Snmp4j 2.2.5 to 2.3.0</li><li>SSHD 0.10.1 to 0.11.0</li><li>spring-redis 1.1.0 to 1.3.0</li><li>Twitter4j 3.0.5 x to 4.0.1</li></ul><h2 id="Camel2.14.0Release-Internalchanges">Internal changes</h2><ul><li>Changed ...</li></ul><h2 id="Camel2.14.0Release-Changesthatmayaffectendusers">Changes that may affect end users</h2><ul><li><a shape="rect" href="polling-consumer.html">Polling Consumer</a> allows to configure initial queue size and whether to block when full when using the default <code>EventDrivenPollingConsumer</code> which most components does. We now block by default, as otherwise the message may be lost if the queue was full, and a new message was offered.</li><li><code>camel-scala</code> upgraded from Scala 2.10.x to 2.11.x</li><li>The option <code>useSsl</code> has been removed from <code>camel-twitter</code> as ssl is always enabled now, enforced by twitter</li></ul><h2 id="Camel2.14.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Java 1.6 no longer supported.</li><li>Unit te sting with Spring 3.x now requires using camel-test-spring3, as camel-test-spring is for Spring 4.x<br clear="none"><br clear="none"></li></ul><h2 id="Camel2.14.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.14.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/2.14.0/apache-camel-2.14.0.zip">apache-camel-2.14.0.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-li nk" href="http://www.apache.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.zip.asc">apache-camel-2.14.0.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/2.14.0/apache-camel-2.14.0.tar.gz">apache-camel-2.14.0.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/2.14.0/apache-camel-2.14.0.tar.gz.asc">apache-camel-2.14.0.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.0Release-SourceDistribution">Source Distribution</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 c olspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source</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/2.14.0/apache-camel-2.14.0-src.zip">apache-camel-2.14.0-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/2.14.0/apache-camel-2.14.0-src.zip.asc">apache-camel-2.14.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.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 cla ss="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<p><span class="image-wrap" style=""><img src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" style="border: 0px solid black"></span></p></div><div style="min-height:200px"></div><h2 id="Camel2.14.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.14.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Support for running on Java 1.8 JVMs</li><li>Spring 4.x supported.</li><li><a shape="rect" href="rest-dsl.html">REST DSL</a> to define REST services using a REST style with verbs such as get/post/put/delete etc. The Rest DSL supports Java and XML DSL.</li><li>Simple language defined in routes using resultType as boolean is now evaluated as predicate instead of as expression.</li><li>Introduced RuntimeEndpointRegistry to capture runtime usage of endpoints in use during routing, such as dynamic endpoints from dynamic <a shape="rect" href="eip.html">EIP</a>s.</li><li>Added event notification for routes added and removed.</li><li>Allow to configure cache size in Recipient List, Routing Slip and Dynamic Router EIPs; and as well turn caching off.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a> producer now supports the <span>CamelHttpPath header to define a dynamic context-path and query parameters to call the remote http server.</span></li><li><span><a shape="rect" href="polling-consumer.html">Polling Consumer</a> allows to configure initial queue size and whether to block when full when using the default <code>EventDrivenPollingConsumer</code> which most components does. We now block by default, as otherwise the message may be lost if the queue was full, and a new message was offered.</span></li><li><span><a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7435">Added</a> a generic callback to configure the <a shape="rect" href="apns.html">APNS</a> service builder.</span></li><li><span>Added <code>StreamLi st</code> option to the <a shape="rect" href="jdbc.html">JDBC</a> component</span></li><li>Allow to define Simple expressions for sql parameters of the <a shape="rect" href="sql-component.html">SQL</a> component.<span><br clear="none"></span></li><li>A new XML tokenizer that is truly XML-aware (e.g., supporting XML namespaces and complex hierarchical structures)</li><li>Added option <code>parallelAggregate</code> to <a shape="rect" href="multicast.html">Multicast</a>, <a shape="rect" href="splitter.html">Splitter</a> and <a shape="rect" href="recipient-list.html">Recipient List</a> EIPs</li><li>Support to set the variable map from message header in <a shape="rect" href="velocity.html">Velocity</a>, <a shape="rect" href="freemarker.html">Freemarker</a>, <a shape="rect" href="stringtemplate.html">StringTemplate</a>.</li><li><span>Added HazelcastInstance option to <span><a shape="rect" href="hazelcast-component.html">Hazelcast</a> component.</span></span></li><li>Pr oducers from static <a shape="rect" href="eip.html">EIPs</a> such as <to> is is now also enlisted in <a shape="rect" href="camel-jmx.html">JMX</a> when Camel is starting routes.</li><li>Unmarshal json to pojo using <code>camel-jackson</code> now supports a header to tell Camel what the pojo class name is, to allow more dynamic behavior, as otherwise the class name would be hardcoded.</li><li>Also allow to configure <code>camel-jackson</code> to skip null values, by setting includes to <code>NOT_NULL</code>.</li><li>And <code>camel-jackson</code> can now easily be configured to unmarshal to a <code>List<pojo></code> or <code>List<Map></code> instead of either a single pojo or <code>Map</code> type. </li><li>Introduced <code>SynchronizationRouteAware</code> allowing to have callbacks before/after an Exchange is being routed. This allows to trigger custom code at these points, for example after a route, but before a Co nsumer writes any response back to a caller (InOut mode).</li></ul><h3 id="Camel2.14.0Release-FixedIssues">Fixed Issues</h3><ul><li>Timer consumer is now scheduled after CamelContext has started all routes, to ensure other routes is running when timer routes is triggered to run.</li><li><a shape="rect" href="netty-http.html">Netty HTTP</a> now returns HTTP status 404 if resource not found instead of 503.</li><li>Fixed the <a shape="rect" class="external-link" href="https://camel.apache.org/mongodb.html">MongoDB</a> <code>readPreference</code> option which used to cause an <code>IllegalArgumentException</code> to be thrown.</li><li>Fixed issue with Netty producer may leak HashWhealTimer instances when having many producers that are not reused.</li><li>Fixed issue with Netty consumer should wait for join to complete when joining a multicast group over UDP </li><li>Improved stability when testing with <code>camel-test-blueprint</code> component.</li><li><a shap e="rect" href="netty-http.html">Netty HTTP</a> now <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7506">removes</a> <code>headerFilterStrategy</code> option after resolving<span class="overlay-icon aui-icon aui-icon-small aui-iconfont-edit"> </span>it</li><li>Fixed <a shape="rect" href="aggregator2.html">POJO aggregating</a> when the parameter type was referring to a type that was class annotated.</li><li>Fixed <a shape="rect" href="mybatis.html">MyBatis</a> to keep the message body as-is when calling stored procedures, if the procedure returns data as OUT parameters.</li><li>Fixed Camel Karaf commands to work with multiple CamelContext from the same bundle.</li><li>Fixed <a shape="rect" href="advicewith.html">Advice-With</a> to work with transacted routes defined in XML DSL</li><li>Fixed <a shape="rect" href="advicewith.html">Advice-With</a> to work with Content Based Router when adding outputs to the when clauses.</li><l i>Improved <span><code>NettyWorkerPoolBuilder#build</code> <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7583">visibility</a>.</span></li></ul><h3 id="Camel2.14.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><ul><li><a shape="rect" href="load-balancer.html">Circuit Breaker</a> pattern implemented as a Load Balancer policy</li></ul><h3 id="Camel2.14.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-ahc-ws</li><li>camel-atmosphere-websocket</li><li>camel-box</li><li><a shape="rect" href="dropbox.html">camel-dropbox</a></li><li><a shape="rect" href="openshift.html">camel-openshift</a></li><li><a shape="rect" href="gora.html">camel-gora</a></li><li><a shape="rect" href="rest.html">camel-rest</a> (in camel-core)</li><li><a shape="rect" href="spark-rest.html">camel-spar</a><a shape="rect" href="spark-rest.html">k-rest</a></li></ul> <h3 id="Camel2.14.0Release-New.2">New <a shape="rect" href="camel-maven-archetypes.html">Camel Maven Archetypes</a></h3><h3 id="Camel2.14.0Release-NewDSL">New DSL</h3><h3 id="Camel2.14.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.14.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li><a shape="rect" href="gora.html">camel-</a><a shape="rect" href="barcode-data-format.html">barcode</a></li></ul><h3 id="Camel2.14.0Release-New.3">New <a shape="rect" href="languages.html">Languages</a></h3><ul><li>XMLTokenizer</li></ul><h3 id="Camel2.14.0Release-New.4">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.14.0Release-New.5">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h3 id="Camel2.14.0Release-NewTooling">New Tooling</h3><h2 id="Camel2.14.0Release-APIchanges">API changes</h2><ul><li><p>Removed duplicate getter <code>getMessageHistory</code> on <code>ManagedCamelContextMBean</code></p></l i><li><p>Added org.apache.camel.spi.SynchronizationRouteAware</p></li><li>Added beforeRoute and afterRoute methods to UnitOfWork.</li></ul><h2 id="Camel2.14.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.14.0Release-DependencyUpgrades">Dependency Upgrades</h2><p>You can see any dependency changes using <a shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/" rel="nofollow">Camel Dependencies Version Differences web tool</a> created by Tracy Snell from the Camel <a shape="rect" href="team.html">Team</a>.</p><p>The below list is a best effort, and we may miss some updates, its better to use the <a shape="rect" class="external-link" href="http://vdiff.notsoclever.cc/" rel="nofollow">Camel Dependencies Version Differences web tool</a> which uses the released projects for comparison.</p><ul><li>Atomikos 3.9.2 to 3.9.3</li><li>Commons-codec 1.8 to 1.9</li><li>CXF 2.7.11 to 3.0.1</li><li>Deltaspike 0.7 to 1.0.1</li><li>Dozer 5.4.0 to 5.5.1</li><li>EhCache 2.8.1 to 2.8.3</li><li>Groovy 2.2.2 to 2.3.4</li><li>Guava 16.0.1 to 17.0</li><li>Hapi 2.1 to 2.2</li><li>Hazelcast 3.0.3 to 3.2.4</li><li>JRuby 1.7.10 to 1.7.12</li><li>MongoDB-Java-Driver 2.11.4 to 2.12.0</li><li>RabbitMQ AMQ Client 3.2.2 to 3.3.0</li><li>Restlet 2.17 to 2.2.1</li><li>RxJava 0.17.5 to 0.19.4</li><li>Scala 2.10.3 to 2.11.2</li><li>Snmp4j 2.2.5 to 2.3.0</li><li>SSHD 0.10.1 to 0.11.0</li><li>spring-redis 1.1.0 to 1.3.0</li><li>Twitter4j 3.0.5 x to 4.0.1</li></ul><h2 id="Camel2.14.0Release-Internalchanges">Internal changes</h2><ul><li>Changed ...</li></ul><h2 id="Camel2.14.0Release-Changesthatmayaffectendusers">Changes that may affect end users</h2><ul><li><a shape="rect" href="polling-consumer.html">Polling Consumer</a> allows to configure initial queue size and whether to block when full when using the default <code>EventDrivenPollingConsumer</code> which most components does. We now block by default, as otherwise the message may be lost if the queue was full, and a new message was offered.</li><li><code>camel-scala</code> upgraded from Scala 2.10.x to 2.11.x</li><li>The option <code>useSsl</code> has been removed from <code>camel-twitter</code> as ssl is always enabled now, enforced by twitter</li></ul><h2 id="Camel2.14.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Java 1.6 no longer supported.</li><li>Unit testing with Spring 3.x now requires using camel-test-spring3, as camel-test-spring is for Spring 4.x<br clear="none"><br clear="none"></li></ul><h2 id="Camel2.14.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.14.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 Sig nature 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/2.14.0/apache-camel-2.14.0.zip">apache-camel-2.14.0.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/2.14.0/apache-camel-2.14.0.zip.asc">apache-camel-2.14.0.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/2.14.0/apache-camel-2.14.0.tar.gz">apache-camel-2.14.0.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apac he.org/dist/camel/apache-camel/2.14.0/apache-camel-2.14.0.tar.gz.asc">apache-camel-2.14.0.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.0Release-SourceDistribution">Source Distribution</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</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/2.14.0/apache-camel-2.14.0-src.zip">apache-camel-2.14.0-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/2.14.0/apache-camel-2.14.0-src.zip.as c">apache-camel-2.14.0-src.zip.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.14.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="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[<dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-core</artifactId> Modified: websites/production/camel/content/oncompletion.html ============================================================================== --- websites/production/camel/content/oncompletion.html (original) +++ websites/production/camel/content/oncompletion.html Sun Jul 27 09:49:23 2014 @@ -86,50 +86,27 @@ <tbody> <tr> <td valign="top" width="100%"> -<div class="wiki-content maincontent"><h2 id="OnCompletion-OnCompletion">OnCompletion</h2> - -<p>Camel has this concept of a Unit of Work that encompass the <a shape="rect" href="exchange.html">Exchange</a>. The unit of work among others supports synchronization callbacks that are invoked when the <a shape="rect" href="exchange.html">Exchange</a> is complete. The callback API is defined in <code>org.apache.camel.spi.Synchronization</code>.</p> - - <div class="aui-message success shadowed information-macro"> +<div class="wiki-content maincontent"><h2 id="OnCompletion-OnCompletion">OnCompletion</h2><p>Camel has this concept of a Unit of Work that encompass the <a shape="rect" href="exchange.html">Exchange</a>. The unit of work among others supports synchronization callbacks that are invoked when the <a shape="rect" href="exchange.html">Exchange</a> is complete. The callback API is defined in <code>org.apache.camel.spi.Synchronization</code>. From <strong>Camel 2.14</strong> onwards we have an extended synchronization <code>org.apache.camel.spi.SynchronizationRouteAware</code> that have callbacks for route events.</p> <div class="aui-message success shadowed information-macro"> <p class="title">Getting the UnitOfWork</p> <span class="aui-icon icon-success">Icon</span> <div class="message-content"> - -<p>You can get hold of the <code>org.apache.camel.spi.UnitOfWork</code> from <code>org.apache.camel.Exchange</code> with the method <code>getUnitOfWork()</code>.</p> + <p>You can get hold of the <code>org.apache.camel.spi.UnitOfWork</code> from <code>org.apache.camel.Exchange</code> with the method <code>getUnitOfWork()</code>.</p> </div> </div> - - -<p>In Camel 2.0 we have added DSL for these callbacks using the new <strong>onCompletion</strong> DSL name.</p> - -<p><strong>onCompletion</strong> supports the following features:</p> -<ul class="alternate"><li>scope: global and/or per route (route scope override all global scope)</li><li>multiple global scope</li><li>triggered either always, only if completed with success, or only if failed</li><li><code>onWhen</code> predicate to only trigger in certain situations</li></ul> - - - <div class="aui-message hint shadowed information-macro"> +<p>In Camel 2.0 we have added DSL for these callbacks using the new <strong>onCompletion</strong> DSL name.</p><p><strong>onCompletion</strong> supports the following features:</p><ul class="alternate"><li>scope: global and/or per route (route scope override all global scope)</li><li>multiple global scope</li><li>triggered either always, only if completed with success, or only if failed</li><li><code>onWhen</code> predicate to only trigger in certain situations</li></ul> <div class="aui-message hint shadowed information-macro"> <p class="title">On completion runs in separate thread</p> <span class="aui-icon icon-hint">Icon</span> <div class="message-content"> - -<p>The <strong>onCompletion</strong> runs in a separate thread in parallel with the original route. It is therefore not intended to influence the outcome of the original route. The idea for on completion is to spin off a new thread to eg send logs to a central log database, send an email, send alterts to a monitoring system, store a copy of the result message etc.<br clear="none"> -Therefore if you want to do some work that influence the original route, then do <strong>not</strong> use <strong>onCompletion</strong> for that. Notice: if you use the <code>UnitOfWork</code> API as mentioned in the top of this page, then you can register a <code>Synchronization</code> callback on the <a shape="rect" href="exchange.html">Exchange</a> which is executed in the original route. That way allows you to do some custom code when the route is completed; this is how custom components can enlist on completion services which they need, eg the <a shape="rect" href="file2.html">File</a> component does that for work that moves/deletes the original file etc.</p> + <p>The <strong>onCompletion</strong> runs in a separate thread in parallel with the original route. It is therefore not intended to influence the outcome of the original route. The idea for on completion is to spin off a new thread to eg send logs to a central log database, send an email, send alterts to a monitoring system, store a copy of the result message etc.<br clear="none"> Therefore if you want to do some work that influence the original route, then do <strong>not</strong> use <strong>onCompletion</strong> for that. Notice: if you use the <code>UnitOfWork</code> API as mentioned in the top of this page, then you can register a <code>Synchronization</code> callback on the <a shape="rect" href="exchange.html">Exchange</a> which is executed in the original route. That way allows you to do some custom code when the route is completed; this is how custom components can enlist on completion services which they need, eg the <a shape="rect" href="file2.ht ml">File</a> component does that for work that moves/deletes the original file etc.</p> </div> </div> - - -<h3 id="OnCompletion-onCompletionwithroutescope">onCompletion with route scope</h3> -<p>The <strong>onCompletion</strong> DSL allows you to add custom routes/processors when the original <a shape="rect" href="exchange.html">Exchange</a> is complete. Camel spin off a copy of the <a shape="rect" href="exchange.html">Exchange</a> and routes it in a separate thread, kinda like a <a shape="rect" href="wire-tap.html">Wire Tap</a>. This allows the original thread to continue while the <strong>onCompletion</strong> route is running concurrently. We decided for this model as we did not want the <strong>onCompletion</strong> route to interfere with the original route.</p> - - <div class="aui-message warning shadowed information-macro"> +<h3 id="OnCompletion-onCompletionwithroutescope">onCompletion with route scope</h3><p>The <strong>onCompletion</strong> DSL allows you to add custom routes/processors when the original <a shape="rect" href="exchange.html">Exchange</a> is complete. Camel spin off a copy of the <a shape="rect" href="exchange.html">Exchange</a> and routes it in a separate thread, kinda like a <a shape="rect" href="wire-tap.html">Wire Tap</a>. This allows the original thread to continue while the <strong>onCompletion</strong> route is running concurrently. We decided for this model as we did not want the <strong>onCompletion</strong> route to interfere with the original route.</p> <div class="aui-message warning shadowed information-macro"> <p class="title">Only 1 onCompletion supported by route scope</p> <span class="aui-icon icon-warning">Icon</span> <div class="message-content"> - -<p>You can only have 1 onCompletion in a route. Only at context scoped level you can have multiple. And notice that when you use a route scoped onCompletion then any context scoped are disabled for that given route.</p> + <p>You can only have 1 onCompletion in a route. Only at context scoped level you can have multiple. And notice that when you use a route scoped onCompletion then any context scoped are disabled for that given route.</p> </div> </div> - - <div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ from("direct:start") @@ -144,11 +121,7 @@ from("direct:start") .process(new MyProcessor()) .to("mock:result"); ]]></script> -</div></div> - -<p>By default the <strong>onCompletion</strong> will be triggered when the <a shape="rect" href="exchange.html">Exchange</a> is complete and regardless if the <a shape="rect" href="exchange.html">Exchange</a> completed with success or with an failure (such as an Exception was thrown). You can limit the trigger to only occur <code>onCompleteOnly</code> or by <code>onFauilureOnly</code> as shown below:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>By default the <strong>onCompletion</strong> will be triggered when the <a shape="rect" href="exchange.html">Exchange</a> is complete and regardless if the <a shape="rect" href="exchange.html">Exchange</a> completed with success or with an failure (such as an Exception was thrown). You can limit the trigger to only occur <code>onCompleteOnly</code> or by <code>onFauilureOnly</code> as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ from("direct:start") // here we qualify onCompletion to only invoke when the exchange failed (exception or FAULT body) @@ -161,15 +134,7 @@ from("direct:start") .process(new MyProcessor()) .to("mock:result"); ]]></script> -</div></div> - -<p>You can identify if the <a shape="rect" href="exchange.html">Exchange</a> is an <strong>onCompletion</strong> <a shape="rect" href="exchange.html">Exchange</a> as Camel will add the property <code>Exchange.ON_COMPLETION</code> with a boolean value of <code>true</code> when it spin offs the <strong>onCompletion</strong> <a shape="rect" href="exchange.html">Exchange</a>.</p> - - -<h4 id="OnCompletion-UsingonCompletionfromSpringDSL">Using onCompletion from Spring DSL</h4> -<p>The onCompletion is defined like this with Spring DSL:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>You can identify if the <a shape="rect" href="exchange.html">Exchange</a> is an <strong>onCompletion</strong> <a shape="rect" href="exchange.html">Exchange</a> as Camel will add the property <code>Exchange.ON_COMPLETION</code> with a boolean value of <code>true</code> when it spin offs the <strong>onCompletion</strong> <a shape="rect" href="exchange.html">Exchange</a>.</p><h4 id="OnCompletion-UsingonCompletionfromSpringDSL">Using onCompletion from Spring DSL</h4><p>The onCompletion is defined like this with Spring DSL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[ <route> <from uri="direct:start"/> @@ -184,11 +149,7 @@ from("direct:start") <to uri="mock:result"/> </route> ]]></script> -</div></div> - -<p>And the <code>onCompleteOnly</code> and <code>onFailureOnly</code> is defined as a boolean attribute on the <onCompletion> tag so the failure example would be:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><p>And the <code>onCompleteOnly</code> and <code>onFailureOnly</code> is defined as a boolean attribute on the <onCompletion> tag so the failure example would be:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[ <route> <from uri="direct:start"/> @@ -202,12 +163,7 @@ from("direct:start") <to uri="mock:result"/> </route> ]]></script> -</div></div> - -<h3 id="OnCompletion-onCompletionwithglobalscope">onCompletion with global scope</h3> -<p>This works just like the route scope except from the fact that they are defined globally. An example below:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><h3 id="OnCompletion-onCompletionwithglobalscope">onCompletion with global scope</h3><p>This works just like the route scope except from the fact that they are defined globally. An example below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ // define a global on completion that is invoked when the exchange is complete onCompletion().to("log:global").to("mock:sync"); @@ -216,12 +172,7 @@ from("direct:start") .process(new MyProcessor()) .to("mock:result"); ]]></script> -</div></div> - -<h4 id="OnCompletion-UsingonCompletionfromSpringDSL.1">Using onCompletion from Spring DSL</h4> -<p>This works just like the route scope except from the fact that they are defined globally. An example below:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +</div></div><h4 id="OnCompletion-UsingonCompletionfromSpringDSL.1">Using onCompletion from Spring DSL</h4><p>This works just like the route scope except from the fact that they are defined globally. An example below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: xml; gutter: false" type="syntaxhighlighter"><![CDATA[ <!-- this is a global onCompletion route that is invoke when any exchange is complete as a kind of after callback --> @@ -236,23 +187,14 @@ from("direct:start") <to uri="mock:result"/> </route> ]]></script> -</div></div> - - <div class="aui-message hint shadowed information-macro"> +</div></div> <div class="aui-message hint shadowed information-macro"> <p class="title">Route scope override Global scope</p> <span class="aui-icon icon-hint">Icon</span> <div class="message-content"> - -<p>If an <strong>onCompletion</strong> is defined in a route, it overrides <strong>all</strong> global scoped and thus its only the route scoped that are used. The globally scoped ones are never used.</p> + <p>If an <strong>onCompletion</strong> is defined in a route, it overrides <strong>all</strong> global scoped and thus its only the route scoped that are used. The globally scoped ones are never used.</p> </div> </div> - - -<h3 id="OnCompletion-UsingonCompletionwithonWhenpredicate">Using onCompletion with onWhen predicate</h3> -<p>As other DSL in Camel you can attach a <a shape="rect" href="predicate.html">Predicate</a> to the <strong>onCompletion</strong> so it only triggers in certain conditions, when the predicate matches.<br clear="none"> -For example to only trigger if the message body contains the word <code>Hello</code> we can do like:</p> - -<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<h3 id="OnCompletion-UsingonCompletionwithonWhenpredicate">Using onCompletion with onWhen predicate</h3><p>As other DSL in Camel you can attach a <a shape="rect" href="predicate.html">Predicate</a> to the <strong>onCompletion</strong> so it only triggers in certain conditions, when the predicate matches.<br clear="none"> For example to only trigger if the message body contains the word <code>Hello</code> we can do like:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ from("direct:start") .onCompletion().onWhen(body().contains("Hello")) @@ -266,10 +208,7 @@ from("direct:start") .to("log:original") .to("mock:result"); ]]></script> -</div></div> - -<h3 id="OnCompletion-SeeAlso">See Also</h3> -<ul class="alternate"><li>Unit of Work</li></ul></div> +</div></div><h3 id="OnCompletion-SeeAlso">See Also</h3><ul class="alternate"><li>Unit of Work</li></ul></div> </td> <td valign="top"> <div class="navigation"> Modified: websites/production/camel/content/rest-dsl.html ============================================================================== --- websites/production/camel/content/rest-dsl.html (original) +++ websites/production/camel/content/rest-dsl.html Sun Jul 27 09:49:23 2014 @@ -84,7 +84,7 @@ <tbody> <tr> <td valign="top" width="100%"> -<div class="wiki-content maincontent"><h2 id="RestDSL-RestDSL">Rest DSL</h2><p><strong>Available as of Camel 2.14</strong></p><p>Apache Camel offers a REST styled DSL which can be used with Java or XML. The intention is to allow end users to define REST services using a REST style with verbs such as get, post, delete etc.</p><h4 id="RestDSL-Howitworks">How it works</h4><p>The Rest DSL is a facade that builds <a shape="rect" href="rest.html">Rest</a> endpoints as consumers for Camel routes. The actual REST transport is leveraged by using Camel REST components such as <a shape="rect" href="restlet.html">Restlet</a>, <a shape="rect" href="spark-rest.html">Spark-rest</a>, and others that has native REST integration.</p><h3 id="RestDSL-RestDSLwithJava">Rest DSL with Java</h3><p>To use the Rest DSL in Java then just do as with regular Camel routes by extending the <code>RouteBuilder</code> and define the routes in the <code>configure</code> method.</p><p>A simple REST service can be define as follows, where we use rest() to define the services as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> +<div class="wiki-content maincontent"><h2 id="RestDSL-RestDSL">Rest DSL</h2><p><strong>Available as of Camel 2.14</strong></p><p>Apache Camel offers a REST styled DSL which can be used with Java or XML. The intention is to allow end users to define REST services using a REST style with verbs such as get, post, delete etc.</p><h4 id="RestDSL-Howitworks">How it works</h4><p>The Rest DSL is a facade that builds <a shape="rect" href="rest.html">Rest</a> endpoints as consumers for Camel routes. The actual REST transport is leveraged by using Camel REST components such as <a shape="rect" href="restlet.html">Restlet</a>, <a shape="rect" href="spark-rest.html">Spark-rest</a>, and others that has native REST integration.</p><h3 id="RestDSL-ComponentssupportingRestDSL">Components supporting Rest DSL</h3><p>The following Camel components supports the Rest DSL. See the bottom of this page for how to integrate a component with the Rest DSL.</p><ul><li>camel-jetty</li><li>camel-res tlet</li><li>camel-spark-rest</li></ul><h3 id="RestDSL-RestDSLwithJava">Rest DSL with Java</h3><p>To use the Rest DSL in Java then just do as with regular Camel routes by extending the <code>RouteBuilder</code> and define the routes in the <code>configure</code> method.</p><p>A simple REST service can be define as follows, where we use rest() to define the services as shown below:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl"> <script class="theme: Default; brush: java; gutter: false" type="syntaxhighlighter"><![CDATA[ protected RouteBuilder createRouteBuilder() throws Exception { return new RouteBuilder() { @Override