You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by bu...@apache.org on 2016/04/19 15:19:44 UTC

svn commit: r986081 - in /websites/production/camel/content: cache/main.pageCache camel-2180-release.html hystrix-eip.html

Author: buildbot
Date: Tue Apr 19 13:19:44 2016
New Revision: 986081

Log:
Production update by buildbot for camel

Added:
    websites/production/camel/content/hystrix-eip.html
Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/camel-2180-release.html

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

Modified: websites/production/camel/content/camel-2180-release.html
==============================================================================
--- websites/production/camel/content/camel-2180-release.html (original)
+++ websites/production/camel/content/camel-2180-release.html Tue Apr 19 13:19:44 2016
@@ -85,7 +85,7 @@
 	<tbody>
         <tr>
         <td valign="top" width="100%">
-<div class="wiki-content maincontent"><h1 id="Camel2.18.0Release-Camel2.18.0release(currentlyinprogress)">Camel 2.18.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"></span></p></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.18.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.18.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Improved the&#160;<a shape="rect" href="bean.html">Bean</a> component to better match method parameter types when using&#160;<a shape="rect" href="simple.html">Simple</a> language as parameter values.</li><li>Added&#160;<code>BindyConverter</code> tha
 t allows to implement custom data converters for&#160;<a shape="rect" href="bindy.html">Bindy</a></li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger specification anymore.</li><li><a shape="rect" href="nats.html">Camel-NATS</a>&#160;now uses JNATS client instead of the deprecated Java_nats one.</li><li>During startup of&#160;<a shape="rect" href="camelcontext.html">CamelContext</a> the services that are used as part of routes are now deferred being started to the end of the startup process. Some IoC frameworks like Spring can otherwise causes a circular dependency issue if services are started too early. A side effect is that if service startup failures happen when being started later, they are now wrapped in the FailedToStartupRouteException to better pin point which route thas the problem.</li><li>Improved the startup sequence of&#160;<a shape="rect" href="spring-java-config.html">Spri
 ng Java Config</a> to be similar to&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> that helps prevent Spring initialization errors about circular dependencies issues.</li><li>Added PATCH to&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a></li><li>Added "starts with" and "ends with" operator to the <a shape="rect" href="simple.html">Simple</a>&#160;language.</li><li>Added&#160;<code>BeanIOSplitter</code> to&#160;<a shape="rect" href="beanio.html">BeanIO</a> that can be used with the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP to split big payloads in streaming mode without reading the entire content into memory.</li><li>Some of the <a shape="rect" href="aws.html">AWS</a>&#160;components allows to specify ARN in the endpoint configuration.&#160;</li><li>The create operation in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> now creates sub paths if missing.</li><li><a shape="rect" href="bean.html">Bean</a>&#160;component and <a shape="rect" 
 href="bean-language.html">Bean Language</a>&#160;validates method name must be a valid according to java identifier rules, and also if parameter syntax has an ending parenthesis.</li><li>You can now use&#160;<code>@RunWith(CamelSpringBootJUnit4ClassRunner.class)</code> to test Camel&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a>&#160;applications and use the Camel test annotations from&#160;<a shape="rect" href="spring-testing.html">Spring Testing</a> such as&#160;<code>@MockEndpoints</code>.</li><li>To turn on logging exhausted message body with the message history you can configure this easily on the CamelContext level with&#160;<code>setLogExhaustedMessageBody</code></li></ul><p>Fixed these issues</p><ul><li>Fixed&#160;<a shape="rect" href="bean.html">Bean</a> component to avoid ambiguous error for classes that extends generic interface and calling which could lead to falsly duplicate methods (due Java type erasure inserts bridge methods)&#160;</li><li>Fixed splitti
 ng using&#160;tarfile could cause OOME if splitting big files which was mistakenly loaded into memory. Now we work on the tar stream directly.</li><li>Fixed&#160;<a shape="rect" href="netty-http.html">Netty HTTP</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> issue when not specifying a port number then port 80 would not be used but an error about port -1 is not allowed.</li><li>Fixed&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> when using property placeholders in&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> could cause invalid parameters to be included that was from the placeholder.</li><li>The&#160;<code>threads</code>&#160;EIP now lets&#160;<a shape="rect" href="error-handling-in-camel.html">Error handling in Camel</a>&#160;perform redeliveries if the thread pool would otherwise reject accepting the task. This allows the error handler to perform redeliveries to attempt to put the task on the thread pool queue, or eventually move th
 e message to a dead letter queue etc.</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> adding empty header if specifying a non required query parameter that has no default value assigned.</li><li>Fixed <a shape="rect" href="loop.html">doWhile</a> loop which could potentially loop forever.</li><li>Fixed a NPE in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> consumer if no zookeeper node path was set</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module.</li></ul><h3 id="Camel2.18.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.18.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3><ul><li>camel-cm-sms - For sending SMS messages using SM SMS Gateway</li><li>camel-servicenow - For cloud management with ServiceNow</li><li><a shape="rect" href="hystrix.html">camel-hystrix</a> - For implementing circuit breaker,
  timeouts, bulkheads, caching, etc.</li><li><a shape="rect" href="camel-zipkin.html">camel-zipkin</a> - For tracking Camel message flows/timings using <a shape="rect" class="external-link" href="http://zipkin.io/" rel="nofollow">zipkin</a></li></ul><h3 id="Camel2.18.0Release-NewDSL">New DSL</h3><h3 id="Camel2.18.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.18.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 id="Camel2.18.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.18.0Release-New.3">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.18.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.18.0Release-APIbreaking">API breaking</h2><h2 id="Camel2.18.0Release-KnownIssues">Known Issues</h2><ul><li>camel-guice cannot install in Karaf/ServiceMix</li></ul><h2 id="Camel2.18.0Release-Importantchangestoconsiderwhenupgrading">Impo
 rtant changes to consider when upgrading</h2><ul><li><strong>Java 1.8 is now required.</strong></li><li>karaf 2.4.x is no longer supported</li><li>spring 4.0 is no longer supported</li><li>removed camel-test-spring40 module</li><li>spring 3.x is no longer supported<br clear="none">(only spring-dm using spring 3.2.x as part of camel-spring in osgi/karaf is still in use - but spring-dm is deprecated and we recommend using blueprint)</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module. If using Spring XML with Spring-DM then you need to install camel-spring-dm feature in Karaf/ServiceMix.</li><li>The deprecated <code>@LazyLoadTypeConverter</code> has been removed from all&#160;<a shape="rect" href="camel-test.html">Camel Test</a> modules</li><li>camel-gae has been removed (was not working anyway)</li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger spec
 ification anymore.</li><li>Removed the deprecated maven archetypes for SOAP WS using CXF with OSGi Blueprint<br clear="none"><br clear="none"><br clear="none"></li></ul><h2 id="Camel2.18.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.18.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="r
 ect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-bo
 dy"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.18.0Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Windows</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/close
 r.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Unix/Linux/Cygwin</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz">apache-camel-x.y.x-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz.asc">apache-camel-x.y.x-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id=
 "Camel2.18.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<div class="wiki-content maincontent"><h1 id="Camel2.18.0Release-Camel2.18.0release(currentlyinprogress)">Camel 2.18.0 release (currently in progress)</h1><div style="padding-right:20px;float:left;margin-left:-20px;"><p><span class="confluence-embedded-file-wrapper"><img class="confluence-embedded-image confluence-external-resource" src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png" data-image-src="http://camel.apache.org/download.data/camel-box-v1.0-150x200.png"></span></p></div><div style="min-height:200px">&#160;</div><h2 id="Camel2.18.0Release-NewandNoteworthy">New and Noteworthy</h2><p>Welcome to the 2.18.0 release which approx XXX issues resolved (new features, improvements and bug fixes such as...)</p><ul><li>Added <a shape="rect" href="hystrix-eip.html">Hystrix EIP</a> as EIP pattern that uses native Hystrix as the Circuit Breaker implementation.&#160;This requires having&#160;<code>camel-hsytrix</code>&#160;on the classpath.</li><li>Improved the&#160;<a 
 shape="rect" href="bean.html">Bean</a> component to better match method parameter types when using&#160;<a shape="rect" href="simple.html">Simple</a> language as parameter values.</li><li>Added&#160;<code>BindyConverter</code> that allows to implement custom data converters for&#160;<a shape="rect" href="bindy.html">Bindy</a></li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger specification anymore.</li><li><a shape="rect" href="nats.html">Camel-NATS</a>&#160;now uses JNATS client instead of the deprecated Java_nats one.</li><li>During startup of&#160;<a shape="rect" href="camelcontext.html">CamelContext</a> the services that are used as part of routes are now deferred being started to the end of the startup process. Some IoC frameworks like Spring can otherwise causes a circular dependency issue if services are started too early. A side effect is that if service startup failures happen w
 hen being started later, they are now wrapped in the FailedToStartupRouteException to better pin point which route thas the problem.</li><li>Improved the startup sequence of&#160;<a shape="rect" href="spring-java-config.html">Spring Java Config</a> to be similar to&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a> that helps prevent Spring initialization errors about circular dependencies issues.</li><li>Added PATCH to&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a></li><li>Added "starts with" and "ends with" operator to the <a shape="rect" href="simple.html">Simple</a>&#160;language.</li><li>Added&#160;<code>BeanIOSplitter</code> to&#160;<a shape="rect" href="beanio.html">BeanIO</a> that can be used with the&#160;<a shape="rect" href="splitter.html">Splitter</a> EIP to split big payloads in streaming mode without reading the entire content into memory.</li><li>Some of the <a shape="rect" href="aws.html">AWS</a>&#160;components allows to specify ARN in the endpoint
  configuration.&#160;</li><li>The create operation in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> now creates sub paths if missing.</li><li><a shape="rect" href="bean.html">Bean</a>&#160;component and <a shape="rect" href="bean-language.html">Bean Language</a>&#160;validates method name must be a valid according to java identifier rules, and also if parameter syntax has an ending parenthesis.</li><li>You can now use&#160;<code>@RunWith(CamelSpringBootJUnit4ClassRunner.class)</code> to test Camel&#160;<a shape="rect" href="spring-boot.html">Spring Boot</a>&#160;applications and use the Camel test annotations from&#160;<a shape="rect" href="spring-testing.html">Spring Testing</a> such as&#160;<code>@MockEndpoints</code>.</li><li>To turn on logging exhausted message body with the message history you can configure this easily on the CamelContext level with&#160;<code>setLogExhaustedMessageBody</code></li></ul><p>Fixed these issues</p><ul><li>Fixed&#160;<a shape="rect" href=
 "bean.html">Bean</a> component to avoid ambiguous error for classes that extends generic interface and calling which could lead to falsly duplicate methods (due Java type erasure inserts bridge methods)&#160;</li><li>Fixed splitting using&#160;tarfile could cause OOME if splitting big files which was mistakenly loaded into memory. Now we work on the tar stream directly.</li><li>Fixed&#160;<a shape="rect" href="netty-http.html">Netty HTTP</a> and&#160;<a shape="rect" href="netty4-http.html">Netty4 HTTP</a> issue when not specifying a port number then port 80 would not be used but an error about port -1 is not allowed.</li><li>Fixed&#160;<a shape="rect" href="swagger-java.html">Swagger Java</a> when using property placeholders in&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> could cause invalid parameters to be included that was from the placeholder.</li><li>The&#160;<code>threads</code>&#160;EIP now lets&#160;<a shape="rect" href="error-handling-in-camel.html">Error handling
  in Camel</a>&#160;perform redeliveries if the thread pool would otherwise reject accepting the task. This allows the error handler to perform redeliveries to attempt to put the task on the thread pool queue, or eventually move the message to a dead letter queue etc.</li><li>Fixed&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> adding empty header if specifying a non required query parameter that has no default value assigned.</li><li>Fixed <a shape="rect" href="loop.html">doWhile</a> loop which could potentially loop forever.</li><li>Fixed a NPE in&#160;<a shape="rect" href="zookeeper.html">Zookeeper</a> consumer if no zookeeper node path was set</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module.</li></ul><h3 id="Camel2.18.0Release-New">New <a shape="rect" href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a></h3><h3 id="Camel2.18.0Release-New.1">New <a shape="rect" href="components.html">Components</a></h3>
 <ul><li>camel-cm-sms - For sending SMS messages using SM SMS Gateway</li><li>camel-servicenow - For cloud management with ServiceNow</li><li><a shape="rect" href="hystrix.html">camel-hystrix</a> - For implementing circuit breaker, timeouts, bulkheads, caching, etc.</li><li><a shape="rect" href="camel-zipkin.html">camel-zipkin</a> - For tracking Camel message flows/timings using <a shape="rect" class="external-link" href="http://zipkin.io/" rel="nofollow">zipkin</a></li></ul><h3 id="Camel2.18.0Release-NewDSL">New DSL</h3><ul><li><a shape="rect" href="hystrix-eip.html">hystrix</a> - Using Hystrix as circuit breaker. This requires having&#160;<code>camel-hsytrix</code> on the classpath.</li></ul><h3 id="Camel2.18.0Release-NewAnnotations">New Annotations</h3><h3 id="Camel2.18.0Release-NewDataFormats">New <a shape="rect" href="data-format.html">Data Formats</a></h3><h3 id="Camel2.18.0Release-New.2">New <a shape="rect" href="languages.html">Languages</a></h3><h3 id="Camel2.18.0Release-New
 .3">New <a shape="rect" href="examples.html">Examples</a></h3><h3 id="Camel2.18.0Release-New.4">New <a shape="rect" href="tutorials.html">Tutorials</a></h3><h2 id="Camel2.18.0Release-APIbreaking">API breaking</h2><h2 id="Camel2.18.0Release-KnownIssues">Known Issues</h2><ul><li>camel-guice cannot install in Karaf/ServiceMix</li></ul><h2 id="Camel2.18.0Release-Importantchangestoconsiderwhenupgrading">Important changes to consider when upgrading</h2><ul><li><strong>Java 1.8 is now required.</strong></li><li>karaf 2.4.x is no longer supported</li><li>spring 4.0 is no longer supported</li><li>removed camel-test-spring40 module</li><li>spring 3.x is no longer supported<br clear="none">(only spring-dm using spring 3.2.x as part of camel-spring in osgi/karaf is still in use - but spring-dm is deprecated and we recommend using blueprint)</li><li>Spring-DM for OSGi moved out of camel-spring into a separate camel-spring-dm module. If using Spring XML with Spring-DM then you need to install cam
 el-spring-dm feature in Karaf/ServiceMix.</li><li>The deprecated <code>@LazyLoadTypeConverter</code> has been removed from all&#160;<a shape="rect" href="camel-test.html">Camel Test</a> modules</li><li>camel-gae has been removed (was not working anyway)</li><li>The access in the&#160;<a shape="rect" href="rest-dsl.html">Rest DSL</a> has been deprecated and no longer in use - its not part of swagger specification anymore.</li><li>Removed the deprecated maven archetypes for SOAP WS using CXF with OSGi Blueprint<br clear="none"><br clear="none"><br clear="none"></li></ul><h2 id="Camel2.18.0Release-GettingtheDistributions">Getting the Distributions</h2><h3 id="Camel2.18.0Release-BinaryDistributions">Binary Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP
  Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Windows Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip">apache-camel-x.y.x.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.zip.asc">apache-camel-x.y.x.zip.asc</a></p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Unix/Linux/Cygwin Distribution</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz">apache-camel-x.y.x.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.or
 g/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x.tar.gz.asc">apache-camel-x.y.x.tar.gz.asc</a></p></td></tr></tbody></table></div><div class="confluence-information-macro confluence-information-macro-information"><p class="title">The above URLs use redirection</p><span class="aui-icon aui-icon-small aui-iconfont-info confluence-information-macro-icon"></span><div class="confluence-information-macro-body"><p>The above URLs use the Apache Mirror system to redirect you to a suitable mirror for your download. Some users have experienced issues with some versions of browsers (e.g. some Safari browsers). If the download doesn't seem to work for you from the above URL then try using <a shape="rect" class="external-link" href="http://www.mozilla.com/en-US/firefox/" rel="nofollow">FireFox</a></p></div></div><h3 id="Camel2.18.0Release-SourceDistributions">Source Distributions</h3><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceT
 h"><p>Description</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Download Link</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>PGP Signature file of download</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Windows</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip">apache-camel-x.y.x-src.zip</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.zip.asc">apache-camel-x.y.x-src.zip.asc</a></p></td></tr></tbody></table></div><div class="table-wrap"><table class="confluenceTable"><tbody><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>Source for Unix/Linux/Cygwin</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link
 " href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz">apache-camel-x.y.x-src.tar.gz</a></p></td><td colspan="1" rowspan="1" class="confluenceTd"><p><a shape="rect" class="external-link" href="http://www.apache.org/dist/camel/apache-camel/x.y.x/apache-camel-x.y.x-src.tar.gz.asc">apache-camel-x.y.x-src.tar.gz.asc</a></p></td></tr></tbody></table></div><h3 id="Camel2.18.0Release-GettingtheBinariesusingMaven2">Getting the Binaries using Maven 2</h3><p>To use this release in your maven project, the proper dependency configuration that you should use in your <a shape="rect" class="external-link" href="http://maven.apache.org/guides/introduction/introduction-to-the-pom.html">Maven POM</a> is:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
 <script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
   &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
   &lt;artifactId&gt;camel-core&lt;/artifactId&gt;

Added: websites/production/camel/content/hystrix-eip.html
==============================================================================
--- websites/production/camel/content/hystrix-eip.html (added)
+++ websites/production/camel/content/hystrix-eip.html Tue Apr 19 13:19:44 2016
@@ -0,0 +1,233 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!--
+
+    Licensed to the Apache Software Foundation (ASF) under one or more
+    contributor license agreements.  See the NOTICE file distributed with
+    this work for additional information regarding copyright ownership.
+    The ASF licenses this file to You under the Apache License, Version 2.0
+    (the "License"); you may not use this file except in compliance with
+    the License.  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<html>
+<head>
+    <link href="//camel.apache.org/styles/site.css" rel="stylesheet" type="text/css">
+    <link href="//camel.apache.org/styles/type-settings.css" rel="stylesheet" type="text/css">
+    <script src="//camel.apache.org/styles/prototype.js" type="text/javascript"></script>
+    <script src="//camel.apache.org/styles/rico.js" type="text/javascript"></script>    
+    <script src="//camel.apache.org/styles/site.js" type="text/javascript"></script>
+
+    <meta http-equiv="Content-type" content="text/html;charset=UTF-8">
+
+    <style type="text/css">
+      .maincontent { overflow:hidden; }
+    </style>
+    <!--[if IE]>
+    <style type="text/css">
+      .maincontent { width:100%; }
+    </style>
+    <![endif]-->
+
+
+  <link href='//camel.apache.org/styles/highlighter/styles/shCoreCamel.css' rel='stylesheet' type='text/css' />
+  <link href='//camel.apache.org/styles/highlighter/styles/shThemeCamel.css' rel='stylesheet' type='text/css' />
+  <script src='//camel.apache.org/styles/highlighter/scripts/shCore.js' type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushJava.js' type='text/javascript'></script>
+  <script src='//camel.apache.org/styles/highlighter/scripts/shBrushXml.js' type='text/javascript'></script>
+  
+  <script type="text/javascript">
+  SyntaxHighlighter.defaults['toolbar'] = false;
+  SyntaxHighlighter.all();
+  </script>
+
+    <title>
+    Apache Camel: Hystrix EIP
+    </title>
+</head>
+<body>
+<div class="white_box">
+<div class="header">
+  <div class="header_l">
+    <div class="header_r">
+    </div>
+  </div>
+</div>
+<div class="content">
+  <div class="content_l">
+    <div class="content_r">
+      <div>
+          <!-- Banner -->
+<div id="banner-content"><div id="asf_logo">
+	<div id="activemq_logo" style="height:108px; background:transparent url(banner.data/apache-camel-7.png) no-repeat scroll left top;">
+            <a shape="rect" style="float:left; width:310px;display:block;text-indent:-5000px;text-decoration:none;line-height:140px; margin-top:20px; margin-left:18px;" href="http://camel.apache.org/">Camel</a>
+            <a shape="rect" style="float:right; width:180px;display:block;text-indent:-5000px;text-decoration:none;line-height:80px; margin-top:45px; margin-right:10px;" href="http://www.apache.org">Apache</a>
+	</div>
+</div></div>
+          <!-- Banner -->
+        <div class="top_red_bar">
+          <div id="site-breadcrumbs">
+                <!-- Breadcrumbs -->
+<a href="index.html">Apache Camel</a>&nbsp;&gt;&nbsp;<a href="documentation.html">Documentation</a>&nbsp;&gt;&nbsp;<a href="enterprise-integration-patterns.html">Enterprise Integration Patterns</a>&nbsp;&gt;&nbsp;<a href="hystrix-eip.html">Hystrix EIP</a>
+          </div>
+          <!-- Quicklinks -->
+<div id="site-quicklinks"><p><a shape="rect" href="download.html">Download</a> | <a shape="rect" href="javadoc.html">JavaDoc</a> | <a shape="rect" href="source.html">Source</a> | <a shape="rect" href="discussion-forums.html">Forums</a> | <a shape="rect" href="support.html">Support</a></p></div>
+          <!-- Quicklinks -->
+        </div>
+
+	<table border="0">
+	<tbody>
+        <tr>
+        <td valign="top" width="100%">
+<div class="wiki-content maincontent"><h2 id="HystrixEIP-HystrixEIP">Hystrix EIP</h2><p><strong>Available as of Camel 2.18</strong></p><p>The hystrix EIP provides integration with Netflix <a shape="rect" class="external-link" href="https://github.com/Netflix/Hystrix" rel="nofollow">Hystrix</a>&#160;to be used as circuit breaker in the Camel routes. Hystrix is a latency and fault tolerance library designed to isolate points of access to remote systems, services and 3rd party libraries, stop cascading failure and enable resilience in complex distributed systems where failure is inevitable.</p><p>Maven users will need to add the following dependency to their pom.xml for this EIP:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;dependency&gt;
+    &lt;groupId&gt;org.apache.camel&lt;/groupId&gt;
+    &lt;artifactId&gt;camel-hystrix&lt;/artifactId&gt;
+    &lt;version&gt;x.x.x&lt;/version&gt;&lt;!-- use the same version as your Camel core version --&gt;
+&lt;/dependency&gt;
+]]></script>
+</div></div><h3 id="HystrixEIP-ConfigurationOptions">Configuration Options</h3><p>The EIP supports the following options. The default values are coming from Hystrix itself.</p><div class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1" rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>commandKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>node id</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to identify the hystrix command instance being used by the EIP to correlate statistics, circuit-breaker, properties, etc. By default this will be derived from the node id.</p></td></tr><tr><td colspan="1" ro
 wspan="1" class="confluenceTd"><p>threadPoolKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to define which thread-pool this command should run in. By default this is using the same key as the command key.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>cacheKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>null</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Expression</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the cache key to use from the given expression.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>initializeRequestContext</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>When true, Camel w
 ill initialize a HystrixRequestContext during producer startup and use it for request scoped caching and request scoped logging.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>corePoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the core thread-pool size. This is the maximum number of HystrixCommands that can execute concurrently.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>keepAliveTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the keep-alive time, in minutes.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>maxQueueSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>-1</p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the maximum queue size of the BlockingQueue implementation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueSizeRejectionThreshold</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the queue size rejection threshold &#8212; an artificial maximum queue size at which rejections will occur even if maxQueueSize has not been reached.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>threadPoolMetricsRollingStatisticalWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property set
 s the duration of the statistical rolling window, in milliseconds. This is how long metrics are kept for the thread pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>threadPoolMetricsRollingStatisticalWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the number of buckets the rolling statistical window is divided into.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>circuitBreakerEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property determines whether a circuit breaker will be used to track health and to short-circuit requests if it trips.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>c
 ircuitBreakerErrorThresholdPercentage</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>50</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the error percentage at or above which the circuit should trip open and start short-circuiting requests to fallback logic.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>circuitBreakerForceClosed</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property, if true, forces the circuit breaker into a closed state in which it will allow requests regardless of the error percentage.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>circuitBreakerForceOpen</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>false</p></td><td colspan="1" rowspan="1" cla
 ss="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property, if true, forces the circuit breaker into an open (tripped) state in which it will reject all requests.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>circuitBreakerRequestVolumeThreshold</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>20</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the minimum number of requests in a rolling window that will trip the circuit.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>circuitBreakerSleepWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>5000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the amount of time, after tripping the circuit, to reject requests before 
 allowing attempts again to determine if the circuit should again be closed.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationSemaphoreMaxConcurrentRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the maximum number of requests allowed to a HystrixCommand.run() method when you are using ExecutionIsolationStrategy.SEMAPHORE.</p><p>If this maximum concurrent limit is hit then subsequent requests will be rejected.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>THREAD</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates which isolation strategy HystrixCommand.run() executes with, 
 one of the following two choices:</p><ul><li><p>THREAD &#8212; it executes on a separate thread and concurrent requests are limited by the number of threads in the thread-pool</p></li><li><p>SEMAPHORE &#8212; it executes on the calling thread and concurrent requests are limited by the semaphore count</p></li></ul></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationThreadInterruptOnTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates whether the HystrixCommand.run() execution should be interrupted when a timeout occurs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>executionTimeoutInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1"
  class="confluenceTd"><p>This property sets the time in milliseconds after which the caller will observe a timeout and walk away from the command execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>executionTimeoutEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates whether the HystrixCommand.run() execution should have a timeout.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>fallbackIsolationSemaphoreMaxConcurrentRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the maximum number of requests a HystrixCommand.getFallback() method is allowed to make from the calling thread.</p></td></tr><tr><td col
 span="1" rowspan="1" class="confluenceTd"><p>fallbackEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property determines whether a call to HystrixCommand.getFallback() will be attempted when failure or rejection occurs.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsHealthSnapshotIntervalInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>500</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the time to wait, in milliseconds, between allowing health snapshots to be taken that calculate success and error percentages and affect circuit breaker status.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingPercentileBucketSize</p></td><td colspan="1" rowspa
 n="1" class="confluenceTd"><p>100</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the maximum number of execution times that are kept per bucket. If more executions occur during the time they will wrap around and start over-writing at the beginning of the bucket.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingPercentileEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates whether execution latencies should be tracked and calculated as percentiles. If they are disabled, all summary statistics (mean, percentiles) are returned as -1.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingPercentileWindowInMilliseconds</p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>60000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the duration of the rolling window in which execution times are kept to allow for percentile calculations, in milliseconds.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingPercentileWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>6</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the number of buckets the rollingPercentile window will be divided into.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingStatisticalWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Th
 e following properties are related to capturing metrics from HystrixCommand and HystrixObservableCommand execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingStatisticalWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the number of buckets the rolling statistical window is divided into.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>requestCacheEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates whether HystrixCommand.getCacheKey() should be used with HystrixRequestCache to provide de-duplication functionality via request-scoped caching.</p></td></tr><tr><td colspan="1" rowspan="
 1" class="confluenceTd"><p>requestLogEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates whether HystrixCommand execution and events should be logged to HystrixRequestLog.</p></td></tr></tbody></table></div><p>&#160;</p><h3 id="HystrixEIP-Example">Example</h3><p>Below is an example route that with Hystrix endpoint that protects agains slow operation and fallbacks to the inlined fallback route. By default the timeout request is just 1000 millis (1 sec) so the http endpoint has to be fairly quick to succeed.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+    .hystrix()
+        .to(&quot;http://fooservice.com/slow&quot;)
+    .fallback()
+        .transform().constant(&quot;Fallback message&quot;)
+    .end()
+    .to(&quot;mock:result&quot;);]]></script>
+</div></div><p>And in XML DSL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+  &lt;route&gt;
+    &lt;from uri=&quot;direct:start&quot;/&gt;
+    &lt;hystrix&gt;
+      &lt;to uri=&quot;http://fooservice.com/slow&quot;/&gt;
+      &lt;fallback&gt;
+        &lt;transform&gt;
+          &lt;constant&gt;Fallback message&lt;/constant&gt;
+        &lt;/transform&gt;
+      &lt;/fallback&gt;
+    &lt;/hystrix&gt;
+    &lt;to uri=&quot;mock:result&quot;/&gt;
+  &lt;/route&gt;
+&lt;/camelContext&gt;]]></script>
+</div></div><p>&#160;</p><h3 id="HystrixEIP-ConfiguringHystrixExample">Configuring Hystrix Example</h3><p>Hystrix has many options as listed in the table above. For example to set a higher timeout to 5 seconds, and also let the circuit breaker wait 10 seconds before attempting a request again when the state was tripped to be open.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
+    .hystrix()
+        .configure()
+             .executionTimeoutInMilliseconds(5000).circuitBreakerSleepWindowInMilliseconds(10000)
+        .end()
+        .to(&quot;http://fooservice.com/slow&quot;)
+    .fallback()
+        .transform().constant(&quot;Fallback message&quot;)
+    .end()
+    .to(&quot;mock:result&quot;);]]></script>
+</div></div><p>&#160;</p><p>And in XML DSL:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+  &lt;route&gt;
+    &lt;from uri=&quot;direct:start&quot;/&gt;
+    &lt;hystrix&gt;
+      &lt;hystrixConfiguration executionTimeoutInMilliseconds=&quot;5000&quot; circuitBreakerSleepWindowInMilliseconds=&quot;10000&quot;/&gt;
+      &lt;to uri=&quot;http://fooservice.com/slow&quot;/&gt;
+      &lt;fallback&gt;
+        &lt;transform&gt;
+          &lt;constant&gt;Fallback message&lt;/constant&gt;
+        &lt;/transform&gt;
+      &lt;/fallback&gt;
+    &lt;/hystrix&gt;
+    &lt;to uri=&quot;mock:result&quot;/&gt;
+  &lt;/route&gt;
+&lt;/camelContext&gt;]]></script>
+</div></div><p>You can also configure hystrix globally and then refer to that configuration:</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+<script class="brush: xml; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[&lt;camelContext xmlns=&quot;http://camel.apache.org/schema/spring&quot;&gt;
+ 
+  &lt;!-- a shared config which you can refer to from all your hystrix EIPs --&gt;
+  &lt;hystrixConfiguration id=&quot;sharedConfig&quot; executionTimeoutInMilliseconds=&quot;5000&quot; circuitBreakerSleepWindowInMilliseconds=&quot;10000&quot;/&gt;
+ 
+  &lt;route&gt;
+    &lt;from uri=&quot;direct:start&quot;/&gt;
+    &lt;hystrix hystrixConfigurationRef=&quot;sharedConfig&quot;&gt;
+      &lt;to uri=&quot;http://fooservice.com/slow&quot;/&gt;
+      &lt;fallback&gt;
+        &lt;transform&gt;
+          &lt;constant&gt;Fallback message&lt;/constant&gt;
+        &lt;/transform&gt;
+      &lt;/fallback&gt;
+    &lt;/hystrix&gt;
+    &lt;to uri=&quot;mock:result&quot;/&gt;
+  &lt;/route&gt;
+&lt;/camelContext&gt;]]></script>
+</div></div></div>
+        </td>
+        <td valign="top">
+          <div class="navigation">
+            <div class="navigation_top">
+                <!-- NavigationBar -->
+<div class="navigation_bottom" id="navigation_bottom"><h3 id="Navigation-Overview"><a shape="rect" href="overview.html">Overview</a></h3><ul class="alternate"><li><a shape="rect" href="index.html">Home</a></li><li><a shape="rect" href="download.html">Download</a></li><li><a shape="rect" href="getting-started.html">Getting Started</a></li><li><a shape="rect" href="faq.html">FAQ</a></li></ul><h3 id="Navigation-Documentation"><a shape="rect" href="documentation.html">Documentation</a></h3><ul class="alternate"><li><a shape="rect" href="user-guide.html">User Guide</a></li><li><a shape="rect" href="manual.html">Manual</a></li><li><a shape="rect" href="books.html">Books</a></li><li><a shape="rect" href="tutorials.html">Tutorials</a></li><li><a shape="rect" href="examples.html">Examples</a></li><li><a shape="rect" href="cookbook.html">Cookbook</a></li><li><a shape="rect" href="architecture.html">Architecture</a></li><li><a shape="rect" href="enterprise-integration-patterns.html">Enterprise
  Integration Patterns</a></li><li><a shape="rect" href="dsl.html">DSL</a></li><li><a shape="rect" href="components.html">Components</a></li><li><a shape="rect" href="data-format.html">Data Format</a></li><li><a shape="rect" href="languages.html">Languages</a></li><li><a shape="rect" href="security.html">Security</a></li><li><a shape="rect" href="security-advisories.html">Security Advisories</a></li></ul><h3 id="Navigation-Search">Search</h3><form enctype="application/x-www-form-urlencoded" method="get" id="cse-search-box" action="http://www.google.com/cse">
+  <div>
+    <input type="hidden" name="cx" value="007878419884033443453:m5nhvy4hmyq">
+    <input type="hidden" name="ie" value="UTF-8">
+    <input type="text" name="q" size="21">
+    <input type="submit" name="sa" value="Search">
+  </div>
+</form>
+<script type="text/javascript" src="http://www.google.com/coop/cse/brand?form=cse-search-box&amp;lang=en"></script><h3 id="Navigation-Community"><a shape="rect" href="community.html">Community</a></h3><ul class="alternate"><li><a shape="rect" href="support.html">Support</a></li><li><a shape="rect" href="contributing.html">Contributing</a></li><li><a shape="rect" href="discussion-forums.html">Discussion Forums</a></li><li><a shape="rect" href="mailing-lists.html">Mailing Lists</a></li><li><a shape="rect" href="user-stories.html">User Stories</a></li><li><a shape="rect" href="news.html">News</a></li><li><a shape="rect" href="articles.html">Articles</a></li><li><a shape="rect" href="site.html">Site</a></li><li><a shape="rect" href="team.html">Team</a></li><li><a shape="rect" class="external-link" href="http://camel-extra.googlecode.com/" rel="nofollow">Camel Extra</a></li></ul><h3 id="Navigation-Developers"><a shape="rect" href="developers.html">Developers</a></h3><ul class="alternate"
 ><li><a shape="rect" href="developers.html">Developer Guide</a></li><li><a shape="rect" href="source.html">Source</a></li><li><a shape="rect" href="building.html">Building</a></li><li><a shape="rect" href="javadoc.html">JavaDoc</a></li><li><a shape="rect" href="irc-room.html">IRC Room</a></li></ul><h3 id="Navigation-ApacheSoftwareFoundation">Apache Software Foundation</h3><ul class="alternate"><li><a shape="rect" class="external-link" href="http://www.apache.org/licenses/">License</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/foundation/thanks.html">Thanks</a></li><li><a shape="rect" class="external-link" href="http://www.apache.org/security/">Security</a></li></ul></div>
+                <!-- NavigationBar -->
+            </div>
+          </div>
+        </td>
+        </tr>
+	</tbody>
+        </table>
+
+
+        <div class="bottom_red_bar"></div>
+      </div>
+    </div>
+  </div>
+</div>
+<div class="black_box">
+<div class="footer">
+  <div class="footer_l">
+    <div class="footer_r">
+      <div>
+        <a href="$base/privacy-policy.html">Privacy Policy</a> -
+        (<a href="https://cwiki.apache.org/confluence/pages/editpage.action?pageId=62693209">edit page</a>)
+   	 (<a href="https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=62693209&amp;showComments=true&amp;showCommentArea=true#addcomment">add comment</a>)
+      </div>
+    </div>
+  </div>
+</div>
+</div>
+</div>
+<div class="design_attribution">
+&copy; 2004-2015 The Apache Software Foundation.
+<br>          
+Apache Camel, Camel, Apache, the Apache feather logo, and the Apache Camel project logo are trademarks of The Apache Software Foundation.  All other marks mentioned may be trademarks or registered trademarks of their respective owners.
+<br>
+<a href="http://hiramchirino.com">Graphic Design By Hiram</a>
+</div>
+
+<!-- Camel committers that would like access to the Analytics, send a note to private@camel.apache.org -->
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-25976253-1']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
+
+</body>
+</html>
+
+