diff --git a/spring-security-rest-full/src/main/java/org/baeldung/web/metric/MetricService.java b/spring-security-rest-full/src/main/java/org/baeldung/web/metric/MetricService.java index 504e82e654..086068ad8f 100644 --- a/spring-security-rest-full/src/main/java/org/baeldung/web/metric/MetricService.java +++ b/spring-security-rest-full/src/main/java/org/baeldung/web/metric/MetricService.java @@ -2,26 +2,27 @@ package org.baeldung.web.metric; import java.text.SimpleDateFormat; import java.util.Date; -import java.util.HashMap; import java.util.Map; import java.util.Map.Entry; import java.util.Set; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; import org.springframework.stereotype.Service; @Service public class MetricService implements IMetricService { - private Map> metricMap; - private Map statusMetric; - private Map> timeMap; + private ConcurrentMap> metricMap; + private ConcurrentMap statusMetric; + private ConcurrentMap> timeMap; private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm"); public MetricService() { super(); - metricMap = new HashMap>(); - statusMetric = new HashMap(); - timeMap = new HashMap>(); + metricMap = new ConcurrentHashMap>(); + statusMetric = new ConcurrentHashMap(); + timeMap = new ConcurrentHashMap>(); } // API @@ -58,8 +59,8 @@ public class MetricService implements IMetricService { j++; } int i = 1; - Map tempMap; - for (final Entry> entry : timeMap.entrySet()) { + ConcurrentMap tempMap; + for (final Entry> entry : timeMap.entrySet()) { result[i][0] = entry.getKey(); tempMap = entry.getValue(); for (j = 1; j < colCount; j++) { @@ -77,9 +78,9 @@ public class MetricService implements IMetricService { // NON-API private void increaseMainMetric(final String request, final int status) { - HashMap statusMap = metricMap.get(request); + ConcurrentHashMap statusMap = metricMap.get(request); if (statusMap == null) { - statusMap = new HashMap(); + statusMap = new ConcurrentHashMap(); } Integer count = statusMap.get(status); @@ -103,9 +104,9 @@ public class MetricService implements IMetricService { private void updateTimeMap(final int status) { final String time = dateFormat.format(new Date()); - HashMap statusMap = timeMap.get(time); + ConcurrentHashMap statusMap = timeMap.get(time); if (statusMap == null) { - statusMap = new HashMap(); + statusMap = new ConcurrentHashMap(); } Integer count = statusMap.get(status); diff --git a/spring-security-rest-full/src/main/resources/webSecurityConfig.xml b/spring-security-rest-full/src/main/resources/webSecurityConfig.xml index 8ebd645adb..4557430124 100644 --- a/spring-security-rest-full/src/main/resources/webSecurityConfig.xml +++ b/spring-security-rest-full/src/main/resources/webSecurityConfig.xml @@ -2,9 +2,9 @@