Hi Aaron,
I just configured a log4j logger, appender for org.apache.jcs, set to
DEBUG,and I get a ton of output in the log. Nothing looks awry, one
WARN though.
2009-08-19 12:39:54,598 13711 WARN - Region [OpenStreetMaps] Disk
cache not shutdown properly, shutting down now.
2009-08-19 12:39:54,598 13711 INFO - In DISPOSE, [OpenStreetMaps]
fromRemote [false]
Re
This issue is driving me mad, it seems random. I'll clear the cache
dir, run the app, exit and inspect the cache dir and both /key
and .data files will have size 0. Then I'll run again and things
appear to start to work, and the disk cache builds up. It's as if
there is some race condition in the shutdown process. yes, I am
calling CCF.getInstance().shutdown() in my own VM shutdown listener.
Is the jcs shutdown process synchronous, or does it spawn a new
thread, which might be been abandoned by my VM?
I am using jcs 1.3 on jdk 1.6.0_14 on Mac 10.5. I am using maven2
for build, so not sure if I can try the latest jcs build?
Any help appreciated.
Stuart
On Aug 19, 2009, at 12:25 PM, Aaron Smuts wrote:
What version are you using? (I recommend the latest temp build.)
Try shutting down in an orderly fashion. Call shutdown on the
CompositeCacheManager. In any case, the disk cache registers a vm
shutdown listener. It should write the data.
Are there errors in the log?
Do you see any .data file? If not, there may be a configuration or
a file permission problem. Check the logs. Set the memory size to
0 and see if the data goes to disk during normal usage.
Aaron
--- On Wed, 8/19/09, Stuart Maclean <[email protected]> wrote:
From: Stuart Maclean <[email protected]>
Subject: memory cache not written out to disk on shutdown?
To: [email protected]
Date: Wednesday, August 19, 2009, 12:04 PM
Hi all, I am trying to use JCS in a
mapping application. I have a Swing map tool, which
retrieves and displays map tile images from eg
openstreetmap.org. Logically my cache objects are
Images, though I am converting to and from int[] for
serialization. My cache keys are a string encoding of
the map tile components z,y,x, e.g z-y-x.
In my cache.ccf, I am specifying properties just for
default regions. I am right in assuming that my named
regions in my code 'inherit' their configuration from the
defaults? Is it true also that if I use two regions,
R1 and R2, that EACH region gets its own 10 objects
(MaxObjects) or is 10 the total number of in-memory cached
objects?
What I want to happen is this. When cache empty, go
to map tile server and get tiles. Store to JCS cache.
Mainatin say 50 in memory for each tile 'layer' (where a
layer maps to a tile set from one map server). When my
app requires the 51st image, flush LRU to disk cache. When
my app exits, serialize the entire memory cache to disk,
effectively using the cache as a persistence engine.
When restart my app, get Images from local disk before going
to remote map server.
Alas, when I call shutdown (from a VM shutdown listener,is
this the problem???) my .key and .data files on disk never
seem to be updated. It's as though the in memory cache
is never 'flushed' to disk? Should it be?
I seem to be missing something here? Any help
appreciated.
Stuart
My cache.ccf is here...
jcs.default=DC
jcs
.default
.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=10
jcs
.default
.cacheattributes
.MemoryCacheName=org.apache.jcsengine.memory.lru.LRUMemoryCache
jcs.default.elementattributes.IsEternal=true
jcs.default.elementattributes.MaxLifeSeconds=1000000
jcs.default.elementattributes.IdleTime=1800
jcs.default.elementattributes.IsSpool=true
jcs.default.elementattributes.IsRemote=true
jcs.default.elementattributes.IsLateral=true
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=${user.home}/.sgDesktop/map/
cache3
jcs.auxiliary.DC.attributes.MaxKeySize=100000
jcsauxiliary.DC.attributes.MaxPurgatorySize=100000
#jcs.auxiliary.DC..attributes.ShutdownSpoolTimeLimit=60
---------------------------------------------------------------------
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]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]