org.apache.jcs.auxiliary.disk.jdbc.mysql
Class MySQLDiskCache

java.lang.Object
  extended by org.apache.jcs.auxiliary.AbstractAuxiliaryCache
      extended by org.apache.jcs.auxiliary.AbstractAuxiliaryCacheEventLogging
          extended by org.apache.jcs.auxiliary.disk.AbstractDiskCache
              extended by org.apache.jcs.auxiliary.disk.jdbc.JDBCDiskCache
                  extended by org.apache.jcs.auxiliary.disk.jdbc.mysql.MySQLDiskCache
All Implemented Interfaces:
java.io.Serializable, AuxiliaryCache, ICache, ICacheType

public class MySQLDiskCache
extends JDBCDiskCache

The MySQLDiskCache extends the core JDBCDiskCache.

Although the generic JDBC Disk Cache can be used for MySQL, the MySQL JDBC Disk Cache has additional features, such as table optimization that are particular to MySQL.

Author:
Aaron Smuts
See Also:
Serialized Form

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
MySQLDiskCache(MySQLDiskCacheAttributes attributes, TableState tableState, ICompositeCacheManager compositeCacheManager)
          Delegates to the super and makes use of the MySQL specific parameters used for scheduled optimization.
 
Method Summary
 java.lang.String constructLikeParameterFromPattern(java.lang.String pattern)
           
protected  int deleteExpired()
          Removed the expired.
protected  ICacheElement processGet(java.io.Serializable key)
          This delegates to the generic JDBC disk cache.
protected  java.util.Map processGetMatching(java.lang.String pattern)
          This delegates to the generic JDBC disk cache.
protected  void processUpdate(ICacheElement element)
          This delegates to the generic JDBC disk cache.
 
Methods inherited from class org.apache.jcs.auxiliary.disk.jdbc.JDBCDiskCache
doesElementExist, getAuxiliaryCacheAttributes, getDiskLocation, getElementSerializer, getGroupKeys, getJdbcDiskCacheAttributes, getPoolAccess, getSize, getStatistics, getTableName, getTableState, initializePoolAccess, processDispose, processRemove, processRemoveAll, reset, serialize, setElementSerializer, setJdbcDiskCacheAttributes, setPoolAccess, setTableState, toString
 
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

MySQLDiskCache

public MySQLDiskCache(MySQLDiskCacheAttributes attributes,
                      TableState tableState,
                      ICompositeCacheManager compositeCacheManager)
Delegates to the super and makes use of the MySQL specific parameters used for scheduled optimization.

Parameters:
attributes -
tableState -
compositeCacheManager -
Method Detail

processGet

protected ICacheElement processGet(java.io.Serializable key)
This delegates to the generic JDBC disk cache. If we are currently optimizing, then this method will balk and return null.

Overrides:
processGet in class JDBCDiskCache
Parameters:
key - Key to locate value for.
Returns:
An object matching key, or null.
See Also:
AbstractDiskCache.doGet(java.io.Serializable)

processGetMatching

protected java.util.Map processGetMatching(java.lang.String pattern)
This delegates to the generic JDBC disk cache. If we are currently optimizing, then this method will balk and return null.

Overrides:
processGetMatching in class JDBCDiskCache
Parameters:
pattern - used for like query.
Returns:
An object matching key, or null.

constructLikeParameterFromPattern

public java.lang.String constructLikeParameterFromPattern(java.lang.String pattern)
Overrides:
constructLikeParameterFromPattern in class JDBCDiskCache
Parameters:
pattern -
Returns:
String to use in the like query.

processUpdate

protected void processUpdate(ICacheElement element)
This delegates to the generic JDBC disk cache. If we are currently optimizing, then this method will balk and do nothing.

Overrides:
processUpdate in class JDBCDiskCache
Parameters:
element -

deleteExpired

protected int deleteExpired()
Removed the expired. (now - create time) > max life seconds * 1000

If we are currently optimizing, then this method will balk and do nothing.

TODO consider blocking and trying again.

Overrides:
deleteExpired in class JDBCDiskCache
Returns:
the number deleted


Copyright © 2002-2011 Apache Software Foundation. All Rights Reserved.