camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r935916 - in /websites/production/camel/content: cache/main.pageCache camel-2150-release.html graceful-shutdown.html
Date Mon, 12 Jan 2015 13:18:34 GMT
Author: buildbot
Date: Mon Jan 12 13:18:33 2015
New Revision: 935916

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2150-release.html
    websites/production/camel/content/graceful-shutdown.html

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

Modified: websites/production/camel/content/camel-2150-release.html
==============================================================================
--- websites/production/camel/content/camel-2150-release.html (original)
+++ websites/production/camel/content/camel-2150-release.html Mon Jan 12 13:18:33 2015
@@ -84,7 +84,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.15.0Release-Camel2.15.0release(currentlyinprogress)">Camel&#160;2.15.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><p><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"></p></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.15.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.15.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li><span>Component documentation now included in the built component JARs. And Java API and JMX API to access that documentation. And APIs to explain an endpoint uri and what all those configured options mean.&#160;</span></li><li><span>Component can now have&#160;associated&#160;label(s) which are use
 d for grouping components into: core, database, messaging, http, rest, etc.</span></li><li><span>Provide Configurer for user to configure the CXF conduit and CXF destination from Java code</span></li><li><span><span>Added a <code>DelegateEndpoint</code>&#160;interface into Camel API</span></span></li><li>Support to setup the SslContextParameters in the <a shape="rect" href="restlet.html">camel-restlet</a> component</li><li>Java DSL - Should support nested choice in doTry .. doCatch</li><li><a shape="rect" href="mongodb.html">MongoDb</a> component now <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7996">stores OIDs</a>&#160;of the inserted records in the message header</li><li><a shape="rect" href="recipient-list.html">Recipient List</a> now supports specifying custom&#160;<a shape="rect" href="exchange-pattern.html">Exchange Pattern</a> in the endpoint ur's</li><li><a shape="rect" href="type-converter.html">Type Converter</a> to enum's is now
  case insensitive, so you can convert safely level=info to an enum with name Level.INFO etc.</li><li><a shape="rect" href="xslt.html">XSLT</a> and&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/SM/Validation">Validation</a> components now provides all their endpoint configurations in the endpoint, and not only in the component, making these components like any other components.</li><li>Made the <a shape="rect" href="karaf.html">Camel Karaf Commands</a> reusable by moving common code into a&#160;<code>camel-commands-core</code> module that SPI can extend and plugin Camel commands for other environments.</li><li>Further hardening of the&#160;<a shape="rect" href="sjms.html">SJMS</a>&#160;component.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> with embedded routes now supports <a shape="rect" href="exception-clause.html">onException</a>, <a shape="rect" href="intercept.html">intercept</a> etc in use for those embedded routes, just like any regular r
 outes.&#160;</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> now by default uses custom error message as-is without attempting to binding output (requires a HTTP error code of 300+ is set as a header)</li><li>Camel&#160;<a shape="rect" href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> now supports specifying a default value together with the key to lookup.</li><li>Camel&#160;<a shape="rect" href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> now supports not having to define a PropertiesComponent if all the placeholder keys has default values which are to be used (less configuration needed in those situations).</li><li>Camel&#160;<a shape="rect" href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> now supports 3rd party functions to lookup the property values, this allow end users to implement their own logic - we provide 3 out of the box functions to lookup values from OS environment variable, JVM system properties, or the 
 service name idiom.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> now pools Channels for the producer to avoid sharing same Channel among concurrent producers which are not recommended by RabbitMQ client.</li><li>Camel commands is now reusable outside Apache Karaf as a base by the&#160;<code>commands-core</code> module.</li><li>Camel commands using <a shape="rect" class="external-link" href="http://www.jolokia.org/" rel="nofollow">Jolokia</a> for remote communication by the&#160;<code>commands-jolokia</code> module.</li><li>More minor processors such as setHeader, removeHeader, removeHeaders and ditto for properties is now also enlisted in JMX under processors.</li><li>Optimized usage of type conversion during routing reducing the number of attempts needed.</li><li>Asynchronous routing engine that are forced to block threads now exposes this using a <a shape="rect" href="asyncprocessorawaitmanager.html">manager</a> that offers runtime insight using JMX. And as well attem
 pts to free blocked threads during graceful shutdown, to avoid any threads hanging in the JVM.</li><li><a shape="rect" href="swagger.html">Swagger</a> now supports any kind of runtime environment, as only JMX being enabled is required.</li><li><a shape="rect" href="xml-security-component.html">XML Security component</a> supports now&#160;&#160;XAdES-BES/EPES&#160;in the signer endpoint.</li><li><a shape="rect" href="hl7.html">HL7</a> MLLP codec now supports&#160;<a shape="rect" href="netty4.html">Netty4</a> based transport.</li><li>Inflight repository now allows to browse the current inflight exchanges to obtain information where these exchanges are inflight and for how long. Expose this information in JMX and Camel commands as well.</li></ul><h3 id="Camel2.15.0Release-Fixedissues">Fixed issues</h3><ul><li>Fixed processors was not enlisted in JMX when routes was transacted.</li><li>Fixed the NullPointerException when using CXF endpoint with enrich</li><li>Fixed the&#160;endpointProp
 erty of&#160;restConfiguration doesn't work issue</li><li>Fixed the issue that&#160;CircuitBreakerLoadBalancer fails on async processors</li><li>Fixed&#160;MyBatis consumer <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-8011">ignoring maxMessagesPerPoll</a> option</li><li>Fixed potential issue with&#160;pollEnrich not triggering error handler if an exception was thrown in the polling.</li><li>Fixed a memory leak if using&#160;<a shape="rect" href="dynamic-router.html">Dynamic Router</a> that loops many times, and uses&#160;any of&#160;<code>convertBodyTo</code> or&#160;<code>setBody</code> or&#160;<code>transform</code> in the loop, causing memory to stack up until the Exchange is done.</li><li>Fixed and improved how&#160;<a shape="rect" href="bean.html">Bean</a>&#160;component and&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language invoking beans detect methods that are overridden, and able to filter and apply this as a single m
 ethod, to be invoked. Avoids AmbiguousMethodCallException&#160;being thrown.</li><li>Fixed a thread leak if restarting routes using stop/start and the routes is a scheduled poll consumer, such as file/ftp&#160;components.</li><li>Using ?exchangePattern=InOnly or InOut in endpoint uris now take precedence as the pattern in use when sending to the endpoint, using to/recipient list.<br clear="none"><br clear="none"></li></ul><h3 id="Camel2.15.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.15.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li><a shape="rect" href="beanstalk.html">camel-beanstalk</a> - for working with Amazon Beanstalk jobs.</li><li>came-cassandraql -&#160;Cassandra CQL3 support</li><li><code>camel-chunk</code> - for templating with Chunk engine.</li><li><a shape="rect" href="docker.html">camel-docker</a> - to communicate with Docker.</li><li>camel-git
 hub - for integrating with github</li><li>camel-google-calendar -&#160;provides access to&#160;<a shape="rect" class="external-link" href="http://google.com/calendar" rel="nofollow">Google Calendar</a>&#160;via the&#160;<a shape="rect" class="external-link" href="https://developers.google.com/google-apps/calendar/v3/reference/" rel="nofollow">Google Calendar Web APIs</a>.</li><li>camel-google-mail -&#160;provides access to&#160;<a shape="rect" class="external-link" href="http://gmail.com/" rel="nofollow">Gmail</a>&#160;via the&#160;<a shape="rect" class="external-link" href="https://developers.google.com/gmail/api/v1/reference/" rel="nofollow">Google Mail Web APIs</a>.</li><li>camel-pgevent -&#160;Component for sending/receiving notifications in PostgreSQL via the pgjdbc-ng driver</li><li>camel-jira - for integrating with JIRA issue tracker</li><li>camel-scr - for using Camel with <a shape="rect" class="external-link" href="http://felix.apache.org/documentation/subprojects/apache-fe
 lix-maven-scr-plugin/scr-annotations.html">SCR</a>&#160;(OSGi declarative services) on OSGi containers such as Apache Karaf</li><li><a shape="rect" href="spring-boot.html">camel-spring-boot</a> - for using Camel with Spring Boot</li><li>camel-test-spring40 - for testing with Spring 4.0.x. camel-test-spring is for Spring 4.1.x onwards.</li></ul><h3 id="Camel2.15.0Release-NewDSL">New DSL</h3><ul><li>Added <strong>removeProperties</strong> to remove the properties from exchange.</li></ul><h3 id="Camel2.15.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.15.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li>camel-univocity-parsers</li></ul><h3 id="Camel2.15.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.15.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.15.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.
 15.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.15.0Release-DependencyUpgrades"><span>Dependency Upgrades</span></h2><ul><li>AWS-Java-SDK 1.8.3 to 1.8.9.1</li><li>Codahale Metrics 3.0 to 3.1</li><li>CXF 3.0.2 to 3.0.3</li><li>Hazelcast 3.3.2 to 3.4</li><li>JAXB 2.2.7 to 2.2.11</li><li>JRuby 1.7.16 to 1.7.18</li><li>Guava 17.0 to 18.0</li><li>Jsch 0.1.50 to 0.1.51</li><li>Spring 4.0.7.RELEASE to 4.1.4.RELEASE</li><li>Spring Security 3.1.7.RELEASE to 3.2.5.RELEASE</li><li>RX Java 0.20 to 1.0.2</li><li>... and many other upgrades</li></ul><h2 id="Camel2.15.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Spring 4.1.x is now the default out of the box Spring version.</li><li><span style="color: rgb(0,0,0);">Unit testing with Spring 4.0.x requires using camel-test-spring40, as camel-test-spring is for Spring 4.1 or better.</span></li><li><span style="color: rgb(0,0,0);">Remember to add&#160;<code class="java color1">@Boot
 strapWith</code><code class="java plain">(CamelTestContextBootstrapper.</code><code class="java keyword">class</code><code class="java plain">)</code>&#160;if upgrading from Spring 3.x or 4.0.x to Spring 4.1 onwards, and using the camel-test-spring module.</span></li><li><a shape="rect" href="xslt.html">XSLT</a>&#160;component now require configuring&#160;<code>transformerFactory</code> using&#160;<a shape="rect" href="uris.html">URIs</a> with the #syntax to refer to a bean. Just like any other component would do.</li><li>Slight refactor in&#160;<code>camel-metrics</code> component which may affect users who are using the java endpoint types instead of configuring using uris</li><li><code>camel-csv</code> upgraded to Commons CSV 1.x which has a different API than the old 0.x version. End users may need to adjust their code.</li><li><code>camel-sjms</code> has been refactored a bit to further harden this component.&#160;End users may need to adjust their code.</li><li>The <a shape="r
 ect" href="simple.html">simple</a> function properties:locations:key has been renamed to properties-location:locations:key, as it would clash with the new functionality to specify a default value after the key name, eg properties:key:default</li><li>Support for Jetty 8.x is deprecated and being considered to be dropped in next release (as Jetty 8 is EOL).</li><li>Removed the backlog tracer commands from the Karaf Camel commands as they are not suitable for a CLI environment</li><li>The need for runtime specific servlets in <a shape="rect" href="swagger.html">Swagger</a>&#160;has been removed, and instead just use the default servlet which is provided out of the box.&#160;</li><li><code>org.apache.camel.spi.InflightRepository</code> now includes additional methods for browsing in-flight exchanges.</li><li>Using ?exchangePattern=InOnly or InOut in endpoint uris now take precedence as the pattern in use when sending to the endpoint, using to/recipient list.</li></ul><h2 id="Camel2.15.0
 Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.15.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.15.0/apache-camel-x.y.x.zip">apache-camel-2.15.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.15.0/apache-camel-x.y.x.zip.asc">apache-camel-2.15.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.15.0/apache-camel-x.y.x.tar.gz">apache-camel-2.15.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.15.0/apache-camel-x.y.x.tar.gz.asc">apache-camel-2.15.0.tar.gz.asc</a></p></td></tr></tbody></table></div>    <div class="aui-message hint shadowed information-macro">
+<div class="wiki-content maincontent"><h1 id="Camel2.15.0Release-Camel2.15.0release(currentlyinprogress)">Camel&#160;2.15.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><p><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"></p></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.15.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.15.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li><span>Component documentation now included in the built component JARs. And Java API and JMX API to access that documentation. And APIs to explain an endpoint uri and what all those configured options mean.&#160;</span></li><li><span>Component can now have&#160;associated&#160;label(s) which are use
 d for grouping components into: core, database, messaging, http, rest, etc.</span></li><li><span>Provide Configurer for user to configure the CXF conduit and CXF destination from Java code</span></li><li><span><span>Added a <code>DelegateEndpoint</code>&#160;interface into Camel API</span></span></li><li>Support to setup the SslContextParameters in the <a shape="rect" href="restlet.html">camel-restlet</a> component</li><li>Java DSL - Should support nested choice in doTry .. doCatch</li><li><a shape="rect" href="mongodb.html">MongoDb</a> component now <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-7996">stores OIDs</a>&#160;of the inserted records in the message header</li><li><a shape="rect" href="recipient-list.html">Recipient List</a> now supports specifying custom&#160;<a shape="rect" href="exchange-pattern.html">Exchange Pattern</a> in the endpoint ur's</li><li><a shape="rect" href="type-converter.html">Type Converter</a> to enum's is now
  case insensitive, so you can convert safely level=info to an enum with name Level.INFO etc.</li><li><a shape="rect" href="xslt.html">XSLT</a> and&#160;<a shape="rect" href="https://cwiki.apache.org/confluence/display/SM/Validation">Validation</a> components now provides all their endpoint configurations in the endpoint, and not only in the component, making these components like any other components.</li><li>Made the <a shape="rect" href="karaf.html">Camel Karaf Commands</a> reusable by moving common code into a&#160;<code>camel-commands-core</code> module that SPI can extend and plugin Camel commands for other environments.</li><li>Further hardening of the&#160;<a shape="rect" href="sjms.html">SJMS</a>&#160;component.</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> with embedded routes now supports <a shape="rect" href="exception-clause.html">onException</a>, <a shape="rect" href="intercept.html">intercept</a> etc in use for those embedded routes, just like any regular r
 outes.&#160;</li><li><a shape="rect" href="rest-dsl.html">Rest DSL</a> now by default uses custom error message as-is without attempting to binding output (requires a HTTP error code of 300+ is set as a header)</li><li>Camel&#160;<a shape="rect" href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> now supports specifying a default value together with the key to lookup.</li><li>Camel&#160;<a shape="rect" href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> now supports not having to define a PropertiesComponent if all the placeholder keys has default values which are to be used (less configuration needed in those situations).</li><li>Camel&#160;<a shape="rect" href="using-propertyplaceholder.html">Using PropertyPlaceholder</a> now supports 3rd party functions to lookup the property values, this allow end users to implement their own logic - we provide 3 out of the box functions to lookup values from OS environment variable, JVM system properties, or the 
 service name idiom.</li><li><a shape="rect" href="rabbitmq.html">RabbitMQ</a> now pools Channels for the producer to avoid sharing same Channel among concurrent producers which are not recommended by RabbitMQ client.</li><li>Camel commands is now reusable outside Apache Karaf as a base by the&#160;<code>commands-core</code> module.</li><li>Camel commands using <a shape="rect" class="external-link" href="http://www.jolokia.org/" rel="nofollow">Jolokia</a> for remote communication by the&#160;<code>commands-jolokia</code> module.</li><li>More minor processors such as setHeader, removeHeader, removeHeaders and ditto for properties is now also enlisted in JMX under processors.</li><li>Optimized usage of type conversion during routing reducing the number of attempts needed.</li><li>Asynchronous routing engine that are forced to block threads now exposes this using a <a shape="rect" href="asyncprocessorawaitmanager.html">manager</a> that offers runtime insight using JMX. And as well attem
 pts to free blocked threads during graceful shutdown, to avoid any threads hanging in the JVM.</li><li><a shape="rect" href="swagger.html">Swagger</a> now supports any kind of runtime environment, as only JMX being enabled is required.</li><li><a shape="rect" href="xml-security-component.html">XML Security component</a> supports now&#160;&#160;XAdES-BES/EPES&#160;in the signer endpoint.</li><li><a shape="rect" href="hl7.html">HL7</a> MLLP codec now supports&#160;<a shape="rect" href="netty4.html">Netty4</a> based transport.</li><li>Inflight repository now allows to browse the current inflight exchanges to obtain information where these exchanges are inflight and for how long. Expose this information in JMX and Camel commands as well.</li><li><a shape="rect" href="graceful-shutdown.html">Graceful Shutdown</a> now logs information about the inflight exchanges that are still present during shutdown and a timeout was hit.</li></ul><h3 id="Camel2.15.0Release-Fixedissues">Fixed issues</h3
 ><ul><li>Fixed processors was not enlisted in JMX when routes was transacted.</li><li>Fixed the NullPointerException when using CXF endpoint with enrich</li><li>Fixed the&#160;endpointProperty of&#160;restConfiguration doesn't work issue</li><li>Fixed the issue that&#160;CircuitBreakerLoadBalancer fails on async processors</li><li>Fixed&#160;MyBatis consumer <a shape="rect" class="external-link" href="https://issues.apache.org/jira/browse/CAMEL-8011">ignoring maxMessagesPerPoll</a> option</li><li>Fixed potential issue with&#160;pollEnrich not triggering error handler if an exception was thrown in the polling.</li><li>Fixed a memory leak if using&#160;<a shape="rect" href="dynamic-router.html">Dynamic Router</a> that loops many times, and uses&#160;any of&#160;<code>convertBodyTo</code> or&#160;<code>setBody</code> or&#160;<code>transform</code> in the loop, causing memory to stack up until the Exchange is done.</li><li>Fixed and improved how&#160;<a shape="rect" href="bean.html">Bea
 n</a>&#160;component and&#160;<a shape="rect" href="simple.html">Simple</a>&#160;language invoking beans detect methods that are overridden, and able to filter and apply this as a single method, to be invoked. Avoids AmbiguousMethodCallException&#160;being thrown.</li><li>Fixed a thread leak if restarting routes using stop/start and the routes is a scheduled poll consumer, such as file/ftp&#160;components.</li><li>Using ?exchangePattern=InOnly or InOut in endpoint uris now take precedence as the pattern in use when sending to the endpoint, using to/recipient list.<br clear="none"><br clear="none"></li></ul><h3 id="Camel2.15.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.15.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li><a shape="rect" href="beanstalk.html">camel-beanstalk</a> - for working with Amazon Beanstalk jobs.</li><li>came-cassandraql -&#160;Cassandra C
 QL3 support</li><li><code>camel-chunk</code> - for templating with Chunk engine.</li><li><a shape="rect" href="docker.html">camel-docker</a> - to communicate with Docker.</li><li>camel-github - for integrating with github</li><li>camel-google-calendar -&#160;provides access to&#160;<a shape="rect" class="external-link" href="http://google.com/calendar" rel="nofollow">Google Calendar</a>&#160;via the&#160;<a shape="rect" class="external-link" href="https://developers.google.com/google-apps/calendar/v3/reference/" rel="nofollow">Google Calendar Web APIs</a>.</li><li>camel-google-mail -&#160;provides access to&#160;<a shape="rect" class="external-link" href="http://gmail.com/" rel="nofollow">Gmail</a>&#160;via the&#160;<a shape="rect" class="external-link" href="https://developers.google.com/gmail/api/v1/reference/" rel="nofollow">Google Mail Web APIs</a>.</li><li>camel-pgevent -&#160;Component for sending/receiving notifications in PostgreSQL via the pgjdbc-ng driver</li><li>camel-jir
 a - for integrating with JIRA issue tracker</li><li>camel-scr - for using Camel with <a shape="rect" class="external-link" href="http://felix.apache.org/documentation/subprojects/apache-felix-maven-scr-plugin/scr-annotations.html">SCR</a>&#160;(OSGi declarative services) on OSGi containers such as Apache Karaf</li><li><a shape="rect" href="spring-boot.html">camel-spring-boot</a> - for using Camel with Spring Boot</li><li>camel-test-spring40 - for testing with Spring 4.0.x. camel-test-spring is for Spring 4.1.x onwards.</li></ul><h3 id="Camel2.15.0Release-NewDSL">New DSL</h3><ul><li>Added <strong>removeProperties</strong> to remove the properties from exchange.</li></ul><h3 id="Camel2.15.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.15.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><ul><li>camel-univocity-parsers</li></ul><h3 id="Camel2.15.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel
 2.15.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.15.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.15.0Release-KnownIssues">Known Issues</h2><h2 id="Camel2.15.0Release-DependencyUpgrades"><span>Dependency Upgrades</span></h2><ul><li>AWS-Java-SDK 1.8.3 to 1.8.9.1</li><li>Codahale Metrics 3.0 to 3.1</li><li>CXF 3.0.2 to 3.0.3</li><li>Hazelcast 3.3.2 to 3.4</li><li>JAXB 2.2.7 to 2.2.11</li><li>JRuby 1.7.16 to 1.7.18</li><li>Guava 17.0 to 18.0</li><li>Jsch 0.1.50 to 0.1.51</li><li>Spring 4.0.7.RELEASE to 4.1.4.RELEASE</li><li>Spring Security 3.1.7.RELEASE to 3.2.5.RELEASE</li><li>RX Java 0.20 to 1.0.2</li><li>... and many other upgrades</li></ul><h2 id="Camel2.15.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li>Spring 4.1.x is now the default out of the box Spring version.</li><li><span style="color: rgb(0,0,0);">Unit testing with Spring 4.0.
 x requires using camel-test-spring40, as camel-test-spring is for Spring 4.1 or better.</span></li><li><span style="color: rgb(0,0,0);">Remember to add&#160;<code class="java color1">@BootstrapWith</code><code class="java plain">(CamelTestContextBootstrapper.</code><code class="java keyword">class</code><code class="java plain">)</code>&#160;if upgrading from Spring 3.x or 4.0.x to Spring 4.1 onwards, and using the camel-test-spring module.</span></li><li><a shape="rect" href="xslt.html">XSLT</a>&#160;component now require configuring&#160;<code>transformerFactory</code> using&#160;<a shape="rect" href="uris.html">URIs</a> with the #syntax to refer to a bean. Just like any other component would do.</li><li>Slight refactor in&#160;<code>camel-metrics</code> component which may affect users who are using the java endpoint types instead of configuring using uris</li><li><code>camel-csv</code> upgraded to Commons CSV 1.x which has a different API than the old 0.x version. End users may 
 need to adjust their code.</li><li><code>camel-sjms</code> has been refactored a bit to further harden this component.&#160;End users may need to adjust their code.</li><li>The <a shape="rect" href="simple.html">simple</a> function properties:locations:key has been renamed to properties-location:locations:key, as it would clash with the new functionality to specify a default value after the key name, eg properties:key:default</li><li>Support for Jetty 8.x is deprecated and being considered to be dropped in next release (as Jetty 8 is EOL).</li><li>Removed the backlog tracer commands from the Karaf Camel commands as they are not suitable for a CLI environment</li><li>The need for runtime specific servlets in <a shape="rect" href="swagger.html">Swagger</a>&#160;has been removed, and instead just use the default servlet which is provided out of the box.&#160;</li><li><code>org.apache.camel.spi.InflightRepository</code> now includes additional methods for browsing in-flight exchanges.</
 li><li>Using ?exchangePattern=InOnly or InOut in endpoint uris now take precedence as the pattern in use when sending to the endpoint, using to/recipient list.</li></ul><h2 id="Camel2.15.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.15.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.15.0/apache-camel-x.y.x.zip">apache-camel-2.15.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.15.0/apache-camel-x.y.x.zip.asc">apache-camel-2.15.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.15.0/apache-camel-x.y.x.tar.gz">apache-camel-2.15.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.15.0/apache-camel-x.y.x.tar.gz.asc">apache-camel-2.15.0.tar.gz.asc</a></p></td></tr></tbody></table></div>    <div class="aui-message hint shadowed information-macro">
                     <p class="title">The above URLs use redirection</p>
                             <span class="aui-icon icon-hint">Icon</span>
                 <div class="message-content">

Modified: websites/production/camel/content/graceful-shutdown.html
==============================================================================
--- websites/production/camel/content/graceful-shutdown.html (original)
+++ websites/production/camel/content/graceful-shutdown.html Mon Jan 12 13:18:33 2015
@@ -86,24 +86,8 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h2 id="GracefulShutdown-GracefulShutdown">Graceful Shutdown</h2>
-<p><strong>Available as of Camel 2.2</strong></p>
-
-<p>Camel now supports a pluggable shutdown strategy using <code>org.apache.camel.spi.ShutdownStrategy</code>. Its responsible for shutting down routes in a graceful manner. The other resources will still be handled by <a shape="rect" href="camelcontext.html">CamelContext</a> to shutdown. This leaves the problem at hand with properly shutting down all the routes in a reliable manner to the <code>ShutdownStrategy</code>.</p>
-
-<p>Camel provides a default strategy in the <code>org.apache.camel.impl.DefaultShutdownStrategy</code> which is capable of doing that. </p>
-
-<h3 id="GracefulShutdown-DefaultShutdownStrategy">DefaultShutdownStrategy</h3>
-<p>The default strategy will gracefully shutdown routes:</p>
-<ul class="alternate"><li><strong>Camel 2.2:</strong> in the same order they was started</li><li><strong>Camel 2.3:</strong> in the reverse order they was started. The option <code>shutdownRoutesInReverseOrder</code> can be used to use the old behavior.</li><li>let pending and current in flight exchanges run to completion before shutting down</li><li>using a timeout of 300 seconds which then forces a shutdown now</li></ul>
-
-
-<p>You can configure the timeout, and whether it should shutdown now remaining routes when the timeout occurred or ignore. See the setters on the class.</p>
-
-<p>It will output to log the progress during graceful shutdown as shown in 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[
-2009-12-20 10:56:53,055 [main           ] INFO  DefaultCamelContext            - Apache Camel  (CamelContext:camel-1) is stopping
+<div class="wiki-content maincontent"><h2 id="GracefulShutdown-GracefulShutdown">Graceful Shutdown</h2><p><strong>Available as of Camel 2.2</strong></p><p>Camel now supports a pluggable shutdown strategy using <code>org.apache.camel.spi.ShutdownStrategy</code>. Its responsible for shutting down routes in a graceful manner. The other resources will still be handled by <a shape="rect" href="camelcontext.html">CamelContext</a> to shutdown. This leaves the problem at hand with properly shutting down all the routes in a reliable manner to the <code>ShutdownStrategy</code>.</p><p>Camel provides a default strategy in the <code>org.apache.camel.impl.DefaultShutdownStrategy</code> which is capable of doing that.</p><h3 id="GracefulShutdown-DefaultShutdownStrategy">DefaultShutdownStrategy</h3><p>The default strategy will gracefully shutdown routes:</p><ul class="alternate"><li><strong>Camel 2.2:</strong> in the same order they was started</li><li><strong>Camel 2.3:</strong> in the reverse ord
 er they was started. The option <code>shutdownRoutesInReverseOrder</code> can be used to use the old behavior.</li><li>let pending and current in flight exchanges run to completion before shutting down</li><li>using a timeout of 300 seconds which then forces a shutdown now</li></ul><p>You can configure the timeout, and whether it should shutdown now remaining routes when the timeout occurred or ignore. See the setters on the class.</p><p>It will output to log the progress during graceful shutdown as shown in 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[2009-12-20 10:56:53,055 [main           ] INFO  DefaultCamelContext            - Apache Camel  (CamelContext:camel-1) is stopping
 2009-12-20 10:56:53,056 [main           ] INFO  DefaultShutdownStrategy        - Starting to graceful shutdown routes (timeout 300 seconds)
 2009-12-20 10:56:53,059 [1: ShutdownTask] INFO  DefaultShutdownStrategy        - Waiting as there are still 5 inflight exchanges to complete before we can shutdown
 2009-12-20 10:56:54,060 [1: ShutdownTask] INFO  DefaultShutdownStrategy        - Waiting as there are still 4 inflight exchanges to complete before we can shutdown
@@ -114,42 +98,16 @@
 2009-12-20 10:56:58,072 [main           ] INFO  DefaultInflightRepository      - Shutting down with no inflight exchanges.
 2009-12-20 10:56:58,077 [main           ] INFO  DefaultCamelContext            - Apache Camel  (CamelContext:camel-1) stopped
 ]]></script>
-</div></div>
-
-<p>Notice how it waits while there are inflight exchanges still being processed before it can shutdown.</p>
-
-<h4 id="GracefulShutdown-Suppressingloggingduetotimeoutnotallowingallinflightmessagestocomplete">Suppressing logging due to timeout not allowing all inflight messages to complete</h4>
-<p><strong>Available as of Camel 2.12</strong></p>
-
-<p>If a graceful shutdown could not shutdown cleanly within the given timeout period, then Camel performs a more aggressive shutdown by forcing routes and thread pools etc to shutdown. And as well the routing engine will reject continue processing <a shape="rect" href="exchange.html">Exchange</a>s. If this happens you may see WARN logs about <a shape="rect" href="exchange.html">Exchange</a>s being rejected and other failures due the forced shutdown.</p>
-
-<p>If you do not want to see these logs, you can suppress this by setting the option SuppressLoggingOnTimeout to true.</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[
-context.getShutdownStrategegy().setSuppressLoggingOnTimeout(true);
+</div></div><p>Notice how it waits while there are inflight exchanges still being processed before it can shutdown.</p><h4 id="GracefulShutdown-Suppressingloggingduetotimeoutnotallowingallinflightmessagestocomplete">Suppressing logging due to timeout not allowing all inflight messages to complete</h4><p><strong>Available as of Camel 2.12</strong></p><p>If a graceful shutdown could not shutdown cleanly within the given timeout period, then Camel performs a more aggressive shutdown by forcing routes and thread pools etc to shutdown. And as well the routing engine will reject continue processing <a shape="rect" href="exchange.html">Exchange</a>s. If this happens you may see WARN logs about <a shape="rect" href="exchange.html">Exchange</a>s being rejected and other failures due the forced shutdown.</p><p>If you do not want to see these logs, you can suppress this by setting the option SuppressLoggingOnTimeout to true.</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[context.getShutdownStrategegy().setSuppressLoggingOnTimeout(true);
 ]]></script>
-</div></div>
-
-<p>Notice the suppress is a "best effort" though there may still be some logs coming from 3rd party libraries and whatnot, which Camel cannot control.</p>
-
-<h3 id="GracefulShutdown-Controllingorderingofroutes">Controlling ordering of routes</h3>
-<p>You can configure the order in which routes should be started, and thus also the same order they are being shutdown.<br clear="none">
-See more at <a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a>.</p>
-
-<h3 id="GracefulShutdown-Finegrainedconfiguration">Fine grained configuration</h3>
-<p>You can control two areas that influence graceful shutdown in the Camel routing:</p>
-<ul class="alternate"><li><code>ShutdownRoute</code></li><li><code>ShutdownRunningTask</code></li></ul>
-
-
-<p>These options can be configured on two scopes: <code>context</code> and <code>route</code>. Where a route will fallback to the <code>context</code> scoped option, if not explicit configured. (same principle as <a shape="rect" href="error-handler.html">Error Handler</a>, etc.).</p>
-
-<h4 id="GracefulShutdown-ShutdownRoute">ShutdownRoute</h4>
-<p>This option can control how a given route should act during graceful shutdown. It has two values <code>Default</code> and <code>Defer</code>. The <code>Default</code> is obviously the default option which lets Camel shutdown the route as early as possible. The <code>Defer</code> is used to defer shutting down this route to a later stage. This is useful when other routes are dependent upon it. For example an internal route which other routes reuse.</p>
-
-<p>For example in the route below we have two routes, where route 1 is dependent upon route 2. At shutdown we want route 1 to complete all its current messages and we also want the 2nd route to do this as well. So we can mark both routes to <code>Defer</code> but since route 1 is a <a shape="rect" href="seda.html">SEDA</a> based route its <code>Defer</code> by default (it uses <code>ShutdownAware</code>).</p>
-
-<p>A Java DSL based example to defer shutting down the 2nd route:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>Notice the suppress is a "best effort" though there may still be some logs coming from 3rd party libraries and whatnot, which Camel cannot control.</p><h4 id="GracefulShutdown-Logginginflightexchangeinformationontimeout">Logging inflight exchange information on timeout</h4><p><strong>Available as of Camel 2.15</strong></p><p>If a graceful shutdown could not shutdown cleanly within the given timeout period, then Camel performs a more aggressive shutdown by forcing routes and thread pools etc to shutdown. When the timeout happens, then Camel logs information about the current inflight exchanges, which shows from which route the exchange origins, and where it currently is being routed. For example the logging below, shows that there is 1 inflight exchange, that origins from route1, and currently is still in route1 at the "delay1" node. The elapsed is time in millis how long at the current node (eg delay1) and duration is total time in mills.</p><p>If you enable DEBUG log
 ging level on&#160;<code>org.apache.camel.impl.DefaultShutdownStrategy</code> then it logs the same inflight exchange information during graceful shutdown</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[2015-01-12 13:23:23,656 [ - ShutdownTask] INFO DefaultShutdownStrategy        - There are 1 inflight exchanges:
+	InflightExchange: [exchangeId=ID-davsclaus-air-62213-1421065401253-0-3, fromRouteId=route1, routeId=route1, nodeId=delay1, elapsed=2007, duration=2017]]]></script>
+</div></div><p><span style="line-height: 1.4285715;">If you do not want to see these logs, you can turn this off by setting the option </span><span style="line-height: 1.4285715;">logInflightExchangesOnTimeout</span><span style="line-height: 1.4285715;">&#160;to false.</span></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[context.getShutdownStrategegy().setLogInflightExchangesOnTimeout(false);
+]]></script>
+</div></div><h3 id="GracefulShutdown-Controllingorderingofroutes">Controlling ordering of routes</h3><p>You can configure the order in which routes should be started, and thus also the same order they are being shutdown.<br clear="none"> See more at <a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a>.</p><h3 id="GracefulShutdown-Finegrainedconfiguration">Fine grained configuration</h3><p>You can control two areas that influence graceful shutdown in the Camel routing:</p><ul class="alternate"><li><code>ShutdownRoute</code></li><li><code>ShutdownRunningTask</code></li></ul><p>These options can be configured on two scopes: <code>context</code> and <code>route</code>. Where a route will fallback to the <code>context</code> scoped option, if not explicit configured. (same principle as <a shape="rect" href="error-handler.html">Error Handler</a>, etc.).</p><h4 id="GracefulShutdown-ShutdownRoute">ShutdownRoute
 </h4><p>This option can control how a given route should act during graceful shutdown. It has two values <code>Default</code> and <code>Defer</code>. The <code>Default</code> is obviously the default option which lets Camel shutdown the route as early as possible. The <code>Defer</code> is used to defer shutting down this route to a later stage. This is useful when other routes are dependent upon it. For example an internal route which other routes reuse.</p><p>For example in the route below we have two routes, where route 1 is dependent upon route 2. At shutdown we want route 1 to complete all its current messages and we also want the 2nd route to do this as well. So we can mark both routes to <code>Defer</code> but since route 1 is a <a shape="rect" href="seda.html">SEDA</a> based route its <code>Defer</code> by default (it uses <code>ShutdownAware</code>).</p><p>A Java DSL based example to defer shutting down the 2nd route:</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[
 public void configure() throws Exception {
     from(&quot;seda:foo&quot;)
@@ -165,10 +123,7 @@ public void configure() throws Exception
         .to(&quot;mock:bar&quot;);
 }
 ]]></script>
-</div></div>
-
-<p>The same route in Spring XML would be:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The same route in Spring XML 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[
 &lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
     &lt;route startupOrder=&quot;1&quot;&gt;
@@ -183,23 +138,14 @@ public void configure() throws Exception
     &lt;/route&gt;
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-    <div class="aui-message success shadowed information-macro">
+</div></div>    <div class="aui-message success shadowed information-macro">
                     <p class="title">Defer shutting down internal routes only</p>
                             <span class="aui-icon icon-success">Icon</span>
                 <div class="message-content">
-                            
-<p>Its best to only defer shutting down internal routes only. As <strong>public</strong> routes should shutdown as quickly as possible otherwise it will just keep intake new messages which will delay the shutdown processor. Or even have it timeout if a lot of new messages keep coming in.</p>
+                            <p>Its best to only defer shutting down internal routes only. As <strong>public</strong> routes should shutdown as quickly as possible otherwise it will just keep intake new messages which will delay the shutdown processor. Or even have it timeout if a lot of new messages keep coming in.</p>
                     </div>
     </div>
-
-
-<h4 id="GracefulShutdown-ShutdownRunningTask">ShutdownRunningTask</h4>
-<p>This option control how a given route consumer acts during shutdown. Most route consumer will only operate on a single task (message), however the <a shape="rect" href="batch-consumer.html">Batch Consumer</a> can operate on many messages (in a batch). This option is for those kind of consumers. By default it uses the option <code>CompleteCurrentTaskOnly</code> which mean that the current <em>in progress</em> task (message) will be completed and then the consumer will shutdown. The other option <code>CompleteAllTasks</code> allows the consumer to complete all the tasks (messages) before shutting down. For example a <a shape="rect" href="file2.html">File</a> consumer will process all the pending files it has picked up before shutting down.</p>
-
-<p>A Java DSL based example to complete all messages during shutting down the first route:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<h4 id="GracefulShutdown-ShutdownRunningTask">ShutdownRunningTask</h4><p>This option control how a given route consumer acts during shutdown. Most route consumer will only operate on a single task (message), however the <a shape="rect" href="batch-consumer.html">Batch Consumer</a> can operate on many messages (in a batch). This option is for those kind of consumers. By default it uses the option <code>CompleteCurrentTaskOnly</code> which mean that the current <em>in progress</em> task (message) will be completed and then the consumer will shutdown. The other option <code>CompleteAllTasks</code> allows the consumer to complete all the tasks (messages) before shutting down. For example a <a shape="rect" href="file2.html">File</a> consumer will process all the pending files it has picked up before shutting down.</p><p>A Java DSL based example to complete all messages during shutting down the first route:</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[
 public void configure() throws Exception {
     from(url).routeId(&quot;foo&quot;).noAutoStartup()
@@ -209,10 +155,7 @@ public void configure() throws Exception
         .to(&quot;mock:bar&quot;);
 }
 ]]></script>
-</div></div>
-
-<p>The same route in Spring XML would be:</p>
-<div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><p>The same route in Spring XML 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[
 &lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
     &lt;!-- let this route complete all its pending messages when asked to shutdown --&gt;
@@ -225,33 +168,7 @@ public void configure() throws Exception
 
 &lt;/camelContext&gt;
 ]]></script>
-</div></div>
-
-<h3 id="GracefulShutdown-JMXmanaged">JMX managed</h3>
-<p>The <code>ShutdownStrategy</code> is JMX aware as well so you can manage it from a JMX console. For example you can change the timeout value.</p>
-
-<h3 id="GracefulShutdown-Shuttingdownindividualroutes">Shutting down individual routes</h3>
-<p><strong>Available as of Camel 2.3</strong><br clear="none">
-Its now possible to gracefully shutdown an individual route using <code>shutdownRoute(routeId)</code> method on <code>CamelContext</code>. Its also possible to provide a specific timeout to use instead of the default timeout settings using <code>shutdownRoute(routeId, timeout, timeUnit)</code>.</p>
-
-<h3 id="GracefulShutdown-Developerrelated">Developer related</h3>
-<p>If you develop your own Camel component or want to implement your own shutdown strategy then read this section for details.</p>
-
-<h4 id="GracefulShutdown-ShutdownStrategy">ShutdownStrategy</h4>
-<p>You can implement your own strategy to control the shutdown by implementing the <code>org.apache.camel.spi.ShutdownStrategy</code> and the set it on the <code>CamelContext</code> using the <code>setShutdownStrategy</code> method.</p>
-
-<p>When using Spring XML you then just define a spring bean which implements the <code>org.apache.camel.spi.ShutdownStrategy</code> and Camel will look it up at startup and use it instead of its default. See more at <a shape="rect" href="advanced-configuration-of-camelcontext-using-spring.html">Advanced configuration of CamelContext using Spring</a>.</p>
-
-<h4 id="GracefulShutdown-ShutdownAware">ShutdownAware</h4>
-<p>The interface <code>org.apache.camel.spi.ShutdownAware</code> is an optional interface consumers can implement to have fine grained control during shutdown. The <code>ShutdownStrategy</code> must be able to deal with consumers which implement this interface. This interface was introduced to cater for in memory consumers such as <a shape="rect" href="seda.html">SEDA</a> which potentially have a number of pending messages on its internal in memory queues. What this allows is to let it control the shutdown process to let it complete its pending messages.</p>
-
-<p>The method <code>getPendingExchangesSize</code> should return the number of pending messages which reside on the in memory queues.<br clear="none">
-The method <code>deferShutdown</code> should return <code>true</code> to defer the shutdown to a later stage, when there are no more pending and inflight messages.</p>
-
-<p><a shape="rect" href="batch-consumer.html">Batch Consumer</a> should implement <code>ShutdownAware</code> so they properly support the <code>ShutdownRunningTask</code> option. See <code>GenericFileConsumer</code> for an example.</p>
-
-<h3 id="GracefulShutdown-SeeAlso">See Also</h3>
-<ul class="alternate"><li><a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a></li><li><a shape="rect" href="advanced-configuration-of-camelcontext-using-spring.html">Advanced configuration of CamelContext using Spring</a></li><li><a shape="rect" href="user-guide.html">User Guide</a></li></ul></div>
+</div></div><h3 id="GracefulShutdown-JMXmanaged">JMX managed</h3><p>The <code>ShutdownStrategy</code> is JMX aware as well so you can manage it from a JMX console. For example you can change the timeout value.</p><h3 id="GracefulShutdown-Shuttingdownindividualroutes">Shutting down individual routes</h3><p><strong>Available as of Camel 2.3</strong><br clear="none"> Its now possible to gracefully shutdown an individual route using <code>shutdownRoute(routeId)</code> method on <code>CamelContext</code>. Its also possible to provide a specific timeout to use instead of the default timeout settings using <code>shutdownRoute(routeId, timeout, timeUnit)</code>.</p><h3 id="GracefulShutdown-Developerrelated">Developer related</h3><p>If you develop your own Camel component or want to implement your own shutdown strategy then read this section for details.</p><h4 id="GracefulShutdown-ShutdownStrategy">ShutdownStrategy</h4><p>You can implement your own strategy to control the shutdown by implem
 enting the <code>org.apache.camel.spi.ShutdownStrategy</code> and the set it on the <code>CamelContext</code> using the <code>setShutdownStrategy</code> method.</p><p>When using Spring XML you then just define a spring bean which implements the <code>org.apache.camel.spi.ShutdownStrategy</code> and Camel will look it up at startup and use it instead of its default. See more at <a shape="rect" href="advanced-configuration-of-camelcontext-using-spring.html">Advanced configuration of CamelContext using Spring</a>.</p><h4 id="GracefulShutdown-ShutdownAware">ShutdownAware</h4><p>The interface <code>org.apache.camel.spi.ShutdownAware</code> is an optional interface consumers can implement to have fine grained control during shutdown. The <code>ShutdownStrategy</code> must be able to deal with consumers which implement this interface. This interface was introduced to cater for in memory consumers such as <a shape="rect" href="seda.html">SEDA</a> which potentially have a number of pending m
 essages on its internal in memory queues. What this allows is to let it control the shutdown process to let it complete its pending messages.</p><p>The method <code>getPendingExchangesSize</code> should return the number of pending messages which reside on the in memory queues.<br clear="none"> The method <code>deferShutdown</code> should return <code>true</code> to defer the shutdown to a later stage, when there are no more pending and inflight messages.</p><p><a shape="rect" href="batch-consumer.html">Batch Consumer</a> should implement <code>ShutdownAware</code> so they properly support the <code>ShutdownRunningTask</code> option. See <code>GenericFileConsumer</code> for an example.</p><h3 id="GracefulShutdown-SeeAlso">See Also</h3><ul class="alternate"><li><a shape="rect" href="configuring-route-startup-ordering-and-autostartup.html">Configuring route startup ordering and autostartup</a></li><li><a shape="rect" href="advanced-configuration-of-camelcontext-using-spring.html">Adva
 nced configuration of CamelContext using Spring</a></li><li><a shape="rect" href="user-guide.html">User Guide</a></li></ul></div>
         </td>
         <td valign="top">
           <div class="navigation">



Mime
View raw message