blob: b9ecfdae9c164525e262d0573ffc58cb1c8ba916 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.camel.model.springboot;
import javax.annotation.Generated;
/**
* Resilience4j Circuit Breaker EIP configuration
*
* Generated by camel-package-maven-plugin - do not edit this file!
*/
@Generated("org.apache.camel.maven.packaging.SpringBootAutoConfigurationMojo")
public class Resilience4jConfigurationDefinitionCommon {
/**
* 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.
*/
private String circuitBreakerRef;
/**
* Refers to an existing
* io.github.resilience4j.circuitbreaker.CircuitBreakerConfig instance to
* lookup and use from the registry.
*/
private String configRef;
/**
* 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.
*/
private Float failureRateThreshold;
/**
* Configures the number of permitted calls when the CircuitBreaker is half
* open. The size must be greater than 0. Default size is 10.
*/
private Integer permittedNumberOfCallsInHalfOpenState = 10;
/**
* Configures the size of the sliding window which is used to record the
* outcome of calls when the CircuitBreaker is closed. slidingWindowSize
* configures the size of the sliding window. Sliding window can either be
* count-based or time-based. If slidingWindowType is COUNT_BASED, the last
* slidingWindowSize calls are recorded and aggregated. If slidingWindowType
* is TIME_BASED, the calls of the last slidingWindowSize seconds are
* recorded and aggregated. The slidingWindowSize must be greater than 0.
* The minimumNumberOfCalls must be greater than 0. If the slidingWindowType
* is COUNT_BASED, the minimumNumberOfCalls cannot be greater than
* slidingWindowSize. If the slidingWindowType is TIME_BASED, you can pick
* whatever you want. Default slidingWindowSize is 100.
*/
private Integer slidingWindowSize = 100;
/**
* 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. If slidingWindowType is COUNT_BASED,
* the last slidingWindowSize calls are recorded and aggregated. If
* slidingWindowType is TIME_BASED, the calls of the last slidingWindowSize
* seconds are recorded and aggregated. Default slidingWindowType is
* COUNT_BASED.
*/
private String slidingWindowType = "COUNT_BASED";
/**
* Configures configures the minimum number of calls which are required (per
* sliding window period) before the CircuitBreaker can calculate the error
* rate. For example, if minimumNumberOfCalls is 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
*/
private Integer minimumNumberOfCalls = 100;
/**
* 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).
*/
private Boolean writableStackTraceEnabled = true;
/**
* 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.
*/
private Integer waitDurationInOpenState = 60;
/**
* Enables automatic transition from OPEN to HALF_OPEN state once the
* waitDurationInOpenState has passed.
*/
private Boolean automaticTransitionFromOpenToHalfOpenEnabled = false;
/**
* 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.
*/
private Float slowCallRateThreshold;
/**
* Configures the duration threshold (seconds) above which calls are
* considered as slow and increase the slow calls percentage. Default value
* is 60 seconds.
*/
private Integer slowCallDurationThreshold = 60;
public String getCircuitBreakerRef() {
return circuitBreakerRef;
}
public void setCircuitBreakerRef(String circuitBreakerRef) {
this.circuitBreakerRef = circuitBreakerRef;
}
public String getConfigRef() {
return configRef;
}
public void setConfigRef(String configRef) {
this.configRef = configRef;
}
public Float getFailureRateThreshold() {
return failureRateThreshold;
}
public void setFailureRateThreshold(Float failureRateThreshold) {
this.failureRateThreshold = failureRateThreshold;
}
public Integer getPermittedNumberOfCallsInHalfOpenState() {
return permittedNumberOfCallsInHalfOpenState;
}
public void setPermittedNumberOfCallsInHalfOpenState(
Integer permittedNumberOfCallsInHalfOpenState) {
this.permittedNumberOfCallsInHalfOpenState = permittedNumberOfCallsInHalfOpenState;
}
public Integer getSlidingWindowSize() {
return slidingWindowSize;
}
public void setSlidingWindowSize(Integer slidingWindowSize) {
this.slidingWindowSize = slidingWindowSize;
}
public String getSlidingWindowType() {
return slidingWindowType;
}
public void setSlidingWindowType(String slidingWindowType) {
this.slidingWindowType = slidingWindowType;
}
public Integer getMinimumNumberOfCalls() {
return minimumNumberOfCalls;
}
public void setMinimumNumberOfCalls(Integer minimumNumberOfCalls) {
this.minimumNumberOfCalls = minimumNumberOfCalls;
}
public Boolean getWritableStackTraceEnabled() {
return writableStackTraceEnabled;
}
public void setWritableStackTraceEnabled(Boolean writableStackTraceEnabled) {
this.writableStackTraceEnabled = writableStackTraceEnabled;
}
public Integer getWaitDurationInOpenState() {
return waitDurationInOpenState;
}
public void setWaitDurationInOpenState(Integer waitDurationInOpenState) {
this.waitDurationInOpenState = waitDurationInOpenState;
}
public Boolean getAutomaticTransitionFromOpenToHalfOpenEnabled() {
return automaticTransitionFromOpenToHalfOpenEnabled;
}
public void setAutomaticTransitionFromOpenToHalfOpenEnabled(
Boolean automaticTransitionFromOpenToHalfOpenEnabled) {
this.automaticTransitionFromOpenToHalfOpenEnabled = automaticTransitionFromOpenToHalfOpenEnabled;
}
public Float getSlowCallRateThreshold() {
return slowCallRateThreshold;
}
public void setSlowCallRateThreshold(Float slowCallRateThreshold) {
this.slowCallRateThreshold = slowCallRateThreshold;
}
public Integer getSlowCallDurationThreshold() {
return slowCallDurationThreshold;
}
public void setSlowCallDurationThreshold(Integer slowCallDurationThreshold) {
this.slowCallDurationThreshold = slowCallDurationThreshold;
}
}