Как приложения уведомляются Gemfire
В веб-приложении, которое использует Gemfire для хранения своего сеанса (Spring Session - реализация HTTPSession), как Gemfire уведомляет об изменениях (например, об истечении срока действия кэша, изменении кэша, уничтожении кэша... событиях)? особенно когда Gemfire развернут в модели клиент-сервер или одноранговой модели и т. д. событие может быть запущено на каком-либо одном узле во всей распределенной среде, возможно, мы не захотим продолжать слушать все узлы... и т. д.
Я вижу, что Gemfire имеет MBeans, который отправляет уведомления, должно ли наше приложение перехватывать прослушиватели этих уведомлений MBean или есть какой-то другой лучший способ?
Цель состоит в том, чтобы поместить некоторый код очистки во время таких событий.
1 ответ
Вы можете использовать подход модели приемника событий GemFire, при котором каждый узел будет прослушивать события (poll - sorta), вместо того, чтобы исходный "толкать" каждый узел. в GemFire, посмотрите на ContinuousQueryListener
( Пример интеграции Spring или Spring Data GemFire docs), чтобы вы могли подписаться на события.