Well, I print out some debug in my VM shutdown listener after the call to CCF.shutdown and the debug appears, so I assume the shutdown call is firing.

I'll install the 1.3.3.5-RC version. Do I use the existing pom do you know, or copy the pom to a new one and tweak?

Stuart

On Aug 19, 2009, at 1:08 PM, Aaron Smuts wrote:

You can download the latest temp build and put it in your local maven repo. You aren't forced to only use a remote repo with maven. No one would use maven otherwise. You wouldn't be able to use your own libraries. . . .

Running in INFO log level is fine.

"Disk cache not shutdown properly, shutting down now." Shouldn't show up if shutdown was called. That's only called if the vm shutdown listener detects the shutdown. That won't flush memory, it will merely write the key file to disk. To get the memory contents to disk, you have to do an orderly shutdown. Are you sure the listener works?

Can you past in the logs after shutdown is called.

You can also configure the region to use the DiskUsagePatternName=UPDATE.

Aaron


--- On Wed, 8/19/09, Stuart Maclean <stu...@apl.washington.edu> wrote:

From: Stuart Maclean <stu...@apl.washington.edu>
Subject: Re: memory cache not written out to disk on shutdown?
To: "JCS Users List" <jcs-users@jakarta.apache.org>
Date: Wednesday, August 19, 2009, 12:48 PM
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 <stu...@apl.washington.edu>
wrote:

From: Stuart Maclean <stu...@apl.washington.edu>
Subject: memory cache not written out to disk on
shutdown?
To: jcs-us...@jakartaapache.org
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
jcsdefault.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: jcs-users-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jcs-users-h...@jakarta.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jcs-users-h...@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jcs-users-h...@jakarta.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jcs-users-h...@jakarta.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-users-unsubscr...@jakarta.apache.org
For additional commands, e-mail: jcs-users-h...@jakarta.apache.org

Reply via email to