Looks like Hiberate creates a new JCS cache region for each object you want cached. Each region has its OWN ElementEventQueue (to maximize throughput, I'd assume). What I did is switch to Hibernate's HashtableCache since I really only need a simple, in-memory, read-only cache (no failover, etc). It was in v2.1b3, but has recently been moved to the Attic in CVS. I just wrote my own simple HashtableCache (implements Hibernates Cache interface) and HashtableCacheProvider. Then you declare your provider in hibernate.cfg.xml (or hibernate.properties) like so:

hibernate.connection.provider_class=some.package.HashtableCacheProvider

You also have to change your <jcs-cache usage="" /> tags to <cache usage="" />. That's it! This gives you more caching flexibility, since you can control what type of cache is instantiated for each object you want to cache.

By the way, I'm in no way disrespecting JCS. I think it's a fine product. Hibernate MAY be misusing it in this case. Either way, switching to a simpler caching strategy has worked out great for me. I'll cross-post this on the hibernate forum. Good luck!

-nick

At 02:10 PM 10/31/2003 -0500, you wrote:

I have a similar problem to Nicholas.  I am using hibernate and have
identified 46 classes to use JCS caching.  I have 46 ElementEventQueue
threads running in my application.  My cache.ccf is much simpler than
Nicholas', and setting the MemoryShrinker to false has no impact on the
threads existence/behavior.  I use my own implementation for the memory
cache (just a wrapper around HashMap) because of the memory leak problems
with LRUMemoryCache, but I had the same behavior of the ElementEventQueue
threads when I was using LRUMemoryCache.

Any other ideas as to why these threads exist and how to get rid of them (if
they aren't doing anything useful).

Sarah Hand

------------------------

Here's my cache.ccf:

# DEFAULT CACHE REGION (memory cache)
jcs.default=
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=20000
jcs.default.cacheattributes.MemoryCacheName=org.ets.k12.persistence.cache.JC
SMapCache
jcs.default.cacheattributes.UseMemoryShrinker=false
jcs.default.elementattributes=org.apache.jcs.engine.ElementAttributes
jcs.default.elementattributes.IsEternal=false
jcs.default.elementattributes.IsSpool=false
jcs.default.elementattributes.IsRemote=false
jcs.default.elementattributes.IsLateral=false




************************************************************************** This e-mail and any files transmitted with it may contain privileged or confidential information. It is solely for use by the individual for whom it is intended, even if addressed incorrectly. If you received this e-mail in error, please notify the sender; do not disclose, copy, distribute, or take any action in reliance on the contents of this information; and delete it from your system. Any other use of this e-mail is prohibited. Thank you for your compliance.




--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]

/** * Nicholas J. Dellamaggiore * Software Developer (AIS/IBIS) * Phone: x26585 * Office: B671 R2321 * ICQ: 162919183 AIM: wontonsoup79 */


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to