фрагмент кода, используемый для выделения кэш-памяти:Как очистить кэш объект (память) через Java
private static Cache cache = CacheManager.getInstance().getCache(CACHE_NAME);
public static HashMap<String, XXX> getxxCodes(int version) {
HashMap<String, XXX> xxCodes = new HashMap<String, XXX>();
try{
Object[] cacheResult = cache.get(Constants.I_XX_CODES_FOR_XXX);
if (Boolean.FALSE.equals(cacheResult[1])) {
cache.put(Constants.I_XX_CODES_FOR_XXX, id.loadXXHashMap(version));
cacheResult = cache.get(Constants.I_XX_CODES_FOR_XXX);
}
if(cacheResult[0]!=null){
xxCodes = (HashMap<String, XXX>)cacheResult[0];
}
}catch(Exception e){
logger.error("Exception occured while loading Data from I10_DRG_XX",e);
}
return xxCodes;
}
Теперь в какой-то момент времени, нужно загрузить некоторую другую «версию» в кэш-памяти. Здесь версия может быть 1, 2, 3 и т. Д. Таким образом, в кеше сначала хранятся данные версии 1 (карта Hash). Теперь, когда я пропускаю 2, которые недоступны в кеше, ему нужно снова загружать определенные данные в кеш, но до этого лучше очистить данные версии 1. У нас есть команды вроде flush для очистки определенных данных?
Я надеюсь, что с моим вопросом ясно. Спасибо за помощь.
Какой пакет (ы) вы используете Cache и CacheManager? (Я не знаю этих классов, существующих в стандартных библиотеках Java.) –