Class HystrixConfigurationProperties

  • All Implemented Interfaces:
    Closeable, AutoCloseable, org.apache.camel.spi.BootstrapCloseable

    @Configurer(bootstrap=true,
                extended=true)
    @Deprecated
    public class HystrixConfigurationProperties
    extends Object
    implements org.apache.camel.spi.BootstrapCloseable
    Deprecated.
    Global configuration for Hystrix EIP circuit breaker.
    • Method Detail

      • getGroupKey

        public String getGroupKey()
        Deprecated.
      • setGroupKey

        public void setGroupKey​(String groupKey)
        Deprecated.
        Sets the group key to use. The default value is CamelHystrix.
      • getThreadPoolKey

        public String getThreadPoolKey()
        Deprecated.
      • setThreadPoolKey

        public void setThreadPoolKey​(String threadPoolKey)
        Deprecated.
        Sets the thread pool key to use. Will by default use the same value as groupKey has been configured to use.
      • getCircuitBreakerEnabled

        public Boolean getCircuitBreakerEnabled()
        Deprecated.
      • setCircuitBreakerEnabled

        public void setCircuitBreakerEnabled​(Boolean circuitBreakerEnabled)
        Deprecated.
        Whether to use a HystrixCircuitBreaker or not. If false no circuit-breaker logic will be used and all requests permitted.

        This is similar in effect to circuitBreakerForceClosed() except that continues tracking metrics and knowing whether it should be open/closed, this property results in not even instantiating a circuit-breaker.

      • getCircuitBreakerErrorThresholdPercentage

        public Integer getCircuitBreakerErrorThresholdPercentage()
        Deprecated.
      • setCircuitBreakerErrorThresholdPercentage

        public void setCircuitBreakerErrorThresholdPercentage​(Integer circuitBreakerErrorThresholdPercentage)
        Deprecated.
        Error percentage threshold (as whole number such as 50) at which point the circuit breaker will trip open and reject requests.

        It will stay tripped for the duration defined in circuitBreakerSleepWindowInMilliseconds;

        The error percentage this is compared against comes from HystrixCommandMetrics.getHealthCounts().

      • getCircuitBreakerForceClosed

        public Boolean getCircuitBreakerForceClosed()
        Deprecated.
      • setCircuitBreakerForceClosed

        public void setCircuitBreakerForceClosed​(Boolean circuitBreakerForceClosed)
        Deprecated.
        If true the HystrixCircuitBreaker#allowRequest() will always return true to allow requests regardless of the error percentage from HystrixCommandMetrics.getHealthCounts().

        The circuitBreakerForceOpen() property takes precedence so if it set to true this property does nothing.

      • getCircuitBreakerForceOpen

        public Boolean getCircuitBreakerForceOpen()
        Deprecated.
      • setCircuitBreakerForceOpen

        public void setCircuitBreakerForceOpen​(Boolean circuitBreakerForceOpen)
        Deprecated.
        If true the HystrixCircuitBreaker.allowRequest() will always return false, causing the circuit to be open (tripped) and reject all requests.

        This property takes precedence over circuitBreakerForceClosed();

      • getCircuitBreakerRequestVolumeThreshold

        public Integer getCircuitBreakerRequestVolumeThreshold()
        Deprecated.
      • setCircuitBreakerRequestVolumeThreshold

        public void setCircuitBreakerRequestVolumeThreshold​(Integer circuitBreakerRequestVolumeThreshold)
        Deprecated.
        Minimum number of requests in the metricsRollingStatisticalWindowInMilliseconds() that must exist before the HystrixCircuitBreaker will trip.

        If below this number the circuit will not trip regardless of error percentage.

      • getCircuitBreakerSleepWindowInMilliseconds

        public Integer getCircuitBreakerSleepWindowInMilliseconds()
        Deprecated.
      • setCircuitBreakerSleepWindowInMilliseconds

        public void setCircuitBreakerSleepWindowInMilliseconds​(Integer circuitBreakerSleepWindowInMilliseconds)
        Deprecated.
        The time in milliseconds after a HystrixCircuitBreaker trips open that it should wait before trying requests again.
      • getExecutionIsolationSemaphoreMaxConcurrentRequests

        public Integer getExecutionIsolationSemaphoreMaxConcurrentRequests()
        Deprecated.
      • setExecutionIsolationSemaphoreMaxConcurrentRequests

        public void setExecutionIsolationSemaphoreMaxConcurrentRequests​(Integer executionIsolationSemaphoreMaxConcurrentRequests)
        Deprecated.
        Number of concurrent requests permitted to HystrixCommand.run(). Requests beyond the concurrent limit will be rejected.

        Applicable only when executionIsolationStrategy == SEMAPHORE.

      • getExecutionIsolationStrategy

        public String getExecutionIsolationStrategy()
        Deprecated.
      • setExecutionIsolationStrategy

        public void setExecutionIsolationStrategy​(String executionIsolationStrategy)
        Deprecated.
        What isolation strategy HystrixCommand.run() will be executed with.

        If THREAD then it will be executed on a separate thread and concurrent requests limited by the number of threads in the thread-pool.

        If SEMAPHORE then it will be executed on the calling thread and concurrent requests limited by the semaphore count.

      • getExecutionIsolationThreadInterruptOnTimeout

        public Boolean getExecutionIsolationThreadInterruptOnTimeout()
        Deprecated.
      • setExecutionIsolationThreadInterruptOnTimeout

        public void setExecutionIsolationThreadInterruptOnTimeout​(Boolean executionIsolationThreadInterruptOnTimeout)
        Deprecated.
        Whether the execution thread should attempt an interrupt (using Future.cancel(boolean)) when a thread times out.

        Applicable only when executionIsolationStrategy() == THREAD.

      • getExecutionTimeoutInMilliseconds

        public Integer getExecutionTimeoutInMilliseconds()
        Deprecated.
      • setExecutionTimeoutInMilliseconds

        public void setExecutionTimeoutInMilliseconds​(Integer executionTimeoutInMilliseconds)
        Deprecated.
        Time in milliseconds at which point the command will timeout and halt execution.

        If executionIsolationThreadInterruptOnTimeout == true and the command is thread-isolated, the executing thread will be interrupted. If the command is semaphore-isolated and a HystrixObservableCommand, that command will get unsubscribed.

      • getExecutionTimeoutEnabled

        public Boolean getExecutionTimeoutEnabled()
        Deprecated.
      • setExecutionTimeoutEnabled

        public void setExecutionTimeoutEnabled​(Boolean executionTimeoutEnabled)
        Deprecated.
        Whether the timeout mechanism is enabled for this command
      • getFallbackIsolationSemaphoreMaxConcurrentRequests

        public Integer getFallbackIsolationSemaphoreMaxConcurrentRequests()
        Deprecated.
      • setFallbackIsolationSemaphoreMaxConcurrentRequests

        public void setFallbackIsolationSemaphoreMaxConcurrentRequests​(Integer fallbackIsolationSemaphoreMaxConcurrentRequests)
        Deprecated.
        Number of concurrent requests permitted to HystrixCommand.getFallback(). Requests beyond the concurrent limit will fail-fast and not attempt retrieving a fallback.
      • getFallbackEnabled

        public Boolean getFallbackEnabled()
        Deprecated.
      • setFallbackEnabled

        public void setFallbackEnabled​(Boolean fallbackEnabled)
        Deprecated.
        Whether HystrixCommand.getFallback() should be attempted when failure occurs.
      • getMetricsHealthSnapshotIntervalInMilliseconds

        public Integer getMetricsHealthSnapshotIntervalInMilliseconds()
        Deprecated.
      • setMetricsHealthSnapshotIntervalInMilliseconds

        public void setMetricsHealthSnapshotIntervalInMilliseconds​(Integer metricsHealthSnapshotIntervalInMilliseconds)
        Deprecated.
        Time in milliseconds to wait between allowing health snapshots to be taken that calculate success and error percentages and affect HystrixCircuitBreaker.isOpen() status.

        On high-volume circuits the continual calculation of error percentage can become CPU intensive thus this controls how often it is calculated.

      • getMetricsRollingPercentileBucketSize

        public Integer getMetricsRollingPercentileBucketSize()
        Deprecated.
      • setMetricsRollingPercentileBucketSize

        public void setMetricsRollingPercentileBucketSize​(Integer metricsRollingPercentileBucketSize)
        Deprecated.
        Maximum number of values stored in each bucket of the rolling percentile. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics.
      • getMetricsRollingPercentileEnabled

        public Boolean getMetricsRollingPercentileEnabled()
        Deprecated.
      • setMetricsRollingPercentileEnabled

        public void setMetricsRollingPercentileEnabled​(Boolean metricsRollingPercentileEnabled)
        Deprecated.
        Whether percentile metrics should be captured using HystrixRollingPercentile inside HystrixCommandMetrics.
      • getMetricsRollingPercentileWindowInMilliseconds

        public Integer getMetricsRollingPercentileWindowInMilliseconds()
        Deprecated.
      • setMetricsRollingPercentileWindowInMilliseconds

        public void setMetricsRollingPercentileWindowInMilliseconds​(Integer metricsRollingPercentileWindowInMilliseconds)
        Deprecated.
        Duration of percentile rolling window in milliseconds. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics.
      • getMetricsRollingPercentileWindowBuckets

        public Integer getMetricsRollingPercentileWindowBuckets()
        Deprecated.
      • setMetricsRollingPercentileWindowBuckets

        public void setMetricsRollingPercentileWindowBuckets​(Integer metricsRollingPercentileWindowBuckets)
        Deprecated.
        Number of buckets the rolling percentile window is broken into. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics.
      • getMetricsRollingStatisticalWindowInMilliseconds

        public Integer getMetricsRollingStatisticalWindowInMilliseconds()
        Deprecated.
      • setMetricsRollingStatisticalWindowInMilliseconds

        public void setMetricsRollingStatisticalWindowInMilliseconds​(Integer metricsRollingStatisticalWindowInMilliseconds)
        Deprecated.
        This property sets the duration of the statistical rolling window, in milliseconds. This is how long metrics are kept for the thread pool. The window is divided into buckets and “rolls” by those increments.
      • getMetricsRollingStatisticalWindowBuckets

        public Integer getMetricsRollingStatisticalWindowBuckets()
        Deprecated.
      • setMetricsRollingStatisticalWindowBuckets

        public void setMetricsRollingStatisticalWindowBuckets​(Integer metricsRollingStatisticalWindowBuckets)
        Deprecated.
        Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside HystrixCommandMetrics.
      • getRequestLogEnabled

        public Boolean getRequestLogEnabled()
        Deprecated.
      • setRequestLogEnabled

        public void setRequestLogEnabled​(Boolean requestLogEnabled)
        Deprecated.
        Whether HystrixCommand execution and events should be logged to HystrixRequestLog.
      • getCorePoolSize

        public Integer getCorePoolSize()
        Deprecated.
      • getMaximumSize

        public Integer getMaximumSize()
        Deprecated.
      • setMaximumSize

        public void setMaximumSize​(Integer maximumSize)
        Deprecated.
        Maximum thread-pool size that gets passed to ThreadPoolExecutor.setMaximumPoolSize(int). This is the maximum amount of concurrency that can be supported without starting to reject HystrixCommands. Please note that this setting only takes effect if you also set allowMaximumSizeToDivergeFromCoreSize
      • getKeepAliveTime

        public Integer getKeepAliveTime()
        Deprecated.
      • getMaxQueueSize

        public Integer getMaxQueueSize()
        Deprecated.
      • setMaxQueueSize

        public void setMaxQueueSize​(Integer maxQueueSize)
        Deprecated.
        Max queue size that gets passed to BlockingQueue in HystrixConcurrencyStrategy.getBlockingQueue(int) This should only affect the instantiation of a threadpool - it is not eliglible to change a queue size on the fly. For that, use queueSizeRejectionThreshold().
      • getQueueSizeRejectionThreshold

        public Integer getQueueSizeRejectionThreshold()
        Deprecated.
      • setQueueSizeRejectionThreshold

        public void setQueueSizeRejectionThreshold​(Integer queueSizeRejectionThreshold)
        Deprecated.
        Queue size rejection threshold is an artificial max size at which rejections will occur even if maxQueueSize has not been reached. This is done because the maxQueueSize of a BlockingQueue can not be dynamically changed and we want to support dynamically changing the queue size that affects rejections.

        This is used by HystrixCommand when queuing a thread for execution.

      • getThreadPoolRollingNumberStatisticalWindowInMilliseconds

        public Integer getThreadPoolRollingNumberStatisticalWindowInMilliseconds()
        Deprecated.
      • setThreadPoolRollingNumberStatisticalWindowInMilliseconds

        public void setThreadPoolRollingNumberStatisticalWindowInMilliseconds​(Integer threadPoolRollingNumberStatisticalWindowInMilliseconds)
        Deprecated.
        Duration of statistical rolling window in milliseconds. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance.
      • getThreadPoolRollingNumberStatisticalWindowBuckets

        public Integer getThreadPoolRollingNumberStatisticalWindowBuckets()
        Deprecated.
      • setThreadPoolRollingNumberStatisticalWindowBuckets

        public void setThreadPoolRollingNumberStatisticalWindowBuckets​(Integer threadPoolRollingNumberStatisticalWindowBuckets)
        Deprecated.
        Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance.
      • getAllowMaximumSizeToDivergeFromCoreSize

        public Boolean getAllowMaximumSizeToDivergeFromCoreSize()
        Deprecated.
      • setAllowMaximumSizeToDivergeFromCoreSize

        public void setAllowMaximumSizeToDivergeFromCoreSize​(Boolean allowMaximumSizeToDivergeFromCoreSize)
        Deprecated.
        Allows the configuration for maximumSize to take effect. That value can then be equal to, or higher, than coreSize
      • withThreadPoolKey

        public HystrixConfigurationProperties withThreadPoolKey​(String threadPoolKey)
        Deprecated.
        Sets the thread pool key to use. Will by default use the same value as groupKey has been configured to use.
      • withCircuitBreakerEnabled

        public HystrixConfigurationProperties withCircuitBreakerEnabled​(Boolean circuitBreakerEnabled)
        Deprecated.
        Whether to use a HystrixCircuitBreaker or not. If false no circuit-breaker logic will be used and all requests permitted.

        This is similar in effect to circuitBreakerForceClosed() except that continues tracking metrics and knowing whether it should be open/closed, this property results in not even instantiating a circuit-breaker.

      • withCircuitBreakerErrorThresholdPercentage

        public HystrixConfigurationProperties withCircuitBreakerErrorThresholdPercentage​(Integer circuitBreakerErrorThresholdPercentage)
        Deprecated.
        Error percentage threshold (as whole number such as 50) at which point the circuit breaker will trip open and reject requests.

        It will stay tripped for the duration defined in circuitBreakerSleepWindowInMilliseconds;

        The error percentage this is compared against comes from HystrixCommandMetrics.getHealthCounts().

      • withCircuitBreakerForceClosed

        public HystrixConfigurationProperties withCircuitBreakerForceClosed​(Boolean circuitBreakerForceClosed)
        Deprecated.
        If true the HystrixCircuitBreaker#allowRequest() will always return true to allow requests regardless of the error percentage from HystrixCommandMetrics.getHealthCounts().

        The circuitBreakerForceOpen() property takes precedence so if it set to true this property does nothing.

      • withCircuitBreakerForceOpen

        public HystrixConfigurationProperties withCircuitBreakerForceOpen​(Boolean circuitBreakerForceOpen)
        Deprecated.
        If true the HystrixCircuitBreaker.allowRequest() will always return false, causing the circuit to be open (tripped) and reject all requests.

        This property takes precedence over circuitBreakerForceClosed();

      • withCircuitBreakerRequestVolumeThreshold

        public HystrixConfigurationProperties withCircuitBreakerRequestVolumeThreshold​(Integer circuitBreakerRequestVolumeThreshold)
        Deprecated.
        Minimum number of requests in the metricsRollingStatisticalWindowInMilliseconds() that must exist before the HystrixCircuitBreaker will trip.

        If below this number the circuit will not trip regardless of error percentage.

      • withCircuitBreakerSleepWindowInMilliseconds

        public HystrixConfigurationProperties withCircuitBreakerSleepWindowInMilliseconds​(Integer circuitBreakerSleepWindowInMilliseconds)
        Deprecated.
        The time in milliseconds after a HystrixCircuitBreaker trips open that it should wait before trying requests again.
      • withExecutionIsolationSemaphoreMaxConcurrentRequests

        public HystrixConfigurationProperties withExecutionIsolationSemaphoreMaxConcurrentRequests​(Integer executionIsolationSemaphoreMaxConcurrentRequests)
        Deprecated.
        Number of concurrent requests permitted to HystrixCommand.run(). Requests beyond the concurrent limit will be rejected.

        Applicable only when executionIsolationStrategy == SEMAPHORE.

      • withExecutionIsolationStrategy

        public HystrixConfigurationProperties withExecutionIsolationStrategy​(String executionIsolationStrategy)
        Deprecated.
        What isolation strategy HystrixCommand.run() will be executed with.

        If THREAD then it will be executed on a separate thread and concurrent requests limited by the number of threads in the thread-pool.

        If SEMAPHORE then it will be executed on the calling thread and concurrent requests limited by the semaphore count.

      • withExecutionIsolationThreadInterruptOnTimeout

        public HystrixConfigurationProperties withExecutionIsolationThreadInterruptOnTimeout​(Boolean executionIsolationThreadInterruptOnTimeout)
        Deprecated.
        Whether the execution thread should attempt an interrupt (using Future.cancel(boolean)) when a thread times out.

        Applicable only when executionIsolationStrategy() == THREAD.

      • withExecutionTimeoutInMilliseconds

        public HystrixConfigurationProperties withExecutionTimeoutInMilliseconds​(Integer executionTimeoutInMilliseconds)
        Deprecated.
        Time in milliseconds at which point the command will timeout and halt execution.

        If executionIsolationThreadInterruptOnTimeout == true and the command is thread-isolated, the executing thread will be interrupted. If the command is semaphore-isolated and a HystrixObservableCommand, that command will get unsubscribed.

      • withExecutionTimeoutEnabled

        public HystrixConfigurationProperties withExecutionTimeoutEnabled​(Boolean executionTimeoutEnabled)
        Deprecated.
        Whether the timeout mechanism is enabled for this command
      • withFallbackIsolationSemaphoreMaxConcurrentRequests

        public HystrixConfigurationProperties withFallbackIsolationSemaphoreMaxConcurrentRequests​(Integer fallbackIsolationSemaphoreMaxConcurrentRequests)
        Deprecated.
        Number of concurrent requests permitted to HystrixCommand.getFallback(). Requests beyond the concurrent limit will fail-fast and not attempt retrieving a fallback.
      • withFallbackEnabled

        public HystrixConfigurationProperties withFallbackEnabled​(Boolean fallbackEnabled)
        Deprecated.
        Whether HystrixCommand.getFallback() should be attempted when failure occurs.
      • withMetricsHealthSnapshotIntervalInMilliseconds

        public HystrixConfigurationProperties withMetricsHealthSnapshotIntervalInMilliseconds​(Integer metricsHealthSnapshotIntervalInMilliseconds)
        Deprecated.
        Time in milliseconds to wait between allowing health snapshots to be taken that calculate success and error percentages and affect HystrixCircuitBreaker.isOpen() status.

        On high-volume circuits the continual calculation of error percentage can become CPU intensive thus this controls how often it is calculated.

      • withMetricsRollingPercentileBucketSize

        public HystrixConfigurationProperties withMetricsRollingPercentileBucketSize​(Integer metricsRollingPercentileBucketSize)
        Deprecated.
        Maximum number of values stored in each bucket of the rolling percentile. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics.
      • withMetricsRollingPercentileEnabled

        public HystrixConfigurationProperties withMetricsRollingPercentileEnabled​(Boolean metricsRollingPercentileEnabled)
        Deprecated.
        Whether percentile metrics should be captured using HystrixRollingPercentile inside HystrixCommandMetrics.
      • withMetricsRollingPercentileWindowInMilliseconds

        public HystrixConfigurationProperties withMetricsRollingPercentileWindowInMilliseconds​(Integer metricsRollingPercentileWindowInMilliseconds)
        Deprecated.
        Duration of percentile rolling window in milliseconds. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics.
      • withMetricsRollingPercentileWindowBuckets

        public HystrixConfigurationProperties withMetricsRollingPercentileWindowBuckets​(Integer metricsRollingPercentileWindowBuckets)
        Deprecated.
        Number of buckets the rolling percentile window is broken into. This is passed into HystrixRollingPercentile inside HystrixCommandMetrics.
      • withMetricsRollingStatisticalWindowInMilliseconds

        public HystrixConfigurationProperties withMetricsRollingStatisticalWindowInMilliseconds​(Integer metricsRollingStatisticalWindowInMilliseconds)
        Deprecated.
        This property sets the duration of the statistical rolling window, in milliseconds. This is how long metrics are kept for the thread pool. The window is divided into buckets and “rolls” by those increments.
      • withMetricsRollingStatisticalWindowBuckets

        public HystrixConfigurationProperties withMetricsRollingStatisticalWindowBuckets​(Integer metricsRollingStatisticalWindowBuckets)
        Deprecated.
        Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside HystrixCommandMetrics.
      • withRequestLogEnabled

        public HystrixConfigurationProperties withRequestLogEnabled​(Boolean requestLogEnabled)
        Deprecated.
        Whether HystrixCommand execution and events should be logged to HystrixRequestLog.
      • withMaximumSize

        public HystrixConfigurationProperties withMaximumSize​(Integer maximumSize)
        Deprecated.
        Maximum thread-pool size that gets passed to ThreadPoolExecutor.setMaximumPoolSize(int). This is the maximum amount of concurrency that can be supported without starting to reject HystrixCommands. Please note that this setting only takes effect if you also set allowMaximumSizeToDivergeFromCoreSize
      • withMaxQueueSize

        public HystrixConfigurationProperties withMaxQueueSize​(Integer maxQueueSize)
        Deprecated.
        Max queue size that gets passed to BlockingQueue in HystrixConcurrencyStrategy.getBlockingQueue(int) This should only affect the instantiation of a threadpool - it is not eliglible to change a queue size on the fly. For that, use queueSizeRejectionThreshold().
      • withQueueSizeRejectionThreshold

        public HystrixConfigurationProperties withQueueSizeRejectionThreshold​(Integer queueSizeRejectionThreshold)
        Deprecated.
        Queue size rejection threshold is an artificial max size at which rejections will occur even if maxQueueSize has not been reached. This is done because the maxQueueSize of a BlockingQueue can not be dynamically changed and we want to support dynamically changing the queue size that affects rejections.

        This is used by HystrixCommand when queuing a thread for execution.

      • withThreadPoolRollingNumberStatisticalWindowInMilliseconds

        public HystrixConfigurationProperties withThreadPoolRollingNumberStatisticalWindowInMilliseconds​(Integer threadPoolRollingNumberStatisticalWindowInMilliseconds)
        Deprecated.
        Duration of statistical rolling window in milliseconds. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance.
      • withThreadPoolRollingNumberStatisticalWindowBuckets

        public HystrixConfigurationProperties withThreadPoolRollingNumberStatisticalWindowBuckets​(Integer threadPoolRollingNumberStatisticalWindowBuckets)
        Deprecated.
        Number of buckets the rolling statistical window is broken into. This is passed into HystrixRollingNumber inside each HystrixThreadPoolMetrics instance.
      • withAllowMaximumSizeToDivergeFromCoreSize

        public HystrixConfigurationProperties withAllowMaximumSizeToDivergeFromCoreSize​(Boolean allowMaximumSizeToDivergeFromCoreSize)
        Deprecated.
        Allows the configuration for maximumSize to take effect. That value can then be equal to, or higher, than coreSize