Hi, I did not look at the details of you problem. JCS does work, so try these:
jcs.default.elementattributes.IdleTime=-1 jcs.region.testCache1.elementattributes.IsEternal=true On 18/02/2008, KWeisser <[EMAIL PROTECTED]> wrote: > > I'm currently using JCS to cache the search results returned from a query, > and then using the cache to help me implement pagination. I'm running > Rational Software Architect 7.0.0.4, and am experiencing some odd behavior. > > Initially, I am able to set the result set (an ArrayList of 200 Object) onto > the cache. I then access the cache to fetch the first 10 results from the > ArrayList. The cache is also accessed to determine the total number of > records that I have. I'm typically able to access this ArrayList off the > cache 4 or 5 times, and after that the get method returns null for my > ArrayList. Any idea why this object is dissappearing from the cache after > several times of successfully accessing the ArrayList? Any help is greatly > appreciated. > > Here is my cache.ccf file: > # DEFAULT CACHE REGION > > jcs.default=DC,LTCP > jcs.default.cacheattributes= > org.apache.jcs.engine.CompositeCacheAttributes > jcs.default.cacheattributes.MaxObjects=1000 > jcs.default.cacheattributes.MemoryCacheName= > org.apache.jcs.engine.memory.lru.LRUMemoryCache > > # PRE-DEFINED CACHE REGIONS > > jcs.region.testCache1=DC,LTCP > jcs.region.testCache1.cacheattributes= > org.apache.jcs.engine.CompositeCacheAttributes > jcs.region.testCache1.cacheattributes.MaxObjects=1000 > jcs.region.testCache1.cacheattributes.MemoryCacheName= > org.apache.jcs.engine.memory.lru.LRUMemoryCache > jcs.region.testCache1.cacheattributes.UseMemoryShrinker=true > jcs.region.testCache1.cacheattributes.MaxMemoryIdleTimeSeconds=3600 > jcs.region.testCache1.cacheattributes.ShrinkerIntervalSeconds=60 > jcs.region.testCache1.cacheattributes.MaxSpoolPerRun=500 > jcs.region.testCache1.elementattributes=org.apache.jcs.engine.ElementAttributes > jcs.region.testCache1.elementattributes.IsEternal=false > > > # AVAILABLE AUXILIARY CACHES > 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=g:/dev/jcs/raf > jcs.auxiliary.DC.attributes.maxKeySize=100000 > > jcs.auxiliary.LTCP= > org.apache.jcs.auxiliary.lateral.LateralCacheFactory > jcs.auxiliary.LTCP.attributes= > org.apache.jcs.auxiliary.lateral.LateralCacheAttributes > jcs.auxiliary.LTCP.attributes.TransmissionTypeName=TCP > jcs.auxiliary.LTCP.attributes.TcpServers=localhost:1111 > jcs.auxiliary.LTCP.attributes.TcpListenerPort=1110 > jcs.auxiliary.LTCP.attributes.PutOnlyMode=false > > Here is my code accessing the cache: > /** > * This is a sample LazyLoading DataScroller that > * uses the JSF LazyLoading DataScroller library > * @author hazems > */ > public class MyLazyLoadingDataScroller extends > AbstractLazyLoadingDataScroller { > > public MyLazyLoadingDataScroller() { > //Pass the id of the dataTable to the > AbstractLazyLoadingDataScroller base > super("tableEx1"); > } > > /** > * Override for getting the data from the Database > * Use the getOffset() and the getPageSize() to know > * the From and To records to be gotten from the Database > */ > public List getPageData() { > int pageSize = getPageSize(); > int offset = getOffset(); > List pageData = new ArrayList(); > ArrayList lst = new ArrayList(); > > try { > JCS cache = JCS.getInstance("default"); > lst = (ArrayList)cache.get("caseSrchResults"); > > if (lst != null){ > for (int i = offset; (i < pageSize + offset) > && (i < lst.size()); ++i) { > pageData.add(lst.get(i)); > } > } > } catch ( CacheException e ) { > e.printStackTrace(); > } > > return pageData; > } > > public int getStart(){ > return getOffset(); > } > > public int getEnd(){ > return getPageSize() + getOffset(); > } > > /** > * Override this method to return the total number of records > */ > public int getTotalNumberOfRows() { > ArrayList lst = new ArrayList(); > > // in your constructor you might do this > try { > JCS cache = JCS.getInstance("default"); > lst = (ArrayList)cache.get("caseSrchResults"); > } catch ( CacheException e ) { > e.printStackTrace(); > } catch ( Exception e){ > e.printStackTrace(); > } > if (lst == null) return 0; > else return lst.size(); > } > } > > -- > View this message in context: > http://www.nabble.com/Objects-disappearing-from-cache-tp15547022p15547022.html > Sent from the JCS - Users mailing list archive at Nabble.com. > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]