Thanks Travis. Did you include the below patches from Christian in your current JCS source code?
######################################### I have included my changes and hope that someone will check them. Concerning the alive flag which is used throughout the whole tool, I would like to know why so many methods do have the right to change it. From my point of view, only one method per cache type should be able to toggle it. I think that the concrete dispose methods should be the ones to set it to false. Therefore I removed alive = false from various methods. ICacheEventQueue: I added a method isEmpty to the interface. This idea behind it is, to check if the cache event queue is empty. This has to be called in AbstractDiskCache#dispose() to ensure that all elements are processed before the shutdown of the system. CompositeCache#dispose(): The setting of alive from true to false has to be removed. CacheEventQueue: Implemented isEmpty from the ICacheEventQueue interface. The method returns the boolean value of head == tail. AbstractDiskCache#dispose: The method ICacheEventQueue#isEmpty is constantly called until the return value is true. Then doDispose() has to be called. The alive flag which has been set to false at the beginning of the method, has to be removed. With regards, Christian ########################################################### -----Original Message----- From: Travis Savo [mailto:[EMAIL PROTECTED] Sent: Thursday, April 01, 2004 4:49 PM To: 'Turbine JCS Users List' Subject: Finally, JCS updated links. Whereas the demand for my updated code was greater than expected; Whereas I'm getting tired of sending 4 meg worth of attachments to everyone; Whereas some people can't receive 4 meg worth of attachments; Whereas some people probably think this whole thread is a Yet Another April Fools Joke; I've allocated some space on my server and am making the code available for all to download via HTTP. Please don't slashdot this, please don't download it 500 million times, and please don't kill me if at some point in the future (after I get everything's published for real) it goes away. It's not complete by my standards... there's not enough javadoc and documentation for a 1.0 release. But the code itself is being used heavily, WITH 4 remote caches, in a 50 server webfarm, and it's beautiful. Here you go: JCS with no memory leak, no deadlocking disk cache, and a bug free(?) and significantly improved remote cache. http://sindome.org/JCS/JCS.zip Also the link to the EHCache with disk persistence. http://sindome.org/JCS/ehcache-persistent.zip Taking the EHCache persistent disk store and patching it for JCS is left as an exercise to the reader, but as they now share very common code bases (the JCS above uses the original EHCache DiskStore, and the persistent DiskStore is just a mod to that), it should be fairly trivial. Any and all comments are welcome. My goal is to get this stuff remerged into the main JCS codebase, but would love some assistance and feedback before I make it that far. -Travis Savo --------------------------------------------------------------------- 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]