[SCB-2581]SlidingWindowType is not properly read from configuration
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 20a4906..1785fc6 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
@@ -16,13 +16,13 @@
  */
 package org.apache.servicecomb.governance.policy;
 
+import java.time.Duration;
+
 import org.apache.commons.lang3.StringUtils;
 import org.apache.servicecomb.governance.utils.GovernanceUtils;
 
 import io.github.resilience4j.circuitbreaker.CircuitBreakerConfig.SlidingWindowType;
 
-import java.time.Duration;
-
 public class CircuitBreakerPolicy extends AbstractPolicy {
 
   public static final float DEFAULT_FAILURE_RATE_THRESHOLD = 50;
@@ -136,10 +136,12 @@
     if (StringUtils.isEmpty(slidingWindowType)) {
       return SlidingWindowType.TIME_BASED;
     }
-    if (SlidingWindowType.COUNT_BASED.equals(slidingWindowType)) {
-      return SlidingWindowType.COUNT_BASED;
+
+    try {
+      return SlidingWindowType.valueOf(slidingWindowType);
+    } catch (Exception e) {
+      return SlidingWindowType.TIME_BASED;
     }
-    return SlidingWindowType.TIME_BASED;
   }
 
   public String getSlidingWindowType() {