|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.sun.ejb.containers.util.cache.BaseCache
com.sun.ejb.containers.util.cache.LruCache
com.sun.ejb.containers.util.cache.FIFOEJBObjectCache
public class FIFOEJBObjectCache
A FIFO EJB(Local)Object cache that maintains reference count
| Nested Class Summary | |
|---|---|
protected static class |
FIFOEJBObjectCache.EJBObjectCacheItem
|
| Nested classes/interfaces inherited from class com.sun.ejb.containers.util.cache.LruCache |
|---|
LruCache.LruCacheItem |
| Nested classes/interfaces inherited from class com.sun.ejb.containers.util.cache.BaseCache |
|---|
BaseCache.CacheItem |
| Field Summary | |
|---|---|
protected static boolean |
_printRefCount
|
protected EJBObjectCacheListener |
listener
|
protected int |
maxCacheSize
|
protected String |
name
|
protected Object |
refCountLock
|
protected int |
totalRefCount
|
| Fields inherited from class com.sun.ejb.containers.util.cache.LruCache |
|---|
cacheName, head, listSize, NO_TIMEOUT, tail, timeout, trimCount |
| Fields inherited from class com.sun.ejb.containers.util.cache.BaseCache |
|---|
_rb, addCount, addCountLk, bucketLocks, buckets, entryCount, entryCountLk, hitCount, hitCountLk, listeners, maxBuckets, missCount, missCountLk, overflowCount, overflowCountLk, refreshCount, refreshCountLk, refreshFlags, removalCount, removalCountLk, threshold |
| Constructor Summary | |
|---|---|
FIFOEJBObjectCache(String name)
default constructor |
|
FIFOEJBObjectCache(String name,
long timeout)
constructor with specified timeout |
|
| Method Summary | |
|---|---|
protected BaseCache.CacheItem |
createItem(int hashCode,
Object key,
Object value,
int size)
create new item |
protected void |
decrementReferenceCount()
|
protected void |
decrementReferenceCount(int count)
|
Object |
get(Object key)
get the item stored at the key. |
Object |
get(Object key,
boolean incrementRefCount)
|
Map |
getStats()
get the stats snapshot |
protected void |
incrementReferenceCount()
|
void |
init(int maxEntries,
int numberOfVictimsToSelect,
long timeout,
float loadFactor,
Properties props)
|
protected Object |
internalGet(int hashCode,
Object key,
boolean incrementRefCount)
|
protected Object |
internalPut(int hashCode,
Object key,
Object value,
int size,
boolean incrementRefCount)
|
protected Object |
internalRemove(Object key,
boolean decrementRefCount)
|
protected boolean |
isThresholdReached()
has cache reached its threshold |
protected void |
itemAccessed(BaseCache.CacheItem item)
this item is accessed |
protected void |
itemRemoved(BaseCache.CacheItem item)
item value has been removed from the cache |
static void |
main(String[] args)
|
void |
print()
|
Object |
put(Object key,
Object value)
cache the given value at the specified key and return previous value |
Object |
put(Object key,
Object value,
boolean incrementRefCount)
|
Object |
remove(Object key)
remove the item stored at the key. |
Object |
remove(Object key,
boolean decrementRefCount)
|
void |
setEJBObjectCacheListener(EJBObjectCacheListener listener)
|
void |
trimExpiredEntries(int maxCount)
trim the expired entries from the cache. |
| Methods inherited from class com.sun.ejb.containers.util.cache.LruCache |
|---|
getStatByName, itemAdded, itemRefreshed, setCacheName, trimLru |
| Methods inherited from class com.sun.ejb.containers.util.cache.BaseCache |
|---|
_put, _remove, _removeItem, add, add, addCacheListener, clear, clearStats, contains, decrementEntryCount, destroy, elements, eq, get, getAll, getEntryCount, getIndex, getIndex, handleOverflow, hash, incrementAddCount, incrementEntryCount, incrementHitCount, incrementMissCount, incrementOverflowCount, incrementRefreshCount, incrementRemovalCount, init, init, isEmpty, keys, loadValue, notifyRefresh, put, remove, remove, removeAll, trimItem, values, waitRefresh |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface com.sun.appserv.util.cache.Cache |
|---|
add, add, addCacheListener, clear, clearStats, contains, destroy, elements, getAll, getEntryCount, getIndex, getStatByName, init, init, isEmpty, keys, notifyRefresh, put, remove, removeAll, values, waitRefresh |
| Field Detail |
|---|
protected int maxCacheSize
protected String name
protected EJBObjectCacheListener listener
protected Object refCountLock
protected int totalRefCount
protected static boolean _printRefCount
| Constructor Detail |
|---|
public FIFOEJBObjectCache(String name)
public FIFOEJBObjectCache(String name,
long timeout)
| Method Detail |
|---|
public void init(int maxEntries,
int numberOfVictimsToSelect,
long timeout,
float loadFactor,
Properties props)
init in interface EJBObjectCachepublic void setEJBObjectCacheListener(EJBObjectCacheListener listener)
setEJBObjectCacheListener in interface EJBObjectCachepublic Object get(Object key)
BaseCache
get in interface Cacheget in class BaseCachekey - lookup key
public Object get(Object key,
boolean incrementRefCount)
get in interface EJBObjectCache
public Object put(Object key,
Object value)
BaseCache
put in interface Cacheput in class BaseCachekey - lookup keyvalue - item value to be stored
public Object put(Object key,
Object value,
boolean incrementRefCount)
put in interface EJBObjectCachepublic Object remove(Object key)
BaseCache
remove in interface Cacheremove in class BaseCachekey - lookup key
public Object remove(Object key,
boolean decrementRefCount)
remove in interface EJBObjectCacheprotected boolean isThresholdReached()
BaseCache
isThresholdReached in class BaseCacheprotected void itemAccessed(BaseCache.CacheItem item)
LruCache
itemAccessed in class LruCacheitem - CacheItem accessed
Cache bucket is already synchronized by the callerprotected void itemRemoved(BaseCache.CacheItem item)
LruCache
itemRemoved in class LruCacheitem - CacheItem that was just removed
Cache bucket is already synchronized by the caller
protected Object internalGet(int hashCode,
Object key,
boolean incrementRefCount)
protected Object internalPut(int hashCode,
Object key,
Object value,
int size,
boolean incrementRefCount)
public void print()
protected Object internalRemove(Object key,
boolean decrementRefCount)
protected BaseCache.CacheItem createItem(int hashCode,
Object key,
Object value,
int size)
LruCache
createItem in class LruCachehashCode - for the entrykey - Object keyvalue - Object valuesize - size in bytes of the item
subclasses may override to provide their own CacheItem extensions
e.g. one that permits persistence.public Map getStats()
BaseCache
getStats in interface CachegetStats in class LruCachepublic void trimExpiredEntries(int maxCount)
LruCache
trimExpiredEntries in interface CachetrimExpiredEntries in class LruCachemaxCount - maximum number of invalid entries to trim
specify Integer.MAX_VALUE to trim all invalid entries
This call is to be scheduled by a thread managed by the container.
NOTE: this algorithm assumes that all the entries in the cache have
identical timeout (otherwise traversing from tail won't be right).protected void incrementReferenceCount()
protected void decrementReferenceCount()
protected void decrementReferenceCount(int count)
public static void main(String[] args)
throws Exception
Exception
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||