2013-03-08 9 views
5

मैं जेसीएस 1.3 कैशिंग के साथ एक वेब ऐप विकसित कर रहा हूं।जेसीएस डिस्क सहायक सहायक कैश डिस्कपाथ

मुझे जेवीएम संपत्ति से रनटाइम पर इंडेक्स डिस्क डिस्क सहायक कैश के डिस्कपाथ को संपादित करने की आवश्यकता है।

क्या आपको ऐसा करने का कोई तरीका पता है?

मैं सहायक सहायक कैश ऑब्जेक्ट बनाने में कामयाब रहा लेकिन मुझे नहीं पता कि कैश.सीसीएफ में परिभाषित मेरे सभी क्षेत्रों के साथ इसे कैसे कनेक्ट किया जाए।

JCS cache = JCS.getInstance(region); 

एक विचार करें:

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); 

एक क्षेत्र निम्नलिखित मैं का उपयोग पाने के लिए:

यहाँ कोड डिस्क कैश पैदा कर रही है?

उत्तर

2

हमने अंततः वेब ऐप के क्लासपाथ से जेसीएस conf फ़ाइल (cache.ccf) निकाला।

मैंने इस फ़ाइल के लिए एक JVM प्रॉपर्टी जोड़ा। जेसीएस क्षेत्रों तक पहुंचने से पहले, मैं गुण लोड करता हूं फिर JCS को कॉन्फ़िगर करने के लिए CompositeCacheManager क्लास का उपयोग करता हूं।

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); 

source of the solution

संबंधित मुद्दे