WANG 5 年之前
父节点
当前提交
664e4ce43f
共有 1 个文件被更改,包括 5 次插入0 次删除
  1. 5 0
      src/main/java/cn/com/qmth/examcloud/web/interceptor/ApiFlowLimitedInterceptor.java

+ 5 - 0
src/main/java/cn/com/qmth/examcloud/web/interceptor/ApiFlowLimitedInterceptor.java

@@ -108,6 +108,8 @@ public class ApiFlowLimitedInterceptor implements HandlerInterceptor {
 				while (true) {
 					refreshConfig();
 
+					Map<String, Integer> updated = Maps.newHashMap();
+
 					for (Entry<String, Integer> entry : permitsPerSecondMap.entrySet()) {
 						String key = entry.getKey();
 						Integer value = entry.getValue();
@@ -137,10 +139,13 @@ public class ApiFlowLimitedInterceptor implements HandlerInterceptor {
 						if (!value.equals(curPermitsPerSecond)) {
 							RateLimiter curRateLimiter = limiterMap.get(key);
 							curRateLimiter.setRate(curPermitsPerSecond);
+							updated.put(key, curPermitsPerSecond);
 						}
 
 					}
 
+					permitsPerSecondMap.putAll(updated);
+
 					Util.sleep(30);
 				}
 			}