У меня странная проблема с EntryProcessor.У меня есть кэш разделов. У которого есть String в качестве ключа и Object в качестве значения. С другой стороны у меня есть Spring Poller, который опрашивает данные из этого кэша, используя cache.entrySet
. Как только я получаю набор ключей, попробуйте удалить изкеш, используя процессор ввода. Внутри процесса обработки процессора ввода, я проверил, присутствует ли ключ, используя isPresent()
, если ключ присутствует, то удалите, используя binaryentry.remove
. Это хорошо работает с одним узлом. Но когда мы работаем в многоузловомВ среде, я вижу, что даже ключ удаляется из кэша один раз, с разницей в миллисекунды, он снова попадает в блок isPresent
и пытается удалить ключ и возвращает true.
Вопрос: - ПочемуisPresent
возвращает истинное значение второй раз, когда ключ уже удален из кэша?
Примечание: - У меня 10 узлов, работающих на одном сервере. У меня 30 узлов в общей сложности на 3 блоках Unix. Попробуйте каждый узелвытащить тот же набор ключей, но если ключ удаляется одним узлом, он проверяет другой ключ.