JCS редактировать Disk Auxiliary Cache DiskPath

Я разрабатываю веб-приложение с кэшированием JCS 1.3.

Мне нужно отредактировать DiskPath вспомогательного кэша индексированного диска во время выполнения из свойства JVM.

Вы знаете способ сделать это?

Мне удалось создать объект AuxiliaryCache, но я не знаю, как связать его со всеми моими регионами, определенными в cache.ccf.

Вот код создания дискового кеша:

IndexedDiskCacheAttributes indexedCacheAttr = new IndexedDiskCacheAttributes();

indexedCacheAttr.setMaxKeySize(10000);
indexedCacheAttr.setMaxRecycleBinSize(10000);
indexedCacheAttr.setMaxPurgatorySize(10000);
indexedCacheAttr.setOptimizeAtRemoveCount(5000);

String cacheDir = System.getProperty("xxxxx");

if (cacheDir == null || cacheDir.trim().length() == 0) {
log.error("error:JCSManager xxxx.");
} else {          
indexedCacheAttr.setDiskPath(cacheDir);
}


IndexedDiskCacheManager indexedCacheManager = 
IndexedDiskCacheManager.getInstance(indexedCacheAttr); 

// instance du cache disque 
AuxiliaryCache auxCache = indexedCacheManager.getCache(region);

Чтобы получить регион, я использую следующее:

JCS cache = JCS.getInstance(region);

Пожалуйста, идея?


person Dino    schedule 08.03.2013    source источник


Ответы (1)


Наконец, мы извлекли файл конфигурации JCS (cache.ccf) из пути к классам веб-приложения.

Я добавил свойство JVM для этого файла. Перед доступом к областям JCS я загружаю свойства, а затем использую класс CompositeCacheManager для настройки JCS.

String jcsConfFile = System.getProperty("XXXXXX");

if (jcsConfFile == null || jcsConfFile.trim().length() == 0) {
  log.error("error:JCSManager .........");
} else {
  Properties props = new Properties();

  try {
    // load a properties file
    props.load(new FileInputStream(jcsConfFile));
  } catch (IOException e) {
    log.error("error:JCSManager ........", e);
  }

  CompositeCacheManager ccm = CompositeCacheManager.getUnconfiguredInstance();

  ccm.configure(props);
}

//....
// later, ask for the region
JCS cache = JCS.getInstance(region);

источник решения

person Dino    schedule 11.03.2013