/** * Adds an event to the queue. * <p> * @param event */ @Override protected void put( AbstractCacheEvent event ) { if ( log.isDebugEnabled() ) { log.debug( "Event entering Queue for " + getCacheName() + ": " + event ); } queue.offer(event); if ( isWorking() ) { if ( !isAlive() ) { setAlive(true); processorThread = new QProcessor(); processorThread.start(); if ( log.isInfoEnabled() ) { log.info( "Cache event queue created: " + this ); } } } }
public void destroy() if ( isAlive() )
if ( isWorking() ) if ( !isAlive() )
/** * This method returns semi-structured data on this queue. * <p> * @see org.apache.commons.jcs.engine.behavior.ICacheEventQueue#getStatistics() * @return information on the status and history of the queue */ @Override public IStats getStatistics() { IStats stats = new Stats(); stats.setTypeName( "Cache Event Queue" ); ArrayList<IStatElement<?>> elems = new ArrayList<IStatElement<?>>(); elems.add(new StatElement<Boolean>( "Working", Boolean.valueOf(this.isWorking()) ) ); elems.add(new StatElement<Boolean>( "Alive", Boolean.valueOf(this.isAlive()) ) ); elems.add(new StatElement<Boolean>( "Empty", Boolean.valueOf(this.isEmpty()) ) ); elems.add(new StatElement<Integer>( "Size", Integer.valueOf(this.size()) ) ); stats.setStatElements( elems ); return stats; }
elems.add(new StatElement<Boolean>( "Alive", Boolean.valueOf(this.isAlive()) ) ); elems.add(new StatElement<Boolean>( "Empty", Boolean.valueOf(this.isEmpty()) ) );