#java #spring #caching #weblogic11g
#java #spring #кэширование #weblogic11g
Вопрос:
У меня есть требование кэшировать объекты java xml-компонента путем чтения xml-файлов из базы данных. Я использую HashMap в памяти для поддержки моих объектов Java. Я использую spring для DI и Weblogic 11g app server.
Не могли бы вы, пожалуйста, предложить мне механизм перезагрузки кэша при обновлении XML-файлов.
Ответ №1:
Для этой цели вы можете использовать weblogic p13n cache вместо того, чтобы использовать свою собственную HashMap для кэширования объектов java. Вам нужно будет настроить p13n-cache-config.xml файл, который содержит TTL, максимальное значение и т.д. для вашего кэша.
Переходя к первому пункту, кэш будет автоматически перезагружен по истечении времени TTL. Для ручной очистки кэша вы можете реализовать что-то вроде сервлета, который вы можете использовать непосредственно из своего браузера (можете ограничить его для определенного URL). В этом сервлете очистите кэш, который вы хотите перезагрузить.
weblogic p13n cache также предоставляет вам метод очистки кэша с поддержкой кластера, если вам это нужно, в случае, если вы хотите использовать свою собственную хэш-карту для кэширования, предоставьте метод обновления для этой хэш-карты и очистите объекты java, которые вы хотите перезагрузить, а затем вызовите метод создания кэша.