Я пытаюсь реализовать распределенный кеш с помощью Hazelcast в своем приложении. Я использую IMap
Hazelcast. У меня проблема в том, что каждый раз, когда я получаю значение с карты и обновляю значение, мне нужно снова делать put(key, value)
. Если у моего объекта значения 10 свойств, и мне нужно обновить все 10, мне нужно вызвать put(key, value)
10 раз. Что-то вроде -
IMap<Integer, Employee> mapEmployees = hz.getMap("employees");
Employee emp1 = mapEmployees.get(100);
emp1.setAge(30);
mapEmployees.put(100, emp1);
emp1.setSex(“F”);
mapEmployees.put(100, emp1);
emp1.setSalary(5000);
mapEmployees.put(100, emp1);
Если я этого не сделаю, какой-то другой узел, работающий с тем же объектом Employee, обновит его, и в конечном итоге объект employee не будет синхронизирован. Есть ли какое-нибудь решение, чтобы избежать явного многократного вызова put? В ConcurrentHashMap
мне не нужно этого делать, потому что, если я изменяю объект, карта также обновляется.