Hello, hm... as far as I understand its usage in source code, the interface org.apache.jcs.engine.behavior.ICacheObserverneeds to be implemented in order to provide addCacheListener()methods. But only auxiliary caches seem to implement this interface:org.apache.jcs.auxiliary.lateral.LateralCacheWatchRepairable andorg.apache.jcs.auxiliary.remote.RemoteCacheWatchRepairable(and thus its subclasses).
I see no other way to set/add an event queue to a cache region through API. It's rather created in the constructors of certain auxiliary caches; e.g. org.apache.jcs.auxiliary.lateral.LateralCacheNoWait: public class LateralCacheNoWait implements AuxiliaryCache { ... private ICacheEventQueue q; ... public LateralCacheNoWait( LateralCache cache ) { this.cache = cache; ... CacheEventQueueFactory fact = new CacheEventQueueFactory(); this.q = fact.createCacheEventQueue( new CacheAdaptor( cache ), LateralCacheInfo.listenerId, cache .getCacheName(), cache.getAuxiliaryCacheAttributes().getEventQueuePoolName(), cache .getAuxiliaryCacheAttributes().getEventQueueTypeFactoryCode() ); ... } ... } Taking all together it seems to be a feature only for auxiliary caches. But maybe this gives you enough information to deeper dig into JCS' event queues. Justin Gordon <justingor...@yahoo.com> hat am 31. Januar 2009 um 09:26 geschrieben: > I want to add JSR 107 like listeners to a JCS region. > > I tried this but it didn't work: > > ICacheListener cacheEventListener = new >JcsCacheEventListenerAdapter(this, myListener); > CacheEventQueueFactory factory = new CacheEventQueueFactory(); > ICacheEventQueue cacheEventQueue = >factory.createCacheEventQueue(cacheEventListener, > 0, > >m_cacheName, > "", > >ICacheEventQueue.SINGLE_QUEUE_TYPE); > > > This compiles but the listener does not get notified. Is there something I > need to do to start the queue? > > Thanks, > > Justin -- Thorben Betten