private static int samplingPeriod = 0; // sampling period\r
private static int action = ACTION_DROP; // action to take (throttle or drop)\r
\r
- private static EELFLogger logger = EELFManager.getInstance().getLogger("InternalLog");\r
+ private static final EELFLogger logger = EELFManager.getInstance().getLogger("InternalLog");\r
private static Map<String, Counter> map = new HashMap<>();\r
- private Map<String, List<Continuation>> suspendedRequests = new HashMap<>();\r
+ private final Map<String, List<Continuation>> suspendedRequests = new HashMap<>();\r
private static final Timer rolex = new Timer();\r
\r
@Override\r
String str = String.format("Throttling connection: %s %d bad connections in %d minutes",\r
getConnectionId(request), rate, samplingPeriod);\r
logger.info(str);\r
- Continuation continuation = ContinuationSupport.getContinuation(request);\r
+ Continuation continuation = ContinuationSupport.getContinuation((javax.servlet.ServletRequest) request);\r
continuation.suspend();\r
register(id, continuation);\r
continuation.undispatch();\r
\r
private void register(String id, Continuation continuation) {\r
synchronized (suspendedRequests) {\r
- List<Continuation> list = suspendedRequests.get(id);\r
- if (list == null) {\r
- list = new ArrayList<>();\r
- suspendedRequests.put(id, list);\r
- }\r
+ List<Continuation> list = suspendedRequests.computeIfAbsent(id, k -> new ArrayList<>());\r
list.add(continuation);\r
}\r
}\r
}\r
}\r
\r
- public class Counter {\r
- private List<Long> times = new ArrayList<>(); // a record of request times\r
+ public static class Counter {\r
+ private final List<Long> times = new ArrayList<>(); // a record of request times\r
\r
/**\r
* Method to prune request rate.\r