Хранение и извлечение JCS-кеша из файла

Мы храним токен аутентификации в JCS, при перезапуске сервера контекст кеша теряется. Чтобы преодолеть это, при остановке сервера было решено сохранить список значений JCS в файле, а после перезапуска прочитать файл и сохранить его обратно в JCS. Пожалуйста, помогите мне сохранить список кеша JCS в файле или любом другом возможном решении.

Я не могу изменить правильную реализацию выхода из хранения токена в кеше.

cache = JCS.getInstance("uniqueKey");
if (cache.get(key) == null) {
   cache.put(key, value);
}

2 ответа

Сохраняя значения в вашем кэше, вы можете добавить вспомогательное средство indexedDiskCacheFactory. Это сохранит ключ и данные в каталоге, настроенном в вашем файле cache.ccf. Просто добавьте следующий фрагмент для в ваш cache.ccf:

Регионы, предварительно подтвержденные для кэширования:

jcs.region.outputCache=DC
jcs.region.outputCache.cacheattributes.DiskUsagePatternName=UPDATE

Индексированный путь к диску

jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=d:/cache/dev/raf
jcs.auxiliary.DC.attributes.MaxKeySize=100000`

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

Еще одна вещь, которую следует помнить, — убедиться, что объект, который вы сохраняете, реализует Serializable.

Я потратил много времени, задаваясь вопросом, почему ничего не происходит.

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