Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Not A Problem
-
jcs-1.3
-
Production bug
Description
when ever i am storing more than 1000 objects using "presessioncache" (cache name)
whenever i am trying to get the objects from stored memory it always returns null. please see my code below and cache.ccf file.if i want to add 10000 objects could you tell me the configuration of cache.ccf file
cache.ccf file
***************************************************************************************************************************
- DEFAULT CACHE REGION
- sets the default aux value for any non configured caches
jcs.default=DC
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=80000
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.default.elementattributes.IsEternal=true
jcs.default.elementattributes.MaxLifeSeconds=3600
jcs.default.elementattributes.IdleTime=1800
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.IsRemote=false
jcs.default.elementattributes.IsLateral=false
- sets the default aux value for any non configured caches
jcs.preSessionCache=preSessionDC
jcs.preSessionCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.preSessionCache.cacheattributes.MaxObjects=80000
jcs.preSessionCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.preSessionCache.elementattributes.IsEternal=true
jcs.preSessionCache.elementattributes.MaxLifeSeconds=3600
jcs.preSessionCache.elementattributes.IdleTime=1800
jcs.preSessionCache.elementattributes.IsSpool=true
jcs.preSessionCache.elementattributes.IsRemote=false
jcs.preSessionCache.elementattributes.IsLateral=false
- sets the default aux value for any non configured caches
jcs.postSessionCache=postSessionDC
jcs.postSessionCache.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.postSessionCache.cacheattributes.MaxObjects=80000
jcs.postSessionCache.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
jcs.postSessionCache.elementattributes.IsEternal=false
jcs.postSessionCache.elementattributes.MaxLifeSeconds=3600
jcs.postSessionCache.elementattributes.IdleTime=1800
jcs.postSessionCache.elementattributes.IsSpool=false
jcs.postSessionCache.elementattributes.IsRemote=false
jcs.postSessionCache.elementattributes.IsLateral=false
- AUXILIARY CACHES AVAILABLE
- Primary Disk Cache – faster than the rest because of memory key storage
jcs.auxiliary.DC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.DC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.DC.attributes.DiskPath=c:/genone/wap/session
jcs.auxiliary.DC.attributes.MaxPurgatorySize=10000
jcs.auxiliary.DC.attributes.MaxKeySize=10000
jcs.auxiliary.DC.attributes.OptimizeAtRemoveCount=300000
jcs.auxiliary.DC.attributes.MaxRecycleBinSize=7500
jcs.auxiliary.DC.attributes.OptimizeOnShutdown=true
- Primary Disk Cache – faster than the rest because of memory key storage
jcs.auxiliary.preSessionDC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.preSessionDC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.preSessionDC.attributes.DiskPath=c:/genone/wap/preSessionCache
jcs.auxiliary.preSessionDC.attributes.MaxPurgatorySize=80000
jcs.auxiliary.preSessionDC.attributes.MaxKeySize=60000
jcs.auxiliary.preSessionDC.attributes.OptimizeAtRemoveCount=300000
jcs.auxiliary.preSessionDC.attributes.MaxRecycleBinSize=7500
jcs.auxiliary.preSessionDC.attributes.OptimizeOnShutdown=true
- Primary Disk Cache – faster than the rest because of memory key storage
jcs.auxiliary.postSessionDC=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
jcs.auxiliary.postSessionDC.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
jcs.auxiliary.postSessionDC.attributes.DiskPath=c:/genone/wap/postSessionCache
jcs.auxiliary.postSessionDC.attributes.MaxPurgatorySize=80000
jcs.auxiliary.postSessionDC.attributes.MaxKeySize=80000
jcs.auxiliary.postSessionDC.attributes.OptimizeAtRemoveCount=300000
jcs.auxiliary.postSessionDC.attributes.MaxRecycleBinSize=7500
jcs.auxiliary.postSessionDC.attributes.OptimizeOnShutdown=true
import java.text.SimpleDateFormat;
import java.util.Date;
import org.apache.jcs.JCS;
import org.apache.log4j.Logger;
*************************************************************************************************************************
public class PreSessionManager {
private static PreSessionManager instance;
private JCS preSessionCache;
private JCS patientSessionCache;
public PreSessionManager() {
log4j.info("Entering Constructor.");
try
catch (Exception e)
{ log4j.error("PreSession Error:", e); } log4j.info("Exiting Constructor.");
}
/**
*
- @return .
*/
public static PreSessionManager getInstance() {
log4j.info("Entering getInstance.");
synchronized (PreSessionManager.class)Unknown macro: { if (instance == null) { instance = new PreSessionManager(); } }log4j.info("Exiting getInstance.");
return instance;
}
/**
*
- @param id .
- @return .
*/
public PreSessionBean getPreSessionBean(final String id) { log4j.info("Inside getPreSessionBean."); return (PreSessionBean) preSessionCache.get(id); }
public PreSessionBean getPatientSessionBean(final String id)
{ log4j.info("Inside getPatientSessionBean."); return (PreSessionBean) patientSessionCache.get(id); } /**
*
- @param bean .
- @return .
*/
public synchronized String createPreSession(final PreSessionBean bean)Unknown macro: { log4j.info("Entering createPreSession"); try { SimpleDateFormat sdf = new SimpleDateFormat( "ddMMMyyyy(HH)mm:ss,SSS"); Date date = new Date(); String szTempSession = sdf.format(date); szTempSession = szTempSession.replace("(", "h"); szTempSession = szTempSession.replace(")", "m"); szTempSession = szTempSession.replace(":", "s"); szTempSession = szTempSession.replace(",", "n"); log4j.info(" PatientID"+bean.getSzPatientID()); preSessionCache.put(szTempSession, bean); patientSessionCache.put(szTempSession, bean); log4j.info("Exiting createPreSession"); return szTempSession; } catch (Exception e) { log4j.error("PreSession Error:", e); log4j.info("Exiting createPreSession"); return null; } }
/**
*
- @param szPatientID .
- @param szGuidelineIDs .
- @param isWAPSL .
- @return .
*/
public String createPreSession(final String szPatientID,
final String szGuidelineIDs, final boolean isWAPSL) { log4j.info("Entering createPreSession"); PreSessionBean bean = new PreSessionBean(); bean.setSzGuidelineID(szGuidelineIDs); bean.setSzPatientID(szPatientID); bean.setWAPSL(isWAPSL); log4j.info("Exiting createPreSession"); return createPreSession(bean); }
/**
*
- @param id .
- @return .
*/
public PreSessionBean removePreSession(final String id)Unknown macro: { log4j.info("Entering removePreSession"); try { PreSessionBean bean = (PreSessionBean) preSessionCache.get(id); preSessionCache.remove(id); log4j.info("Exiting removePreSession"); return bean; } catch (Exception e) { log4j.error("PreSession Error:", e); log4j.info("Exiting removePreSession"); return null; } }}