Я использую Spring + Hazelcast 3.8.2 и настроил такую карту, используя конфигурацию Spring:
<hz:map name="test.*" backup-count="1"
max-size="0" eviction-percentage="30" read-backup-data="true"
time-to-live-seconds="900"
eviction-policy="NONE" merge-policy="com.hazelcast.map.merge.PassThroughMergePolicy">
<hz:near-cache max-idle-seconds="300"
time-to-live-seconds="0"
max-size="0" />
</hz:map>
У меня подключено два клиента (оба на одном компьютере [тестовый env], используя разные порты).
Когда я меняю значение на карте на одном клиенте, у другого клиента все еще остается старое значение, пока оно не будет удалено из ближайшего кеша из-за истекшего времени простоя.
Я обнаружил похожую проблему здесь: Удаление из кэша Hazelcast не работает а>
Но я не уверен, действительно ли это та же проблема, по крайней мере, упоминается, что это была ошибка в версии 3.7, а мы используем 3.8.2.
Это правильное поведение или я что-то делаю не так? Я знаю, что есть свойство invalidate-on-change
, но по умолчанию это true
, поэтому я не думаю, что мне придется его устанавливать.
Я также пробовал установить read-backup-data
на false
, не помогает.
Спасибо за поддержку
Христианин