camel-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From build...@apache.org
Subject svn commit: r986150 - in /websites/production/camel/content: cache/main.pageCache hystrix-eip.html
Date Wed, 20 Apr 2016 08:18:51 GMT
Author: buildbot
Date: Wed Apr 20 08:18:51 2016
New Revision: 986150

Log:
Production update by buildbot for camel

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

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

Modified: websites/production/camel/content/hystrix-eip.html
==============================================================================
--- websites/production/camel/content/hystrix-eip.html (original)
+++ websites/production/camel/content/hystrix-eip.html Wed Apr 20 08:18:51 2016
@@ -92,11 +92,11 @@
     <version>x.x.x</version><!-- use the same version
as your Camel core version -->
 </dependency>
 ]]></script>
-</div></div><h3 id="HystrixEIP-ConfigurationOptions">Configuration Options</h3><p>The
EIP supports the following options. The default values are coming from Hystrix itself.</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>groupKey</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>CamelHystrix</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Used to identify the hystrix command
instance being used by the EIP to correlate statistics, circuit-breaker, properties, etc.</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 using the same key as the group key.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>corePoolSize</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property sets the core thread-pool size.
This is the maximum number of HystrixCommands that can execute concurrently.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>keepAliveTime</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>1</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property sets
  the keep-alive time, in minutes.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>maxQueueSize</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>-1</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>This property sets the maximum queue size of the BlockingQueue
implementation.</p></td></tr><tr><td colspan="1" rowspan="1" class="confluenceTd"><p>queueSizeRejectionThreshold</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>5</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property sets the queue size rejection threshold
&#8212; an artificial maximum queue size at which rejections will occur even if maxQueueSize
has not been reached.</p></td></tr><tr><td colspan="1" rowspan="1"
class="confluenceTd"><p>threadPoolMetricsRollingStatisticalWindowInMilliseconds</p></td><td
colspan="1" rowspa
 n="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 propert
 y 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" clas
 s="confluenceTd"><p>Integer</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>This
property sets the amount of time, after tripping the circuit, to reject requests before allowing
attempts again to determine if the circuit should again be closed.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationSemaphoreMaxConcurrentRequests</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property sets the maximum number of requests
allowed to a HystrixCommand.run() method when you are using ExecutionIsolationStrategy.SEMAPHORE.</p><p>If
this maximum concurrent limit is hit then subsequent requests will be rejected.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationStrategy</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>THREAD</p></td><td
colspan="1" rowspan
 ="1" class="confluenceTd"><p>String</p></td><td colspan="1" rowspan="1"
class="confluenceTd"><p>This property indicates which isolation strategy HystrixCommand.run()
executes with, one of the following two choices:</p><ul><li><p>THREAD
&#8212; it executes on a separate thread and concurrent requests are limited by the number
of threads in the thread-pool</p></li><li><p>SEMAPHORE &#8212;
it executes on the calling thread and concurrent requests are limited by the semaphore count</p></li></ul></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationThreadInterruptOnTimeout</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property indicates whether the HystrixCommand.run()
execution should be interrupted when a timeout occurs.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionTimeoutIn
 Milliseconds</p></td><td colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>Integer</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This property sets the time in milliseconds
after which the caller will observe a timeout and walk away from the command execution.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionTimeoutEnabled</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property indicates whether the HystrixCommand.run()
execution should have a timeout.</p></td></tr><tr><td colspan="1"
rowspan="1" class="confluenceTd"><p>fallbackIsolationSemaphoreMaxConcurrentRequests</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1"
  class="confluenceTd"><p>This property sets the maximum number of requests a HystrixCommand.getFallback()
method is allowed to make from the calling thread.</p></td></tr><tr><td
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><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"
rowspan="1" class="confluenceTd"><p>This property sets the maximum number of execution
times that are kept per bucket. If more executions occur during the time they will wrap around
and start over-writing at the beginning of the bucket.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>metricsRollingPercentileEnabled</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property indicates whether execution latencies
should be tracked and calculated as percentiles. If they are disabled, all summary statistics
(mean, percen
 tiles) 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 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
col
 span="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>requestLogEnabled</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property indicates whether 
 HystrixCommand execution and events should be logged to HystrixRequestLog.</p></td></tr></tbody></table></div><p>&#160;</p><h3
id="HystrixEIP-Example">Example</h3><p>Below is an example route that with
Hystrix endpoint that protects agains slow operation and fallbacks to the inlined fallback
route. By default the timeout request is just 1000 millis (1 sec) so the http endpoint has
to be fairly quick to succeed.</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
+</div></div><h3 id="HystrixEIP-ConfigurationOptions">Configuration Options</h3><p>The
EIP supports the following options. The default values are coming from Hystrix itself.</p><div
class="table-wrap"><table class="confluenceTable"><tbody><tr><th colspan="1"
rowspan="1" class="confluenceTh"><p>Name</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Default Value</p></th><th colspan="1" rowspan="1"
class="confluenceTh"><p>Type</p></th><th colspan="1" rowspan="1" class="confluenceTh"><p>Description</p></th></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd">commandKey</td><td colspan="1" rowspan="1"
class="confluenceTd">Node id</td><td colspan="1" rowspan="1" class="confluenceTd">String</td><td
colspan="1" rowspan="1" class="confluenceTd">Used to identify the hystrix command. This
option cannot be configured but is locked down to be the node id to make the command unique.</td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>groupKey</p></td><td
colspan="1" ro
 wspan="1" class="confluenceTd"><p>CamelHystrix</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>String</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Used to identify the hystrix group being used
by the EIP to correlate statistics, circuit-breaker, properties, etc.</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 using the same key as the group key.</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 si
 ze. 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>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>circ
 uitBreakerForceClosed</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="confluenceTd"><p>executionIsolationSemaphoreMaxConcurrentRequests</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>10</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property sets the maximum number of requests
allowed t
 o a HystrixCommand.run() method when you are using ExecutionIsolationStrategy.SEMAPHORE.</p><p>If
this maximum concurrent limit is hit then subsequent requests will be rejected.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationStrategy</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>THREAD</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>String</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>This property indicates which isolation
strategy HystrixCommand.run() executes with, one of the following two choices:</p><ul><li><p>THREAD
&#8212; it executes on a separate thread and concurrent requests are limited by the number
of threads in the thread-pool</p></li><li><p>SEMAPHORE &#8212;
it executes on the calling thread and concurrent requests are limited by the semaphore count</p></li></ul></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionIsolationThreadInterruptOnTimeout</p></td><td
colspan=
 "1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property indicates whether the HystrixCommand.run()
execution should be interrupted when a timeout occurs.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionTimeoutInMilliseconds</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>1000</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Integer</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property sets the time in milliseconds after
which the caller will observe a timeout and walk away from the command execution.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>executionTimeoutEnabled</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>T
 his 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><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"
rowspan="1" class="confluenceTd"><p>This property sets the maximum number of execution
times that are kept per bucket. If more executions occur during the time they will wrap around
and start over-writing at the beginning of the bucket.</p></td></tr><tr><td
colspan="1" rowspan="1" class="confluenceTd"><p>metricsRolli
 ngPercentileEnabled</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 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" clas
 s="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>requestLogEnabled</p></td><td
colspan="1" rowspan="1" class="confluenceTd"><p>true</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>Boolean</p></td><td colspan="1"
rowspan="1" class="confluenceTd"><p>This property indicates whether HystrixCommand
execution and events should be logged to HystrixRequestLog.</p></td></tr></tbody></table></div><p>&#160;</p><h3
id="HystrixEIP-Example">Example</h3><p>Below is an example route that with
Hystrix endpoint that protects agains slow operation and fallbacks to the inlined fallback
route. By default the timeout request is just 1000 millis (1 sec) so the http endpoint has
to be fairly quick to succeed.</p><div class="code panel pdl" style="border-width:
1px;"><div class="codeContent panelContent pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
     .hystrix()
         .to(&quot;http://fooservice.com/slow&quot;)
-    .fallback()
+    .onFallback()
         .transform().constant(&quot;Fallback message&quot;)
     .end()
     .to(&quot;mock:result&quot;);]]></script>
@@ -106,11 +106,11 @@
     &lt;from uri=&quot;direct:start&quot;/&gt;
     &lt;hystrix&gt;
       &lt;to uri=&quot;http://fooservice.com/slow&quot;/&gt;
-      &lt;fallback&gt;
+      &lt;onFallback&gt;
         &lt;transform&gt;
           &lt;constant&gt;Fallback message&lt;/constant&gt;
         &lt;/transform&gt;
-      &lt;/fallback&gt;
+      &lt;/onFallback&gt;
     &lt;/hystrix&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
   &lt;/route&gt;
@@ -118,11 +118,11 @@
 </div></div><p>&#160;</p><h3 id="HystrixEIP-ConfiguringHystrixExample">Configuring
Hystrix Example</h3><p>Hystrix has many options as listed in the table above.
For example to set a higher timeout to 5 seconds, and also let the circuit breaker wait 10
seconds before attempting a request again when the state was tripped to be open.</p><div
class="code panel pdl" style="border-width: 1px;"><div class="codeContent panelContent
pdl">
 <script class="brush: java; gutter: false; theme: Default" type="syntaxhighlighter"><![CDATA[from(&quot;direct:start&quot;)
     .hystrix()
-        .configure()
+        .hystrixConfiguration()
              .executionTimeoutInMilliseconds(5000).circuitBreakerSleepWindowInMilliseconds(10000)
         .end()
         .to(&quot;http://fooservice.com/slow&quot;)
-    .fallback()
+    .onFallback()
         .transform().constant(&quot;Fallback message&quot;)
     .end()
     .to(&quot;mock:result&quot;);]]></script>
@@ -133,11 +133,11 @@
     &lt;hystrix&gt;
       &lt;hystrixConfiguration executionTimeoutInMilliseconds=&quot;5000&quot;
circuitBreakerSleepWindowInMilliseconds=&quot;10000&quot;/&gt;
       &lt;to uri=&quot;http://fooservice.com/slow&quot;/&gt;
-      &lt;fallback&gt;
+      &lt;onFallback&gt;
         &lt;transform&gt;
           &lt;constant&gt;Fallback message&lt;/constant&gt;
         &lt;/transform&gt;
-      &lt;/fallback&gt;
+      &lt;/onFallback&gt;
     &lt;/hystrix&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
   &lt;/route&gt;
@@ -152,11 +152,11 @@
     &lt;from uri=&quot;direct:start&quot;/&gt;
     &lt;hystrix hystrixConfigurationRef=&quot;sharedConfig&quot;&gt;
       &lt;to uri=&quot;http://fooservice.com/slow&quot;/&gt;
-      &lt;fallback&gt;
+      &lt;onFallback&gt;
         &lt;transform&gt;
           &lt;constant&gt;Fallback message&lt;/constant&gt;
         &lt;/transform&gt;
-      &lt;/fallback&gt;
+      &lt;/onFallback&gt;
     &lt;/hystrix&gt;
     &lt;to uri=&quot;mock:result&quot;/&gt;
   &lt;/route&gt;



Mime
View raw message