WANG 5 жил өмнө
parent
commit
664e4ce43f

+ 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);
 				}
 			}