|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.jcs.auxiliary.AbstractAuxiliaryCache
org.apache.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging
org.apache.jcs.auxiliary.disk.AbstractDiskCache
org.apache.jcs.auxiliary.disk.jdbc.JDBCDiskCache
public class JDBCDiskCache
This is the jdbc disk cache plugin.
It expects a table created by the following script. The table name is configurable.
drop TABLE JCS_STORE; CREATE TABLE JCS_STORE ( CACHE_KEY VARCHAR(250) NOT NULL, REGION VARCHAR(250) NOT NULL, ELEMENT BLOB, CREATE_TIME DATE, CREATE_TIME_SECONDS BIGINT, MAX_LIFE_SECONDS BIGINT, SYSTEM_EXPIRE_TIME_SECONDS BIGINT, IS_ETERNAL CHAR(1), PRIMARY KEY (CACHE_KEY, REGION) );
The cleanup thread will delete non eternal items where (now - create time) > max life seconds * 1000
To speed up the deletion the SYSTEM_EXPIRE_TIME_SECONDS is used instead. It is recommended that an index be created on this column is you will have over a million records.
Field Summary |
---|
Fields inherited from class org.apache.jcs.auxiliary.disk.AbstractDiskCache |
---|
alive, cacheEventQueue, cacheName, purgatory, purgHits |
Fields inherited from class org.apache.jcs.auxiliary.AbstractAuxiliaryCache |
---|
cacheEventLogger, keyMatcher |
Fields inherited from interface org.apache.jcs.engine.behavior.ICacheType |
---|
CACHE_HUB, DISK_CACHE, LATERAL_CACHE, REMOTE_CACHE |
Constructor Summary | |
---|---|
JDBCDiskCache(JDBCDiskCacheAttributes cattr,
TableState tableState,
ICompositeCacheManager compositeCacheManager)
Constructs a JDBC Disk Cache for the provided cache attributes. |
Method Summary | |
---|---|
java.lang.String |
constructLikeParameterFromPattern(java.lang.String pattern)
|
protected int |
deleteExpired()
Removed the expired. |
protected boolean |
doesElementExist(ICacheElement ce)
Does an element exist for this key? |
AuxiliaryCacheAttributes |
getAuxiliaryCacheAttributes()
This returns the generic attributes for an auxiliary cache. |
protected java.lang.String |
getDiskLocation()
This is used by the event logging. |
IElementSerializer |
getElementSerializer()
Allows it to be injected. |
java.util.Set |
getGroupKeys(java.lang.String groupName)
The keys in a group. |
protected JDBCDiskCacheAttributes |
getJdbcDiskCacheAttributes()
|
JDBCDiskCachePoolAccess |
getPoolAccess()
Public so managers can access it. |
int |
getSize()
Returns the current cache size. |
IStats |
getStatistics()
Extends the parent stats. |
protected java.lang.String |
getTableName()
Returns the name of the table. |
TableState |
getTableState()
|
protected JDBCDiskCachePoolAccess |
initializePoolAccess(JDBCDiskCacheAttributes cattr,
ICompositeCacheManager compositeCacheManager)
Registers the driver and creates a poolAccess class. |
void |
processDispose()
Shuts down the pool |
protected ICacheElement |
processGet(java.io.Serializable key)
Queries the database for the value. |
protected java.util.Map |
processGetMatching(java.lang.String pattern)
This will run a like query. |
protected boolean |
processRemove(java.io.Serializable key)
Returns true if the removal was successful; or false if there is nothing to remove. |
protected void |
processRemoveAll()
This should remove all elements. |
protected void |
processUpdate(ICacheElement ce)
Inserts or updates. |
void |
reset()
Typically this is used to handle errors by last resort, force content update, or removeall |
protected byte[] |
serialize(java.io.Serializable obj)
Returns the serialized form of the given object in a byte array. |
void |
setElementSerializer(IElementSerializer elementSerializer)
Allows you to inject a custom serializer. |
protected void |
setJdbcDiskCacheAttributes(JDBCDiskCacheAttributes jdbcDiskCacheAttributes)
|
protected void |
setPoolAccess(JDBCDiskCachePoolAccess poolAccess)
|
void |
setTableState(TableState tableState)
|
java.lang.String |
toString()
For debugging. |
Methods inherited from class org.apache.jcs.auxiliary.disk.AbstractDiskCache |
---|
dispose, doDispose, doGet, doGetMatching, doRemove, doRemoveAll, doUpdate, get, getCacheName, getCacheType, getEventLoggingExtraInfo, getMatching, getStats, getStatus, processGetMultiple, remove, removeAll, update |
Methods inherited from class org.apache.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging |
---|
disposeWithEventLogging, getMatchingWithEventLogging, getMultiple, getMultipleWithEventLogging, getWithEventLogging, removeAllWithEventLogging, removeWithEventLogging, updateWithEventLogging |
Methods inherited from class org.apache.jcs.auxiliary.AbstractAuxiliaryCache |
---|
createICacheEvent, createICacheEvent, getCacheEventLogger, getKeyMatcher, logApplicationEvent, logError, logICacheEvent, setCacheEventLogger, setKeyMatcher |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.apache.jcs.auxiliary.AuxiliaryCache |
---|
setCacheEventLogger |
Methods inherited from interface org.apache.jcs.engine.behavior.ICache |
---|
getMultiple, setKeyMatcher |
Constructor Detail |
---|
public JDBCDiskCache(JDBCDiskCacheAttributes cattr, TableState tableState, ICompositeCacheManager compositeCacheManager)
cattr
- tableState
- compositeCacheManager
- Method Detail |
---|
protected JDBCDiskCachePoolAccess initializePoolAccess(JDBCDiskCacheAttributes cattr, ICompositeCacheManager compositeCacheManager)
cattr
- compositeCacheManager
-
protected void processUpdate(ICacheElement ce)
processUpdate
in class AbstractAuxiliaryCacheEventLogging
ce
- protected boolean doesElementExist(ICacheElement ce)
ce
-
protected ICacheElement processGet(java.io.Serializable key)
processGet
in class AbstractAuxiliaryCacheEventLogging
key
-
AbstractDiskCache.doGet(java.io.Serializable)
protected java.util.Map processGetMatching(java.lang.String pattern)
processGetMatching
in class AbstractAuxiliaryCacheEventLogging
pattern
-
public java.lang.String constructLikeParameterFromPattern(java.lang.String pattern)
pattern
-
protected boolean processRemove(java.io.Serializable key)
processRemove
in class AbstractAuxiliaryCacheEventLogging
key
-
protected void processRemoveAll()
processRemoveAll
in class AbstractAuxiliaryCacheEventLogging
protected int deleteExpired()
public void reset()
public void processDispose()
processDispose
in class AbstractAuxiliaryCacheEventLogging
public int getSize()
getSize
in interface ICache
getSize
in class AbstractDiskCache
ICache.getSize()
protected byte[] serialize(java.io.Serializable obj) throws java.io.IOException
obj
-
java.io.IOException
public java.util.Set getGroupKeys(java.lang.String groupName)
AbstractDiskCache
(non-Javadoc)
getGroupKeys
in interface AuxiliaryCache
getGroupKeys
in class AbstractDiskCache
groupName
-
AuxiliaryCache.getGroupKeys(java.lang.String)
public void setElementSerializer(IElementSerializer elementSerializer)
AbstractAuxiliaryCache
Does not allow you to set it to null.
setElementSerializer
in interface AuxiliaryCache
setElementSerializer
in class AbstractAuxiliaryCache
elementSerializer
- The elementSerializer to set.public IElementSerializer getElementSerializer()
AbstractAuxiliaryCache
getElementSerializer
in class AbstractAuxiliaryCache
protected void setJdbcDiskCacheAttributes(JDBCDiskCacheAttributes jdbcDiskCacheAttributes)
jdbcDiskCacheAttributes
- The jdbcDiskCacheAttributes to set.protected JDBCDiskCacheAttributes getJdbcDiskCacheAttributes()
public AuxiliaryCacheAttributes getAuxiliaryCacheAttributes()
AuxiliaryCache
public IStats getStatistics()
getStatistics
in interface AuxiliaryCache
getStatistics
in class AbstractDiskCache
AuxiliaryCache.getStatistics()
protected java.lang.String getTableName()
public void setTableState(TableState tableState)
tableState
- The tableState to set.public TableState getTableState()
protected java.lang.String getDiskLocation()
getDiskLocation
in class AbstractDiskCache
protected void setPoolAccess(JDBCDiskCachePoolAccess poolAccess)
poolAccess
- the poolAccess to setpublic JDBCDiskCachePoolAccess getPoolAccess()
public java.lang.String toString()
toString
in class java.lang.Object
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |