Использование ConcurentHashMap и AtomicInteger в качестве переменных экземпляра в классе обслуживания Spring
Я пытаюсь реализовать потокобезопасное использование ConcurentHashMap в одноэлементном сервисе Spring, который внедряется в контроллеры:
@Service
public MyService{
final ConcurrentMap<String, AtomicInteger> myMap = new ConcurrentHashMap<String, AtomicInteger>(10) {
{/* initialize the ten key/values */
}
};
public int add(String key) {
return myMap.get(key).incrementAndGet();
}
// accessed via ajax loop (and controller), if value changes update display
public int getCount(String key) {
return myMap.get(key).get();
}
}
Есть ли лучший способ сделать доступ к hashmap поточно-ориентированным? Как я могу адаптировать это для работы в кластерной среде? Это следующий домой другой вопрос.