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