You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jcs-dev@jakarta.apache.org by as...@apache.org on 2006/05/17 23:35:41 UTC

svn commit: r407377 - in /jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc: JDBCDiskCache.java JDBCDiskCacheManager.java ShrinkerThread.java

Author: asmuts
Date: Wed May 17 14:35:40 2006
New Revision: 407377

URL: http://svn.apache.org/viewvc?rev=407377&view=rev
Log:
improved shrinker log message
created a separate shrinker thread per table.

Modified:
    jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
    jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java
    jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/ShrinkerThread.java

Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java?rev=407377&r1=407376&r2=407377&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCache.java Wed May 17 14:35:40 2006
@@ -1111,6 +1111,21 @@
         return stats;
     }
     
+    /**
+     * Returns the name of the table.
+     * 
+     * @return the table name or UNDEFINED
+     */
+    protected String getTableName()
+    {
+        String name = "UNDEFINED";
+        if ( this.getJdbcDiskCacheAttributes() != null )
+        {
+            name = this.getJdbcDiskCacheAttributes() .getTableName();
+        }
+        return name;
+    }
+    
     
     /**
      * For debugging.

Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java?rev=407377&r1=407376&r2=407377&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/JDBCDiskCacheManager.java Wed May 17 14:35:40 2006
@@ -18,6 +18,7 @@
 
 import java.util.Enumeration;
 import java.util.Hashtable;
+import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
@@ -53,7 +54,12 @@
      */
     private ClockDaemon shrinkerDaemon;
 
-    private ShrinkerThread shrinkerThread;
+    /**
+     * A map of table name to shrinker threads. This allows each table to have a
+     * different setting. It assumes that there is only one jdbc disk cache
+     * auxiliary defined per table.
+     */
+    private Map shrinkerThreadMap = new Hashtable();
 
     /**
      * Constructor for the HSQLCacheManager object
@@ -152,13 +158,17 @@
                 shrinkerDaemon.setThreadFactory( new MyThreadFactory() );
             }
 
+            ShrinkerThread shrinkerThread = (ShrinkerThread) shrinkerThreadMap.get( cattr.getTableName() );
             if ( shrinkerThread == null )
             {
                 shrinkerThread = new ShrinkerThread();
+                shrinkerThreadMap.put( cattr.getTableName(), shrinkerThread );
+
                 long intervalMillis = Math.max( 999, cattr.getShrinkerIntervalSeconds() * 1000 );
                 if ( log.isInfoEnabled() )
                 {
-                    log.info( "Setting the shrinker to run every [" + intervalMillis + "] ms." );
+                    log.info( "Setting the shrinker to run every [" + intervalMillis + "] ms. for table ["
+                        + cattr.getTableName() + "]" );
                 }
                 shrinkerDaemon.executePeriodically( intervalMillis, shrinkerThread, false );
             }
@@ -177,9 +187,7 @@
         JDBCDiskCache raf = (JDBCDiskCache) caches.get( name );
         if ( raf != null )
         {
-
             raf.dispose();
-
         }
     }
 
@@ -225,7 +233,6 @@
     class MyThreadFactory
         implements ThreadFactory
     {
-
         /*
          * (non-Javadoc)
          * 

Modified: jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/ShrinkerThread.java
URL: http://svn.apache.org/viewvc/jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/ShrinkerThread.java?rev=407377&r1=407376&r2=407377&view=diff
==============================================================================
--- jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/ShrinkerThread.java (original)
+++ jakarta/jcs/trunk/src/java/org/apache/jcs/auxiliary/disk/jdbc/ShrinkerThread.java Wed May 17 14:35:40 2006
@@ -84,8 +84,8 @@
 
                 if ( log.isInfoEnabled() )
                 {
-                    log.info( "Deleted [" + deleted + "] expired for region [" + cache.getCacheName() + "] in "
-                        + ( end - start ) + " ms." );
+                    log.info( "Deleted [" + deleted + "] expired for region [" + cache.getCacheName() + "] for table ["
+                        + cache.getTableName() + "] in " + ( end - start ) + " ms." );
                 }
 
                 // don't pause after the last call to delete expired.



---------------------------------------------------------------------
To unsubscribe, e-mail: jcs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jcs-dev-help@jakarta.apache.org