Кеширование с использованием спящего режима - PullRequest
3 голосов
/ 08 января 2011

У меня есть 2 приложения. Первое - это веб-приложение, через которое мы предоставляем справочные данные. Второе - это приложение на основе ESB, в котором используются справочные данные. Справочные данные меняются, но не очень часто. Нам нужно было кэшировать справочную информацию.data.The веб-приложение (я не владелец) использовал спящий режим.Но мое приложение на базе ESB этого не сделало. Мы использовали только EHCache.Когда справочные данные изменяются независимым веб-приложением, которое должно быть отражено в приложении ESB. Мы реализованы с использованием очереди сообщений - то есть когда справочные данные изменяются, веб-приложение отправляет сообщение в очередь сообщений. Наше приложение ESB прослушивает это сообщение и очищаеткэш и кеширует данные еще раз. Это работает. Но это занимает много времени. Как я могу использовать Hibernate для улучшения ситуации?

С уважением, Subhendu

Ответы [ 2 ]

1 голос
/ 08 января 2011

На самом деле это не проблема гибернации, насколько я вижу. Я бы сказал, что это больше о кешировании. Итак, я бы порекомендовал взглянуть на некоторые распределенные кэши, особенно Infinispan . Таким образом, оба приложения могут использовать один и тот же кеш и манипулировать им. Если вы просто используете Hibernate, но кэши по-прежнему находятся на разных машинах с разными состояниями, то вы столкнетесь с той же проблемой.

0 голосов
/ 08 января 2011

Одним из решений может быть использование EHCache в приложении Hibernate, но вы говорите, что у вас нет никакого контроля над ним ...

Таким образом, единственный способ, который я вижу для вас, состоит в том, чтобы минимизировать затраты и использовать множество различных областей кэша и сделать недействительной только небольшую часть ваших кэшированных данных (так же, как вы делаете это сейчас).

...