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]