| File | Line |
|---|
| org/apache/jcs/engine/memory/AbstractDoulbeLinkedListMemoryCache.java | 700 |
| org/apache/jcs/utils/struct/LRUMap.java | 591 |
stats.setTypeName( "LRUMap" );
ArrayList<IStatElement> elems = new ArrayList<IStatElement>();
IStatElement se = null;
se = new StatElement();
se.setName( "List Size" );
se.setData( "" + list.size() );
elems.add( se );
se = new StatElement();
se.setName( "Map Size" );
se.setData( "" + map.size() );
elems.add( se );
se = new StatElement();
se.setName( "Put Count" );
se.setData( "" + putCnt );
elems.add( se );
se = new StatElement();
se.setName( "Hit Count" );
se.setData( "" + hitCnt );
elems.add( se );
se = new StatElement();
se.setName( "Miss Count" );
se.setData( "" + missCnt );
elems.add( se );
// get an array and put them in the Stats object
IStatElement[] ses = elems.toArray( new StatElement[0] );
stats.setStatElements( ses );
return stats;
} |
| File | Line |
|---|
| org/apache/jcs/auxiliary/remote/http/server/AbstractRemoteCacheService.java | 126 |
| org/apache/jcs/auxiliary/remote/server/RemoteCacheServer.java | 391 |
private void logUpdateInfo( ICacheElement item )
{
if ( log.isInfoEnabled() )
{
// not thread safe, but it doesn't have to be accurate
puts++;
if ( puts % logInterval == 0 )
{
log.info( "puts = " + puts );
}
}
if ( log.isDebugEnabled() )
{
log.debug( "In update, put [" + item.getKey() + "] in [" + item.getCacheName() + "]" );
}
}
/**
* Returns a cache value from the specified remote cache; or null if the cache or key does not
* exist.
* <p>
* @param cacheName
* @param key
* @return ICacheElement
* @throws IOException
*/
public ICacheElement get( String cacheName, Serializable key )
throws IOException
{
return this.get( cacheName, key, 0 );
}
/**
* Returns a cache bean from the specified cache; or null if the key does not exist.
* <p>
* Adding the requestor id, allows the cache to determine the source of the get.
* <p>
* The internal processing is wrapped in event logging calls.
* <p>
* @param cacheName
* @param key
* @param requesterId
* @return ICacheElement
* @throws IOException
*/
public ICacheElement get( String cacheName, Serializable key, long requesterId )
throws IOException
{
ICacheElement element = null;
ICacheEvent cacheEvent = createICacheEvent( cacheName, key, requesterId, ICacheEventLogger.GET_EVENT );
try
{
element = processGet( cacheName, key, requesterId );
}
finally
{
logICacheEvent( cacheEvent );
}
return element;
} |
| File | Line |
|---|
| org/apache/jcs/auxiliary/remote/RemoteCacheAttributes.java | 174 |
| org/apache/jcs/auxiliary/remote/server/RemoteCacheServerAttributes.java | 130 |
}
/**
* Gets the remoteType attribute of the RemoteCacheAttributes object
* <p>
* @return The remoteType value
*/
public int getRemoteType()
{
return remoteType;
}
/**
* Sets the remoteType attribute of the RemoteCacheAttributes object
* <p>
* @param p The new remoteType value
*/
public void setRemoteType( int p )
{
this.remoteType = p;
}
/**
* clones
* <p>
* @return AuxiliaryCacheAttributes clone
*/
public AuxiliaryCacheAttributes copy()
{
try
{
return (AuxiliaryCacheAttributes) this.clone();
}
catch ( Exception e )
{
// swallow
}
return this;
}
/**
* Gets the remoteServiceName attribute of the RemoteCacheAttributes object
* <p>
* @return The remoteServiceName value
*/
public String getRemoteServiceName()
{
return this.remoteServiceName;
}
/**
* Sets the remoteServiceName attribute of the RemoteCacheAttributes object
* <p>
* @param s The new remoteServiceName value
*/
public void setRemoteServiceName( String s )
{
this.remoteServiceName = s;
}
/**
* Gets the remoteHost attribute of the RemoteCacheAttributes object
* <p>
* @return The remoteHost value
*/
public String getRemoteHost()
{
return this.remoteHost;
}
/**
* Sets the remoteHost attribute of the RemoteCacheAttributes object
* <p>
* @param s The new remoteHost value
*/
public void setRemoteHost( String s )
{
this.remoteHost = s;
}
/**
* Gets the remotePort attribute of the RemoteCacheAttributes object
* <p>
* @return The remotePort value
*/
public int getRemotePort()
{
return this.remotePort;
}
/**
* Sets the remotePort attribute of the RemoteCacheAttributes object
* <p>
* @param p The new remotePort value
*/
public void setRemotePort( int p )
{
this.remotePort = p;
}
/**
* Gets the clusterServers attribute of the RemoteCacheAttributes object
* <p>
* @return The clusterServers value
*/
public String getClusterServers()
{
return this.clusterServers;
}
/**
* Sets the clusterServers attribute of the RemoteCacheAttributes object
* <p>
* @param s The new clusterServers value
*/
public void setClusterServers( String s )
{
this.clusterServers = s;
}
/**
* Gets the localPort attribute of the RemoteCacheAttributes object
* <p>
* @return The localPort value
*/
public int getServicePort() |
| File | Line |
|---|
| org/apache/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java | 305 |
| org/apache/jcs/auxiliary/remote/AbstractRemoteCacheNoWaitFacade.java | 241 |
}
}
return allKeys;
}
/**
* Adds a remove request to the remote cache.
* <p>
* @param key
* @return whether or not it was removed, right now it return false.
*/
public boolean remove( Serializable key )
{
try
{
for ( int i = 0; i < noWaits.length; i++ )
{
noWaits[i].remove( key );
}
}
catch ( Exception ex )
{
log.error( ex );
}
return false;
}
/**
* Adds a removeAll request to the remote cache.
*/
public void removeAll()
{
try
{
for ( int i = 0; i < noWaits.length; i++ )
{
noWaits[i].removeAll();
}
}
catch ( Exception ex )
{
log.error( ex );
}
}
/** Adds a dispose request to the remote cache. */
public void dispose()
{
try
{
for ( int i = 0; i < noWaits.length; i++ )
{
noWaits[i].dispose();
}
}
catch ( Exception ex )
{
log.error( "Problem in dispose.", ex ); |
| File | Line |
|---|
| org/apache/jcs/engine/memory/AbstractDoulbeLinkedListMemoryCache.java | 296 |
| org/apache/jcs/engine/memory/lru/LHMLRUMemoryCache.java | 154 |
}
/**
* Removes an item from the cache. This method handles hierarchical removal. If the key is a
* String and ends with the CacheConstants.NAME_COMPONENT_DELIMITER, then all items with keys
* starting with the argument String will be removed.
* <p>
* @param key
* @return true if removed
* @exception IOException
*/
@Override
public synchronized boolean remove( Serializable key )
throws IOException
{
if ( log.isDebugEnabled() )
{
log.debug( "removing item for key: " + key );
}
boolean removed = false;
// handle partial removal
if ( key instanceof String && ( (String) key ).endsWith( CacheConstants.NAME_COMPONENT_DELIMITER ) )
{
// remove all keys of the same name hierarchy.
synchronized ( map )
{
for (Iterator<Map.Entry<Serializable, MemoryElementDescriptor>> itr = map.entrySet().iterator(); itr.hasNext(); )
{
Map.Entry<Serializable, MemoryElementDescriptor> entry = itr.next();
Object k = entry.getKey();
if ( k instanceof String && ( (String) k ).startsWith( key.toString() ) )
{ |
| File | Line |
|---|
| org/apache/jcs/engine/memory/lru/LHMLRUMemoryCache.java | 258 |
| org/apache/jcs/utils/struct/LRUMap.java | 602 |
se = new StatElement();
se.setName( "Map Size" );
se.setData( "" + map.size() );
elems.add( se );
se = new StatElement();
se.setName( "Put Count" );
se.setData( "" + putCnt );
elems.add( se );
se = new StatElement();
se.setName( "Hit Count" );
se.setData( "" + hitCnt );
elems.add( se );
se = new StatElement();
se.setName( "Miss Count" );
se.setData( "" + missCnt );
elems.add( se );
// get an array and put them in the Stats object
IStatElement[] ses = elems.toArray( new StatElement[0] );
stats.setStatElements( ses );
return stats;
}
/**
* This returns a set of entries. Our LRUMapEntry is used since the value stored in the
* underlying map is a node in the double linked list. We wouldn't want to return this to the
* client, so we construct a new entry with the payload of the node.
* <p>
* TODO we should return out own set wrapper, so we can avoid the extra object creation if it
* isn't necessary.
* <p>
* @see java.util.Map#entrySet()
*/
public synchronized Set<Map.Entry<K, V>> entrySet() |
| File | Line |
|---|
| org/apache/jcs/engine/memory/AbstractDoulbeLinkedListMemoryCache.java | 711 |
| org/apache/jcs/engine/memory/lru/LHMLRUMemoryCache.java | 258 |
se = new StatElement();
se.setName( "Map Size" );
se.setData( "" + map.size() );
elems.add( se );
se = new StatElement();
se.setName( "Put Count" );
se.setData( "" + putCnt );
elems.add( se );
se = new StatElement();
se.setName( "Hit Count" );
se.setData( "" + hitCnt );
elems.add( se );
se = new StatElement();
se.setName( "Miss Count" );
se.setData( "" + missCnt );
elems.add( se );
// get an array and put them in the Stats object
IStatElement[] ses = elems.toArray( new StatElement[0] );
stats.setStatElements( ses );
// int rate = ((hitCnt + missCnt) * 100) / (hitCnt * 100) * 100;
// buf.append("\n Hit Rate = " + rate + " %" );
return stats;
} |
| File | Line |
|---|
| org/apache/jcs/engine/memory/AbstractDoulbeLinkedListMemoryCache.java | 460 |
| org/apache/jcs/utils/struct/LRUMap.java | 452 |
log.error( "li.hashcode=" + li.getKey().hashCode() );
log.error( "key class=" + key.getClass() );
log.error( "key hashcode=" + key.hashCode() );
log.error( "key toString=" + key.toString() );
if ( key instanceof GroupAttrName )
{
GroupAttrName name = (GroupAttrName) key;
log.error( "GroupID hashcode=" + name.groupId.hashCode() );
log.error( "GroupID.class=" + name.groupId.getClass() );
log.error( "AttrName hashcode=" + name.attrName.hashCode() );
log.error( "AttrName.class=" + name.attrName.getClass() );
}
dumpMap();
}
else if ( map.get( li.getKey() ) == null ) |
| File | Line |
|---|
| org/apache/jcs/engine/CacheEventQueue.java | 257 |
| org/apache/jcs/engine/control/event/ElementEventQueue.java | 305 |
AbstractElementEventRunner event = null;
while ( queue.isAlive() )
{
event = queue.take();
if ( log.isDebugEnabled() )
{
log.debug( "Event from queue = " + event );
}
if ( event == null )
{
synchronized ( queueLock )
{
try
{
queueLock.wait( queue.getWaitToDieMillis() );
}
catch ( InterruptedException e )
{
log.warn( "Interrupted while waiting for another event to come in before we die." );
return;
}
event = queue.take();
if ( log.isDebugEnabled() )
{
log.debug( "Event from queue after sleep = " + event );
}
}
if ( event == null )
{
queue.stopProcessing();
}
}
if ( queue.isAlive() && event != null ) |
| File | Line |
|---|
| org/apache/jcs/auxiliary/lateral/LateralCacheNoWait.java | 157 |
| org/apache/jcs/auxiliary/lateral/LateralCacheNoWaitFacade.java | 228 |
log.error( "Failed to get", ex );
}
}
return null;
}
/**
* Gets multiple items from the cache based on the given set of keys.
* <p>
* @param keys
* @return a map of Serializable key to ICacheElement element, or an empty map if there is no
* data in cache for any of these keys
*/
public Map<Serializable, ICacheElement> getMultiple(Set<Serializable> keys)
{
Map<Serializable, ICacheElement> elements = new HashMap<Serializable, ICacheElement>();
if ( keys != null && !keys.isEmpty() )
{
for (Serializable key : keys)
{
ICacheElement element = get( key );
if ( element != null )
{
elements.put( key, element );
}
}
}
return elements;
}
/**
* Synchronously reads from the lateral cache. Get a response from each! This will be slow.
* Merge them.
* <p>
* @param pattern
* @return ICacheElement
*/
public Map<Serializable, ICacheElement> getMatching(String pattern)
{ |
| File | Line |
|---|
| org/apache/jcs/engine/memory/AbstractDoulbeLinkedListMemoryCache.java | 332 |
| org/apache/jcs/engine/memory/lru/LHMLRUMemoryCache.java | 189 |
itr.remove();
removed = true;
}
}
}
}
else if ( key instanceof GroupId )
{
// remove all keys of the same name hierarchy.
synchronized ( map )
{
for (Iterator<Map.Entry<Serializable, MemoryElementDescriptor>> itr = map.entrySet().iterator(); itr.hasNext(); )
{
Map.Entry<Serializable, MemoryElementDescriptor> entry = itr.next();
Object k = entry.getKey();
if ( k instanceof GroupAttrName && ( (GroupAttrName) k ).groupId.equals( key ) )
{ |