Class FIFOEJBObjectCache
- java.lang.Object
-
- com.sun.appserv.util.cache.BaseCache
-
- com.sun.appserv.util.cache.LruCache
-
- com.sun.ejb.containers.util.cache.LruEJBCache
-
- org.glassfish.persistence.ejb.entitybean.container.cache.FIFOEJBObjectCache
-
- All Implemented Interfaces:
com.sun.appserv.util.cache.Cache,EJBObjectCache
public class FIFOEJBObjectCache extends com.sun.ejb.containers.util.cache.LruEJBCache implements EJBObjectCache
A FIFO EJB(Local)Object cache that maintains reference count- Author:
- Mahesh Kannan
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classFIFOEJBObjectCache.EJBObjectCacheItem
-
Field Summary
Fields Modifier and Type Field Description protected static boolean_printRefCountprotected EJBObjectCacheListenerlistenerprotected intmaxCacheSizeprotected Stringnameprotected ObjectrefCountLockprotected inttotalRefCount
-
Constructor Summary
Constructors Constructor Description FIFOEJBObjectCache(String name)default constructorFIFOEJBObjectCache(String name, long timeout)constructor with specified timeout
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected com.sun.appserv.util.cache.BaseCache.CacheItemcreateItem(int hashCode, Object key, Object value, int size)protected voiddecrementReferenceCount()protected voiddecrementReferenceCount(int count)Objectget(Object key)Objectget(Object key, boolean incrementRefCount)MapgetStats()protected voidincrementReferenceCount()voidinit(int maxEntries, int numberOfVictimsToSelect, long timeout, float loadFactor, Properties props)protected ObjectinternalGet(int hashCode, Object key, boolean incrementRefCount)protected ObjectinternalPut(int hashCode, Object key, Object value, int size, boolean incrementRefCount)protected ObjectinternalRemove(Object key, boolean decrementRefCount)protected booleanisThresholdReached()protected voiditemAccessed(com.sun.appserv.util.cache.BaseCache.CacheItem item)protected voiditemRemoved(com.sun.appserv.util.cache.BaseCache.CacheItem item)static voidmain(String[] args)voidprint()Objectput(Object key, Object value)Objectput(Object key, Object value, boolean incrementRefCount)Objectremove(Object key)Objectremove(Object key, boolean decrementRefCount)voidsetEJBObjectCacheListener(EJBObjectCacheListener listener)voidtrimExpiredEntries(int maxCount)-
Methods inherited from class com.sun.ejb.containers.util.cache.LruEJBCache
itemAdded, setCacheName, trimLru
-
Methods inherited from class com.sun.appserv.util.cache.LruCache
getStatByName, init, itemRefreshed, setTimeout
-
Methods inherited from class com.sun.appserv.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
-
-
-
-
Field Detail
-
maxCacheSize
protected int maxCacheSize
-
name
protected String name
-
listener
protected EJBObjectCacheListener listener
-
refCountLock
protected Object refCountLock
-
totalRefCount
protected int totalRefCount
-
_printRefCount
protected static final boolean _printRefCount
-
-
Method Detail
-
init
public void init(int maxEntries, int numberOfVictimsToSelect, long timeout, float loadFactor, Properties props)- Specified by:
initin interfaceEJBObjectCache
-
setEJBObjectCacheListener
public void setEJBObjectCacheListener(EJBObjectCacheListener listener)
- Specified by:
setEJBObjectCacheListenerin interfaceEJBObjectCache
-
get
public Object get(Object key)
- Specified by:
getin interfacecom.sun.appserv.util.cache.Cache- Overrides:
getin classcom.sun.appserv.util.cache.BaseCache
-
get
public Object get(Object key, boolean incrementRefCount)
- Specified by:
getin interfaceEJBObjectCache
-
put
public Object put(Object key, Object value)
- Specified by:
putin interfacecom.sun.appserv.util.cache.Cache- Overrides:
putin classcom.sun.appserv.util.cache.BaseCache
-
put
public Object put(Object key, Object value, boolean incrementRefCount)
- Specified by:
putin interfaceEJBObjectCache
-
remove
public Object remove(Object key)
- Specified by:
removein interfacecom.sun.appserv.util.cache.Cache- Overrides:
removein classcom.sun.appserv.util.cache.BaseCache
-
remove
public Object remove(Object key, boolean decrementRefCount)
- Specified by:
removein interfaceEJBObjectCache
-
isThresholdReached
protected boolean isThresholdReached()
- Overrides:
isThresholdReachedin classcom.sun.appserv.util.cache.BaseCache
-
itemAccessed
protected void itemAccessed(com.sun.appserv.util.cache.BaseCache.CacheItem item)
- Overrides:
itemAccessedin classcom.sun.appserv.util.cache.LruCache
-
itemRemoved
protected void itemRemoved(com.sun.appserv.util.cache.BaseCache.CacheItem item)
- Overrides:
itemRemovedin classcom.sun.appserv.util.cache.LruCache
-
internalPut
protected Object internalPut(int hashCode, Object key, Object value, int size, boolean incrementRefCount)
-
print
public void print()
-
createItem
protected com.sun.appserv.util.cache.BaseCache.CacheItem createItem(int hashCode, Object key, Object value, int size)- Overrides:
createItemin classcom.sun.appserv.util.cache.LruCache
-
getStats
public Map getStats()
- Specified by:
getStatsin interfacecom.sun.appserv.util.cache.Cache- Overrides:
getStatsin classcom.sun.appserv.util.cache.LruCache
-
trimExpiredEntries
public void trimExpiredEntries(int maxCount)
- Specified by:
trimExpiredEntriesin interfacecom.sun.appserv.util.cache.Cache- Overrides:
trimExpiredEntriesin classcom.sun.appserv.util.cache.LruCache
-
incrementReferenceCount
protected void incrementReferenceCount()
-
decrementReferenceCount
protected void decrementReferenceCount()
-
decrementReferenceCount
protected void decrementReferenceCount(int count)
-
-