Могу ли я получить просроченную запись в кеше от прослушивателя сервера Infinispan с помощью @ClientCacheEntryExpired?

Я модифицирую встроенное приложение Infinispan для использования сервера Infinispan и клиента HotRod. Встроенная реализация полагалась на обнаружение событий истечения срока действия кеша в слушателе. Используя событие "pre", я могу прочитать запись с истекшим сроком действия и обновить внешние данные.

Эта функциональность избавила меня от необходимости писать свой собственный reaper, но, насколько я могу судить, реализация клиента HotRod не предоставляет такой возможности. Я могу определить истечение срока действия с помощью @ClientCacheEntryExpired, но, по-видимому, событие срабатывает после того, как запись удаляется из кеша, и единственные данные, доступные слушателю, являются ключом.

Есть ли (простой) способ дублировать встроенное поведение? Или мне придется внедрить свой собственный жнец истечения срока действия?

1 ответ

Вы можете настроить событие (см. Документацию), чтобы включить удаленное значение, но событие всегда будет запускаться после удаления.

Не по теме; сервер Infinispan может обмениваться данными с хранилищем JDBC (документация), и вы можете настроить вытеснение с сохранением обратной записи для хранения ваших данных извне (см. документацию по выселению и записи-Behing).

Другие вопросы по тегам