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{" +
