org.apache.naming.resources

Class ResourceCache

public class ResourceCache extends Object

Implements a special purpose cache.

Version: $Revision: 467222 $

Author: Remy Maucherat

Field Summary
protected longaccessCount
Number of accesses to the cache.
protected CacheEntry[]cache
Cache.
protected intcacheMaxSize
Max size of resources which will have their content cached.
protected intcacheSize
Current cache size in KB.
protected longdesiredEntryAccessRatio
Entry hit ratio at which an entry will never be removed from the cache.
protected longhitsCount
Number of cache hits.
protected intmaxAllocateIterations
Max amount of removals during a make space.
protected HashMapnotFoundCache
Not found cache.
protected Randomrandom
Random generator used to determine elements to free.
protected intspareNotFoundEntries
Spare amount of not found entries.
Constructor Summary
ResourceCache()
Method Summary
booleanallocate(int space)
longgetAccessCount()
Return the access count.
intgetCacheMaxSize()
Return the maximum size of the cache in KB.
intgetCacheSize()
Return the current cache size in KB.
longgetDesiredEntryAccessRatio()
Return desired entry access ratio.
longgetHitsCount()
Return the number of cache hits.
intgetMaxAllocateIterations()
Return the maximum amount of iterations during a space allocation.
intgetSpareNotFoundEntries()
Return the amount of spare not found entries.
voidload(CacheEntry entry)
CacheEntrylookup(String name)
voidsetCacheMaxSize(int cacheMaxSize)
Set the maximum size of the cache in KB.
voidsetDesiredEntryAccessRatio(long desiredEntryAccessRatio)
Set the desired entry access ratio.
voidsetMaxAllocateIterations(int maxAllocateIterations)
Set the maximum amount of iterations during a space allocation.
voidsetSpareNotFoundEntries(int spareNotFoundEntries)
Set the amount of spare not found entries.
booleanunload(String name)

Field Detail

accessCount

protected long accessCount
Number of accesses to the cache.

cache

protected CacheEntry[] cache
Cache. Path -> Cache entry.

cacheMaxSize

protected int cacheMaxSize
Max size of resources which will have their content cached.

cacheSize

protected int cacheSize
Current cache size in KB.

desiredEntryAccessRatio

protected long desiredEntryAccessRatio
Entry hit ratio at which an entry will never be removed from the cache. Compared with entry.access / hitsCount

hitsCount

protected long hitsCount
Number of cache hits.

maxAllocateIterations

protected int maxAllocateIterations
Max amount of removals during a make space.

notFoundCache

protected HashMap notFoundCache
Not found cache.

random

protected Random random
Random generator used to determine elements to free.

spareNotFoundEntries

protected int spareNotFoundEntries
Spare amount of not found entries.

Constructor Detail

ResourceCache

public ResourceCache()

Method Detail

allocate

public boolean allocate(int space)

getAccessCount

public long getAccessCount()
Return the access count. Note: Update is not synced, so the number may not be completely accurate.

getCacheMaxSize

public int getCacheMaxSize()
Return the maximum size of the cache in KB.

getCacheSize

public int getCacheSize()
Return the current cache size in KB.

getDesiredEntryAccessRatio

public long getDesiredEntryAccessRatio()
Return desired entry access ratio.

getHitsCount

public long getHitsCount()
Return the number of cache hits. Note: Update is not synced, so the number may not be completely accurate.

getMaxAllocateIterations

public int getMaxAllocateIterations()
Return the maximum amount of iterations during a space allocation.

getSpareNotFoundEntries

public int getSpareNotFoundEntries()
Return the amount of spare not found entries.

load

public void load(CacheEntry entry)

lookup

public CacheEntry lookup(String name)

setCacheMaxSize

public void setCacheMaxSize(int cacheMaxSize)
Set the maximum size of the cache in KB.

setDesiredEntryAccessRatio

public void setDesiredEntryAccessRatio(long desiredEntryAccessRatio)
Set the desired entry access ratio.

setMaxAllocateIterations

public void setMaxAllocateIterations(int maxAllocateIterations)
Set the maximum amount of iterations during a space allocation.

setSpareNotFoundEntries

public void setSpareNotFoundEntries(int spareNotFoundEntries)
Set the amount of spare not found entries.

unload

public boolean unload(String name)
Copyright © 2000-2011 Apache Software Foundation. All Rights Reserved.