Я пытаюсь сделать простую вещь, например, сохранить что-то в кеше и получить его в следующий раз, если оно существует. По какой-то причине все работает нормально в первый раз, когда вызывается второй раз, все в файле кеша удаляется и кеш создается заново. Вот мой конфигурационный файл 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);
Может ли кто-нибудь указать, где что-то идет не так?
Я хотел использовать один и тот же сохраненный файл кэша каждый раз и создавать новый файл, только если файл данных отсутствует.