Я пытаюсь сделать простую вещь, например сохранить что-то в кеше и извлечь его в следующий раз, если оно существует. Почему-то с первого раза все работает нормально, при втором вызове все в файле кеша удаляется и кеш создается заново. Вот мой файл конфигурации ehcache
<ehcache>
<diskStore path="<TEMP_DIR_PATH>" />
<defaultCache maxElementsInMemory="10000" eternal="true"
timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true"
maxElementsOnDisk="10000000" diskPersistent="true"
diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU" />
<cache name="mycache" maxElementsInMemory="1" eternal="true"
overflowToDisk="true" timeToIdleSeconds="300" timeToLiveSeconds="600"
diskPersistent="true" diskExpiryThreadIntervalSeconds="1"
memoryStoreEvictionPolicy="LFU"/>
</ehcache>
Код фактически создает 2 файла, один с именем mycache.index, а другой с именем mycache.data. Код для помещения значения в кеш приведен ниже.
Cache cache = cacheManager.getCache("mycache");
Element myElement= new Element("KEY1","This will be stored in cache");
cache.put(myElement);
Может ли кто-нибудь указать, где что-то идет не так?
Я хотел каждый раз использовать один и тот же сохраненный файл кеша и создавать новый файл, только если файл данных отсутствует.