Skip to content

Commit 57dd2a1

Browse files
author
Eugen
committed
Merge pull request eugenp#274 from Doha2012/master
use concurrent map
2 parents 813a56d + d1b3420 commit 57dd2a1

File tree

2 files changed

+16
-15
lines changed

2 files changed

+16
-15
lines changed

spring-security-rest-full/src/main/java/org/baeldung/web/metric/MetricService.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,27 @@
22

33
import java.text.SimpleDateFormat;
44
import java.util.Date;
5-
import java.util.HashMap;
65
import java.util.Map;
76
import java.util.Map.Entry;
87
import java.util.Set;
8+
import java.util.concurrent.ConcurrentHashMap;
9+
import java.util.concurrent.ConcurrentMap;
910

1011
import org.springframework.stereotype.Service;
1112

1213
@Service
1314
public class MetricService implements IMetricService {
1415

15-
private Map<String, HashMap<Integer, Integer>> metricMap;
16-
private Map<Integer, Integer> statusMetric;
17-
private Map<String, HashMap<Integer, Integer>> timeMap;
16+
private ConcurrentMap<String, ConcurrentHashMap<Integer, Integer>> metricMap;
17+
private ConcurrentMap<Integer, Integer> statusMetric;
18+
private ConcurrentMap<String, ConcurrentHashMap<Integer, Integer>> timeMap;
1819
private static final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm");
1920

2021
public MetricService() {
2122
super();
22-
metricMap = new HashMap<String, HashMap<Integer, Integer>>();
23-
statusMetric = new HashMap<Integer, Integer>();
24-
timeMap = new HashMap<String, HashMap<Integer, Integer>>();
23+
metricMap = new ConcurrentHashMap<String, ConcurrentHashMap<Integer, Integer>>();
24+
statusMetric = new ConcurrentHashMap<Integer, Integer>();
25+
timeMap = new ConcurrentHashMap<String, ConcurrentHashMap<Integer, Integer>>();
2526
}
2627

2728
// API
@@ -58,8 +59,8 @@ public Object[][] getGraphData() {
5859
j++;
5960
}
6061
int i = 1;
61-
Map<Integer, Integer> tempMap;
62-
for (final Entry<String, HashMap<Integer, Integer>> entry : timeMap.entrySet()) {
62+
ConcurrentMap<Integer, Integer> tempMap;
63+
for (final Entry<String, ConcurrentHashMap<Integer, Integer>> entry : timeMap.entrySet()) {
6364
result[i][0] = entry.getKey();
6465
tempMap = entry.getValue();
6566
for (j = 1; j < colCount; j++) {
@@ -77,9 +78,9 @@ public Object[][] getGraphData() {
7778
// NON-API
7879

7980
private void increaseMainMetric(final String request, final int status) {
80-
HashMap<Integer, Integer> statusMap = metricMap.get(request);
81+
ConcurrentHashMap<Integer, Integer> statusMap = metricMap.get(request);
8182
if (statusMap == null) {
82-
statusMap = new HashMap<Integer, Integer>();
83+
statusMap = new ConcurrentHashMap<Integer, Integer>();
8384
}
8485

8586
Integer count = statusMap.get(status);
@@ -103,9 +104,9 @@ private void increaseStatusMetric(final int status) {
103104

104105
private void updateTimeMap(final int status) {
105106
final String time = dateFormat.format(new Date());
106-
HashMap<Integer, Integer> statusMap = timeMap.get(time);
107+
ConcurrentHashMap<Integer, Integer> statusMap = timeMap.get(time);
107108
if (statusMap == null) {
108-
statusMap = new HashMap<Integer, Integer>();
109+
statusMap = new ConcurrentHashMap<Integer, Integer>();
109110
}
110111

111112
Integer count = statusMap.get(status);

spring-security-rest-full/src/main/resources/webSecurityConfig.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
<beans:beans xmlns="http://www.springframework.org/schema/security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:beans="http://www.springframework.org/schema/beans"
33
xsi:schemaLocation="
44
http://www.springframework.org/schema/security
5-
http://www.springframework.org/schema/security/spring-security-4.0.xsd
5+
http://www.springframework.org/schema/security/spring-security.xsd
66
http://www.springframework.org/schema/beans
7-
http://www.springframework.org/schema/beans/spring-beans-4.2.xsd"
7+
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"
88
>
99

1010
<http pattern="/securityNone" security="none"/>

0 commit comments

Comments
 (0)