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 — 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 — 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 
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 — 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 — 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 — 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("headerExpression", ExpressionBuilder.headerExpression("key"));
- return context;
-}
-
-@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
@@ -123,7 +115,7 @@ protected RouteBuilder createRouteBuilde
.to("mock:result");
from("direct:start")
- .to("hystrix:testKey?runEndpoint=direct:run&fallbackEndpoint=direct:fallback&cacheKeyExpression=#headerExpression&executionTimeoutInMilliseconds=100");
+ .to("hystrix:testKey?runEndpoint=direct:run&fallbackEndpoint=direct:fallback&cacheKey=header.key&executionTimeoutInMilliseconds=100");
}
};
}