[SCB-2600]add forceClosed and forceOpen parameter to circuit breaker (#3121)
diff --git a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
index c412ed7..9996d1b 100644
--- a/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
+++ b/governance/src/main/java/org/apache/servicecomb/governance/policy/CircuitBreakerPolicy.java
@@ -64,9 +64,15 @@
private String slidingWindowSize = DEFAULT_SLIDING_WINDOW_SIZE;
- //status code that need retry
+ //status code that need record as a failure
private List<String> recordFailureStatus = new ArrayList<>();
+ //force close this circuit breaker. This parameter is not used by circuit breaker directly
+ private boolean forceClosed = false;
+
+ //force open this circuit breaker. This parameter is not used by circuit breaker directly
+ private boolean forceOpen = false;
+
public CircuitBreakerPolicy() {
}
@@ -193,10 +199,26 @@
return this.recordFailureStatus;
}
- public void setRRecordFailureStatus(List<String> recordFailureStatus) {
+ public void setRecordFailureStatus(List<String> recordFailureStatus) {
this.recordFailureStatus = recordFailureStatus;
}
+ public boolean isForceClosed() {
+ return forceClosed;
+ }
+
+ public void setForceClosed(boolean forceClosed) {
+ this.forceClosed = forceClosed;
+ }
+
+ public boolean isForceOpen() {
+ return forceOpen;
+ }
+
+ public void setForceOpen(boolean forceOpen) {
+ this.forceOpen = forceOpen;
+ }
+
@Override
public String toString() {
return "CircuitBreakerPolicy{" +