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/14 12:18:52 UTC

svn commit: r985643 - in /websites/production/camel/content: cache/main.pageCache hystrix.html

Author: buildbot
Date: Thu Apr 14 10:18:52 2016
New Revision: 985643

Log:
Production update by buildbot for camel

Modified:
    websites/production/camel/content/cache/main.pageCache
    websites/production/camel/content/hystrix.html

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

Modified: websites/production/camel/content/hystrix.html
==============================================================================
--- websites/production/camel/content/hystrix.html (original)
+++ websites/production/camel/content/hystrix.html Thu Apr 14 10:18:52 2016
@@ -95,16 +95,8 @@
 </div></div><h3 id="Hystrix-URIformat">URI format</h3><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[hystrix::groupKey[?options]
 ]]></script>
-</div></div><h3 id="Hystrix-URIOptions">URI Options</h3><p>All URI options can be overriden through message headers. Most of 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>CamelHystrixCommand</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to identify a HystrixCommand instance for statistics, circuit-breaker, properties, etc. By default this will be derived from the instance class name.</p></td></tr><tr><td colspan="1" rowspan="
 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 derived from the HystrixCommandGroupKey.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>cacheKeyExpression</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>Camel expression to use for generating cache key.</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 will
  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>runEndpoint</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><strong>Mandatory:</strong> Camel Endpoint url or id from the same Camel Context that should be executed from Hystrix.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>fallbackEndpoint</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>Camel Endpoint url or id from the same Camel Context that should be executed from Hystrix as fallback when runEndpoint fails.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>corePo
 olSize</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 sets 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>threadPoolMet
 ricsRollingStatisticalWindowBuckets</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>circuitBreakerErrorThresholdPercentage</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" class="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 request
 s.</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><t
 d 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 &#8
 212; 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" cl
 ass="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 colspan="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><t
 d 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" rowspan="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 e
 xecution 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" class="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 win
 dow 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>The following properties are related to capturing metrics from HystrixCommand and HystrixObservableCommand execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingStati
 sticalWindowBuckets</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" ro
 wspan="1" class="confluenceTd"><p>This property indicates whether HystrixCommand execution and events should be logged to HystrixRequestLog.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">metrics</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd">Boolean</td><td colspan="1" rowspan="1" class="confluenceTd">Whether to include a number of headers with metrics details of the circuit breaker utilization</td></tr></tbody></table></div><h3 id="Hystrix-InMessageHeaders">In Message Headers</h3><p>Used to override URI options per message basis.</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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixClearCacheFirst</p></td><td col
 span="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestContex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>HystrixRequestContext</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixGroupKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenc
 eTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRunEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixFallbackEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="
 1" rowspan="1" class="confluenceTd"><p>CamelHystrixCorePoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixKeepAliveTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMaxQueueSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixQueueSizeRejectionThreshold</p></td><td colspan="1" rowspan=
 "1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsRollingStatisticalWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolRollingNumberStatisticalWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd">
 <p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerErrorThresholdPercentage</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerForceClosed</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerForceOpen</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluen
 ceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerRequestVolumeThreshold</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerSleepWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionIsolationSemaphoreMaxConcurrentRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and 
 default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionIsolationStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionIsolationThreadInterruptOnTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionTimeoutInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section a
 bove.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionTimeoutEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixFallbackIsolationSemaphoreMaxConcurrentRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixFallbackEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confl
 uenceTd"><p>CamelHystrixMetricsHealthSnapshotIntervalInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileBucketSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPe
 rcentileWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingStatisticalWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingStatisticalWindowBuckets
 </p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestCacheEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestLogEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr></tbody></table></div><h3 id="Hystrix-OutMessageHeaders">Out Message Headers</h3><p>Mainly to provide metrics information. These headers re only included if you enable metrics=true
  option.</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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestContex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestContex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The default CamelHystrixRequestContex created during producer startup.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsTotalRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Number of requests during rolling window (failure + success + timeout + threadPoolRejected + semaphoreRejected).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd">
 <p>CamelHystrixCommandMetricsErrorCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Number of failed requests during rolling window (failure + timeout + threadPoolRejected + semaphoreRejected).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsErrorPercentage</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>errorCount / totalCount * 100.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsCurrentConcurrentExecutionCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Current number of concurrent executions of HystrixCommand#run().</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsExecutionTimeMean</p></td><td colspan="1" row
 span="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The mean (average) execution time (in milliseconds) for the HystrixCommand#run().</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsRollingMaxConcurrentExecutions</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Get the max value of values in all buckets for the given HystrixRollingNumberEvent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsTotalTimeMean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The mean (average) execution time (in milliseconds) for HystrixCommand#execute().</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentActiveCount</p></td><td colspan="1" rowspan="1" class="confluen
 ceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the approximate number of threads that are actively executing tasks.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCumulativeCountThreadsExecuted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Cumulative count of number of threads executed since the start of the application.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentCompletedTaskCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the approximate total number of tasks that have completed execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentCorePoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p
 ></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the core number of threads.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentLargestPoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the largest number of threads that have ever simultaneously been in the pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentMaximumPoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the maximum allowed number of threads.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentPoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the current number of threads in t
 he pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentQueueSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Current size of BlockingQueue used by the thread-pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentTaskCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the approximate total number of tasks that have ever been scheduled for execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsRollingCountThreadsExecuted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Rolling count of number of threads executed during rolling statistical window.</p></td></tr><tr><td colspan="1" 
 rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsRollingMaxActiveThreads</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Rolling max number of active threads during rolling statistical window.</p></td></tr></tbody></table></div><h3 id="Hystrix-Example">Example</h3><p>Below is an example route that with Hystrix endpoint that protects agains slow operation and fallbacks to a different endpoint.</p><div class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="Hystrix-URIOptions">URI Options</h3><p>All URI options can be overriden through message headers. Most of 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>CamelHystrixCommand</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Used to identify a HystrixCommand instance for statistics, circuit-breaker, properties, etc. By default this will be derived from the instance class name.</p></td></tr><tr><td colspan="1" rowspan="
 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 derived from the HystrixCommandGroupKey.</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>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Specifies the cache key to use. Uses the simple language as the expression. But you can refer to an existing expression using # lookup.</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 will 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>runEndpoint</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><strong>Mandatory:</strong> Camel Endpoint url or id from the same Camel Context that should be executed from Hystrix.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>fallbackEndpoint</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>Camel Endpoint url or id from the same Camel Context that should be executed from Hystrix as fallback when runEndpoint fails.</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 p
 roperty 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 sets 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>circuitBreakerErrorThresholdPercentage</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" class="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="conf
 luenceTd"><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 fro
 m 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 colspan="1" rowspan="1" class="confluenceTd"><p>fallbackEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>true</p></t
 d><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" rowspan="1" class="confluenceTd"><p>100</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspa
 n="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" class="confluenceTd"><p>60000</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" cl
 ass="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>The 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><tr><td colspan="1" rowspan="1" class="confluenceTd">metricsEnabled</td><td colspan="1" rowspan="1" class="confluenceTd">false</td><td colspan="1" rowspan="1" class="confluenceTd">Boolean</td><td colspan="1" rowspan="1" class="confluenceTd">Whether to include a number of headers with metrics details of the circuit breaker utilization</td></tr></tbody></table></div><h3 id="Hystrix-InMessageHeaders">In Message Headers</h3><p>Used to override URI options per message basis.</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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" 
 rowspan="1" class="confluenceTd"><p>CamelHystrixClearCacheFirst</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestContex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>HystrixRequestContext</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixGroupKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandKey</p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolKey</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRunEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixFallbackEndpoint</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default 
 value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCorePoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixKeepAliveTime</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMaxQueueSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluence
 Td"><p>CamelHystrixQueueSizeRejectionThreshold</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsRollingStatisticalWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolRollingNumberStatisticalWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrix
 CircuitBreakerEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerErrorThresholdPercentage</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerForceClosed</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerForceOpen</p></td><td colspan="1" rowspan="1" clas
 s="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerRequestVolumeThreshold</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCircuitBreakerSleepWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionIsolationSemaphoreMaxConcurrentRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integ
 er</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionIsolationStrategy</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionIsolationThreadInterruptOnTimeout</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionTimeoutInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confl
 uenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixExecutionTimeoutEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixFallbackIsolationSemaphoreMaxConcurrentRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixFallbackEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI o
 ptions section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsHealthSnapshotIntervalInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileBucketSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><
 td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingPercentileWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixMetricsRollingStatisticalWindowInMilliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan
 ="1" class="confluenceTd"><p>CamelHystrixMetricsRollingStatisticalWindowBuckets</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestCacheEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestLogEnabled</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Description and default value provided in the URI options section above.</p></td></tr></tbody></table></div><h3 id="Hystrix-OutMessageHeaders">Out Message Headers</h3><p>Mainly to provide
  metrics information. These headers re only included if you enable metrics=true option.</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>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestContex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixRequestContex</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The default CamelHystrixRequestContex created during producer startup.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsTotalRequests</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Number of requests during rolling window (failure + success + timeout + threadPoolRejected + semapho
 reRejected).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsErrorCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Number of failed requests during rolling window (failure + timeout + threadPoolRejected + semaphoreRejected).</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsErrorPercentage</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>errorCount / totalCount * 100.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsCurrentConcurrentExecutionCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Current number of concurrent executions of HystrixCommand#run().</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenc
 eTd"><p>CamelHystrixCommandMetricsExecutionTimeMean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The mean (average) execution time (in milliseconds) for the HystrixCommand#run().</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsRollingMaxConcurrentExecutions</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Get the max value of values in all buckets for the given HystrixRollingNumberEvent.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixCommandMetricsTotalTimeMean</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>The mean (average) execution time (in milliseconds) for HystrixCommand#execute().</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPo
 olMetricsCurrentActiveCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the approximate number of threads that are actively executing tasks.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCumulativeCountThreadsExecuted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Cumulative count of number of threads executed since the start of the application.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentCompletedTaskCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the approximate total number of tasks that have completed execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrent
 CorePoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the core number of threads.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentLargestPoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the largest number of threads that have ever simultaneously been in the pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentMaximumPoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the maximum allowed number of threads.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentPoolSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1"
  rowspan="1" class="confluenceTd"><p>Returns the current number of threads in the pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentQueueSize</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>int</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Current size of BlockingQueue used by the thread-pool.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsCurrentTaskCount</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Returns the approximate total number of tasks that have ever been scheduled for execution.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsRollingCountThreadsExecuted</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Rolling count of number of thread
 s executed during rolling statistical window.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrixThreadPoolMetricsRollingMaxActiveThreads</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>long</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>Rolling max number of active threads during rolling statistical window.</p></td></tr></tbody></table></div><h3 id="Hystrix-Example">Example</h3><p>Below is an example route that with Hystrix endpoint that protects agains slow operation and fallbacks to a different endpoint.</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[@Override
-protected CamelContext createCamelContext() throws Exception {
-    SimpleRegistry registry = new SimpleRegistry();
-    CamelContext context = new DefaultCamelContext(registry);
-    registry.put(&quot;headerExpression&quot;, ExpressionBuilder.headerExpression(&quot;key&quot;));
-    return context;
-}
-
-@Override
 protected RouteBuilder createRouteBuilder() {
     return new RouteBuilder() {
 
@@ -123,7 +115,7 @@ protected RouteBuilder createRouteBuilde
                     .to(&quot;mock:result&quot;);
 
             from(&quot;direct:start&quot;)
-                    .to(&quot;hystrix:testKey?runEndpoint=direct:run&amp;fallbackEndpoint=direct:fallback&amp;cacheKeyExpression=#headerExpression&amp;executionTimeoutInMilliseconds=100&quot;);
+                    .to(&quot;hystrix:testKey?runEndpoint=direct:run&amp;fallbackEndpoint=direct:fallback&amp;cacheKey=header.key&amp;executionTimeoutInMilliseconds=100&quot;);
         }
     };
 }