Class Resilience4jConfigurationCommon
- java.lang.Object
-
- org.apache.camel.model.IdentifiedType
-
- org.apache.camel.model.Resilience4jConfigurationCommon
-
- Direct Known Subclasses:
Resilience4jConfigurationDefinition
public class Resilience4jConfigurationCommon extends IdentifiedType
-
-
Constructor Summary
Constructors Constructor Description Resilience4jConfigurationCommon()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description StringgetAutomaticTransitionFromOpenToHalfOpenEnabled()StringgetBulkheadEnabled()StringgetBulkheadMaxConcurrentCalls()StringgetBulkheadMaxWaitDuration()StringgetCircuitBreaker()StringgetConfig()StringgetFailureRateThreshold()StringgetMinimumNumberOfCalls()StringgetPermittedNumberOfCallsInHalfOpenState()StringgetSlidingWindowSize()StringgetSlidingWindowType()StringgetSlowCallDurationThreshold()StringgetSlowCallRateThreshold()StringgetThrowExceptionWhenHalfOpenOrOpenState()StringgetTimeoutCancelRunningFuture()StringgetTimeoutDuration()StringgetTimeoutEnabled()StringgetTimeoutExecutorService()StringgetWaitDurationInOpenState()StringgetWritableStackTraceEnabled()voidsetAutomaticTransitionFromOpenToHalfOpenEnabled(String automaticTransitionFromOpenToHalfOpenEnabled)Enables automatic transition from OPEN to HALF_OPEN state once the waitDurationInOpenState has passed.voidsetBulkheadEnabled(String bulkheadEnabled)Whether bulkhead is enabled or not on the circuit breaker.voidsetBulkheadMaxConcurrentCalls(String bulkheadMaxConcurrentCalls)Configures the max amount of concurrent calls the bulkhead will support.voidsetBulkheadMaxWaitDuration(String bulkheadMaxWaitDuration)Configures a maximum amount of time which the calling thread will wait to enter the bulkhead.voidsetCircuitBreaker(String circuitBreaker)Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreaker instance to lookup and use from the registry.voidsetConfig(String config)Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to lookup and use from the registry.voidsetFailureRateThreshold(String failureRateThreshold)Configures the failure rate threshold in percentage.voidsetMinimumNumberOfCalls(String minimumNumberOfCalls)Configures the minimum number of calls which are required (per sliding window period) before the CircuitBreaker can calculate the error rate.voidsetPermittedNumberOfCallsInHalfOpenState(String permittedNumberOfCallsInHalfOpenState)Configures the number of permitted calls when the CircuitBreaker is half open.voidsetSlidingWindowSize(String slidingWindowSize)Configures the size of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed.voidsetSlidingWindowType(String slidingWindowType)Configures the type of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed.voidsetSlowCallDurationThreshold(String slowCallDurationThreshold)Configures the duration threshold (seconds) above which calls are considered as slow and increase the slow calls percentage.voidsetSlowCallRateThreshold(String slowCallRateThreshold)Configures a threshold in percentage.voidsetThrowExceptionWhenHalfOpenOrOpenState(String throwExceptionWhenHalfOpenOrOpenState)Whether to throw io.github.resilience4j.circuitbreaker.CallNotPermittedException when the call is rejected due circuit breaker is half open or open.voidsetTimeoutCancelRunningFuture(String timeoutCancelRunningFuture)Configures whether cancel is called on the running future.voidsetTimeoutDuration(String timeoutDuration)Configures the thread execution timeout.voidsetTimeoutEnabled(String timeoutEnabled)Whether timeout is enabled or not on the circuit breaker.voidsetTimeoutExecutorService(String timeoutExecutorService)References to a custom thread pool to use when timeout is enabled (usesForkJoinPool.commonPool()by default)voidsetWaitDurationInOpenState(String waitDurationInOpenState)Configures the wait duration (in seconds) which specifies how long the CircuitBreaker should stay open, before it switches to half open.voidsetWritableStackTraceEnabled(String writableStackTraceEnabled)Enables writable stack traces.-
Methods inherited from class org.apache.camel.model.IdentifiedType
getId, setId
-
-
-
-
Method Detail
-
getCircuitBreaker
public String getCircuitBreaker()
-
setCircuitBreaker
public void setCircuitBreaker(String circuitBreaker)
Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreaker instance to lookup and use from the registry. When using this, then any other circuit breaker options are not in use.
-
getConfig
public String getConfig()
-
setConfig
public void setConfig(String config)
Refers to an existing io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to lookup and use from the registry.
-
getFailureRateThreshold
public String getFailureRateThreshold()
-
setFailureRateThreshold
public void setFailureRateThreshold(String failureRateThreshold)
Configures the failure rate threshold in percentage. If the failure rate is equal or greater than the threshold the CircuitBreaker transitions to open and starts short-circuiting calls.The threshold must be greater than 0 and not greater than 100. Default value is 50 percentage.
-
getPermittedNumberOfCallsInHalfOpenState
public String getPermittedNumberOfCallsInHalfOpenState()
-
setPermittedNumberOfCallsInHalfOpenState
public void setPermittedNumberOfCallsInHalfOpenState(String permittedNumberOfCallsInHalfOpenState)
Configures the number of permitted calls when the CircuitBreaker is half open.The size must be greater than 0. Default size is 10.
-
getThrowExceptionWhenHalfOpenOrOpenState
public String getThrowExceptionWhenHalfOpenOrOpenState()
-
setThrowExceptionWhenHalfOpenOrOpenState
public void setThrowExceptionWhenHalfOpenOrOpenState(String throwExceptionWhenHalfOpenOrOpenState)
Whether to throw io.github.resilience4j.circuitbreaker.CallNotPermittedException when the call is rejected due circuit breaker is half open or open.
-
getSlidingWindowSize
public String getSlidingWindowSize()
-
setSlidingWindowSize
public void setSlidingWindowSize(String slidingWindowSize)
Configures the size of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed.slidingWindowSizeconfigures the size of the sliding window. Sliding window can either be count-based or time-based. IfslidingWindowTypeis COUNT_BASED, the lastslidingWindowSizecalls are recorded and aggregated. IfslidingWindowTypeis TIME_BASED, the calls of the lastslidingWindowSizeseconds are recorded and aggregated.The
slidingWindowSizemust be greater than 0. TheminimumNumberOfCallsmust be greater than 0. If the slidingWindowType is COUNT_BASED, theminimumNumberOfCallscannot be greater thanslidingWindowSize. If the slidingWindowType is TIME_BASED, you can pick whatever you want. Default slidingWindowSize is 100.
-
getSlidingWindowType
public String getSlidingWindowType()
-
setSlidingWindowType
public void setSlidingWindowType(String slidingWindowType)
Configures the type of the sliding window which is used to record the outcome of calls when the CircuitBreaker is closed. Sliding window can either be count-based or time-based. IfslidingWindowTypeis COUNT_BASED, the lastslidingWindowSizecalls are recorded and aggregated. IfslidingWindowTypeis TIME_BASED, the calls of the lastslidingWindowSizeseconds are recorded and aggregated. Default slidingWindowType is COUNT_BASED.
-
getMinimumNumberOfCalls
public String getMinimumNumberOfCalls()
-
setMinimumNumberOfCalls
public void setMinimumNumberOfCalls(String minimumNumberOfCalls)
Configures the minimum number of calls which are required (per sliding window period) before the CircuitBreaker can calculate the error rate. For example, ifminimumNumberOfCallsis 10, then at least 10 calls must be recorded, before the failure rate can be calculated. If only 9 calls have been recorded the CircuitBreaker will not transition to open even if all 9 calls have failed. Default minimumNumberOfCalls is 100
-
getWritableStackTraceEnabled
public String getWritableStackTraceEnabled()
-
setWritableStackTraceEnabled
public void setWritableStackTraceEnabled(String writableStackTraceEnabled)
Enables writable stack traces. When set to false, Exception.getStackTrace returns a zero length array. This may be used to reduce log spam when the circuit breaker is open as the cause of the exceptions is already known (the circuit breaker is short-circuiting calls).
-
getWaitDurationInOpenState
public String getWaitDurationInOpenState()
-
setWaitDurationInOpenState
public void setWaitDurationInOpenState(String waitDurationInOpenState)
Configures the wait duration (in seconds) which specifies how long the CircuitBreaker should stay open, before it switches to half open. Default value is 60 seconds.
-
getAutomaticTransitionFromOpenToHalfOpenEnabled
public String getAutomaticTransitionFromOpenToHalfOpenEnabled()
-
setAutomaticTransitionFromOpenToHalfOpenEnabled
public void setAutomaticTransitionFromOpenToHalfOpenEnabled(String automaticTransitionFromOpenToHalfOpenEnabled)
Enables automatic transition from OPEN to HALF_OPEN state once the waitDurationInOpenState has passed.
-
getSlowCallRateThreshold
public String getSlowCallRateThreshold()
-
setSlowCallRateThreshold
public void setSlowCallRateThreshold(String slowCallRateThreshold)
Configures a threshold in percentage. The CircuitBreaker considers a call as slow when the call duration is greater than slowCallDurationThreshold Duration. When the percentage of slow calls is equal or greater the threshold, the CircuitBreaker transitions to open and starts short-circuiting calls.The threshold must be greater than 0 and not greater than 100. Default value is 100 percentage which means that all recorded calls must be slower than slowCallDurationThreshold.
-
getSlowCallDurationThreshold
public String getSlowCallDurationThreshold()
-
setSlowCallDurationThreshold
public void setSlowCallDurationThreshold(String slowCallDurationThreshold)
Configures the duration threshold (seconds) above which calls are considered as slow and increase the slow calls percentage. Default value is 60 seconds.
-
getBulkheadEnabled
public String getBulkheadEnabled()
-
setBulkheadEnabled
public void setBulkheadEnabled(String bulkheadEnabled)
Whether bulkhead is enabled or not on the circuit breaker. Default is false.
-
getBulkheadMaxConcurrentCalls
public String getBulkheadMaxConcurrentCalls()
-
setBulkheadMaxConcurrentCalls
public void setBulkheadMaxConcurrentCalls(String bulkheadMaxConcurrentCalls)
Configures the max amount of concurrent calls the bulkhead will support.
-
getBulkheadMaxWaitDuration
public String getBulkheadMaxWaitDuration()
-
setBulkheadMaxWaitDuration
public void setBulkheadMaxWaitDuration(String bulkheadMaxWaitDuration)
Configures a maximum amount of time which the calling thread will wait to enter the bulkhead. If bulkhead has space available, entry is guaranteed and immediate. If bulkhead is full, calling threads will contest for space, if it becomes available. maxWaitDuration can be set to 0.Note: for threads running on an event-loop or equivalent (rx computation pool, etc), setting maxWaitDuration to 0 is highly recommended. Blocking an event-loop thread will most likely have a negative effect on application throughput.
-
getTimeoutEnabled
public String getTimeoutEnabled()
-
setTimeoutEnabled
public void setTimeoutEnabled(String timeoutEnabled)
Whether timeout is enabled or not on the circuit breaker. Default is false.
-
getTimeoutExecutorService
public String getTimeoutExecutorService()
-
setTimeoutExecutorService
public void setTimeoutExecutorService(String timeoutExecutorService)
References to a custom thread pool to use when timeout is enabled (usesForkJoinPool.commonPool()by default)
-
getTimeoutDuration
public String getTimeoutDuration()
-
setTimeoutDuration
public void setTimeoutDuration(String timeoutDuration)
Configures the thread execution timeout. Default value is 1 second.
-
getTimeoutCancelRunningFuture
public String getTimeoutCancelRunningFuture()
-
setTimeoutCancelRunningFuture
public void setTimeoutCancelRunningFuture(String timeoutCancelRunningFuture)
Configures whether cancel is called on the running future. Defaults to true.
-
-