Hazelcast запускает событие обновления слушателя, даже если значение не изменилось

Используя 3.8.1. Даже если помещены тот же ключ и значение, запускается обновленное событие? Почему?

    map.addEntryListener(new EntryUpdatedListener() {
        @Override
        public void entryUpdated(EntryEvent event) {
            System.out.println("Updated listener fired oldvalue: " + event.getOldValue() + ", newvalue: " + event.getValue());
        }
    }, true);

map.put("hello", "world");
map.put("hello", "world");

Выход:

Обновленный слушатель запустил oldvalue: world, newvalue: world

Обновленный слушатель запустил oldvalue: world, newvalue: world


person hklf    schedule 03.05.2017    source источник


Ответы (1)


Новое значение предоставляется put. Он может иметь те же байты, что и оригинал. Равенство - это не то же самое, что идентичность. Это очень тонкое различие, и, в конечном итоге, это решение реализации. Также обратите внимание, что некоторые приложения put имеют то же значение, что и способ инициирования обработки стиля триггера.

person Neil Stevenson    schedule 03.05.2017
comment
См. Также docs.hazelcast.org /docs/3.8/javadoc/com/hazelcast/core/ - person Neil Stevenson; 03.05.2017