I'll probably reformat this question in a simpler way.

The goal is to persist an element and retrieve it after restart of a new vm.

so simplifying the test:

 private void performSimplerObjectPersistingInMemoryAndDisk(String
> configFile, String expected) throws Exception {
>

>                     String key = "key", value = "value";

JCS.setConfigFilename(configFile);
> JCS cache = JCS.getInstance("OUR_REGION");

cache.put(key, value);
> Thread.sleep(5000);
> Assert.assertNotNull(cache.get(key));
> Assert.assertEquals(value, cache.get(key));
> System.out.println(cache.getStats());
> CompositeCacheManager.getInstance().shutDown();
> Thread.sleep(5000);
> JCS.setConfigFilename(configFile);
> cache = JCS.getInstance("OUR_REGION");
> Assert.assertEquals(expected, cache.get(key));
> System.out.println(cache.getStats());
> }



...I've been trying this test with a set of configuration files, last one:

# DEFAULT CACHE REGION
> jcs.default=DISK_REGION
> jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> jcs.default.cacheattributes.MaxObjects=1000
>
> jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> jcs.default.cacheattributes.DiskUsagePatternName=UPDATE
> jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
> jcs.default.elementattributes.IsSpool=true
> jcs.default.elementattributes.IsRemote=false
> jcs.default.elementattributes.IsLateral=false
> jcs.default.elementattributes.IsEternal=true
> # CUSTOM REGION
> jcs.region.OUR_REGION=DISK_REGION
>
> jcs.region.OUR_REGION.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> jcs.region.OUR_REGION.cacheattributes.MaxObjects=0
>
> jcs.region.OUR_REGION.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> jcs.region.OUR_REGION.cacheattributes.UseMemoryShrinker=true
> jcs.region.OUR_REGION.cacheattributes.MaxMemoryIdleTimeSeconds=3600
> jcs.region.OUR_REGION.cacheattributes.ShrinkerIntervalSeconds=60
> jcs.region.OUR_REGION.cacheattributes.MaxSpoolPerRun=500
>
> jcs.region.OUR_REGION.elementattributes=org.apache.jcs.engine.ElementAttributes
> jcs.region.OUR_REGION.elementattributes.IsEternal=true
> jcs.region.OUR_REGION.elementattributes.IsSpool=true
> jcs.region.OUR_REGION.elementattributes.IsRemote=false
> jcs.region.OUR_REGION.elementattributes.IsLateral=false
> jcs.region.OUR_REGION.cacheattributes.DiskUsagePatternName=UPDATE
> # AUXILIARY
>
> jcs.auxiliary.DISK_REGION=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
>
> jcs.auxiliary.DISK_REGION.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
> jcs.auxiliary.DISK_REGION.attributes.DiskPath=/tmp/jcs/cache
> jcs.auxiliary.DISK_REGION.attributes.maxKeySize=100000
> jcs.auxiliary.DISK_REGION.attributes.OptimizeOnShutdown=true
> jcs.auxiliary.DISK_REGION.attributes.MaxPurgatorySize=80000
> jcs.auxiliary.DISK_REGION.attributes.OptimizeAtRemoveCount=300000
> jcs.auxiliary.DISK_REGION.attributes.MaxRecycleBinSize=7500
> jcs.auxiliary.DISK_REGION.attributes.OptimizeOnShutdown=true


anyone have an idea or example of how this could work?

thanking you in advance

os melhores cumprimentos / best regards / Mit freundlichen Grüssen / Saludos

joão tiago viegas

On 14 November 2014 11:56, Duncan Jones <djo...@apache.org> wrote:

> Hi João,
>
> This is probably best addressed to the Commons user mailing list. I've
> BCC'd the issues list so people know where this email thread went to.
> Please also prefix the Commons component into the subject line (in
> this case [JCS], which I've done for you).
>
> Duncan
>
> On 14 November 2014 11:25, joao tiago a. m. viegas <jtvie...@gmail.com>
> wrote:
> > hello,
> >
> > I've been testing jcs, I want a cache that allows me to save all the
> > eleemnts when I shutsown gracefully, and later when I create a new
> instance
> > of the same cache I can get those same objects I had before in the first
> > encarnation of that same cache.
> > I made this test and I'm actually using two identical confs, but for some
> > reason I'm getting different results.
> > Could you please help me understanding why?
> >
> > tests are:
> >
> > private static final String[] configs = new String[]
> >> {"ObjectPersistingInMemoryAndDisk_x1.ccf",
> >> "ObjectPersistingInMemoryAndDisk_x2.ccf"};
> >>
> > private static final String[] expecteds = new String[] {null, null};
> >
> > private static final String region = "OUR_REGION";
> >> private static final String key="key", value="value";
> >
> > .....
> >> .....
> >
> > @Test
> >> public void testObjectPersistingInMemoryAndDisk_1() throws Exception{
> >>
> >> performObjectPersistingInMemoryAndDisk(JCS_CONFIG_DIR + configs[0],
> >> expecteds[0]);
> >> }
> >>
> >> @Test
> >> public void testObjectPersistingInMemoryAndDisk_2() throws Exception{
> >>
> >> performObjectPersistingInMemoryAndDisk(JCS_CONFIG_DIR + configs[1],
> >> expecteds[1]);
> >> }
> >>
> >> private void performObjectPersistingInMemoryAndDisk(String configFile,
> >> String expected) throws Exception{
> >>
> >>
> >>
> System.out.println("-----------------------------------------------------------");
> >>
> >> System.out.println("testing with config file:" + configFile);
> >> JCS.setConfigFilename(configFile);
> >> JCS cache = JCS.getInstance(region);
> >> cache.put(key, value);
> >> Thread.sleep(5000);
> >> Assert.assertNotNull(cache.get(key));
> >> Assert.assertEquals(value, cache.get(key));
> >>
> >> IStats stats = cache.getStatistics().getAuxiliaryCacheStats()[0];
> >>
> >>
> cache.freeMemoryElements(Integer.parseInt(stats.getStatElements()[0].getData()));
> >> Thread.sleep(5000);
> >> Assert.assertNotNull(cache.get(key));
> >> Assert.assertEquals(value, cache.get(key));
> >> System.out.println(cache.getStats());
> >> CompositeCacheManager.getInstance().shutDown();
> >>
> >> Thread.sleep(5000);
> >>
> >> JCS.setConfigFilename(configFile);
> >> cache = JCS.getInstance(region);
> >> Assert.assertEquals(expected, cache.get(key));
> >>
> >> System.out.println(cache.getStats());
> >> cache.clear();
> >> cache.dispose();
> >> CompositeCacheManager.getInstance().shutDown();
> >> }
> >
> >
> > ...the confs are:
> >
> > -- ObjectPersistingInMemoryAndDisk_x1.ccf --
> > # DEFAULT CACHE REGION
> > jcs.default=DISK_REGION
> >
> jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> > jcs.default.cacheattributes.MaxObjects=1000
> >
> jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> > #jcs.default.cacheattributes.DiskUsagePatternName=UPDATE
> >
> > jcs.region.OUR_REGION=DISK_REGION
> >
> jcs.region.OUR_REGION.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> > jcs.region.OUR_REGION.cacheattributes.MaxObjects=1000
> >
> jcs.region.OUR_REGION.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> > jcs.region.OUR_REGION.cacheattributes.UseMemoryShrinker=true
> > jcs.region.OUR_REGION.cacheattributes.MaxMemoryIdleTimeSeconds=3600
> > jcs.region.OUR_REGION.cacheattributes.ShrinkerIntervalSeconds=60
> > jcs.region.OUR_REGION.cacheattributes.MaxSpoolPerRun=500
> >
> jcs.region.OUR_REGION.elementattributes=org.apache.jcs.engine.ElementAttributes
> > jcs.region.OUR_REGION.elementattributes.IsEternal=false
> >
> >
> jcs.auxiliary.DISK_REGION=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
> >
> jcs.auxiliary.DISK_REGION.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
> > jcs.auxiliary.DISK_REGION.attributes.DiskPath=/tmp/jcs/cache
> > jcs.auxiliary.DISK_REGION.attributes.maxKeySize=100000
> >
> >
> > -- ObjectPersistingInMemoryAndDisk_x2.ccf --
> > # DEFAULT CACHE REGION
> > jcs.default=DISK_REGION
> >
> jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> > jcs.default.cacheattributes.MaxObjects=1000
> >
> jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> > #jcs.default.cacheattributes.DiskUsagePatternName=UPDATE
> >
> > jcs.region.OUR_REGION=DISK_REGION
> >
> jcs.region.OUR_REGION.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
> > jcs.region.OUR_REGION.cacheattributes.MaxObjects=1000
> >
> jcs.region.OUR_REGION.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache
> > jcs.region.OUR_REGION.cacheattributes.UseMemoryShrinker=true
> > jcs.region.OUR_REGION.cacheattributes.MaxMemoryIdleTimeSeconds=3600
> > jcs.region.OUR_REGION.cacheattributes.ShrinkerIntervalSeconds=60
> > jcs.region.OUR_REGION.cacheattributes.MaxSpoolPerRun=500
> >
> jcs.region.OUR_REGION.elementattributes=org.apache.jcs.engine.ElementAttributes
> > jcs.region.OUR_REGION.elementattributes.IsEternal=false
> >
> >
> jcs.auxiliary.DISK_REGION=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheFactory
> >
> jcs.auxiliary.DISK_REGION.attributes=org.apache.jcs.auxiliary.disk.indexed.IndexedDiskCacheAttributes
> > jcs.auxiliary.DISK_REGION.attributes.DiskPath=/tmp/jcs/cache
> > jcs.auxiliary.DISK_REGION.attributes.maxKeySize=100000
> >
> >
> >
> >
> > os melhores cumprimentos / best regards / Mit freundlichen Grüssen /
> Saludos
> >
> > joão tiago viegas
>

Reply via email to