svn commit: r929813 - in /ofbiz/trunk/framework: base/src/org/ofbiz/base/util/cache/ base/src/org/ofbiz/base/util/cache/test/ webtools/config/ webtools/src/org/ofbiz/webtools/ webtools/webapp/webtools/WEB-INF/actions/cache/ webtools/webapp/webtools/cache/

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r929813 - in /ofbiz/trunk/framework: base/src/org/ofbiz/base/util/cache/ base/src/org/ofbiz/base/util/cache/test/ webtools/config/ webtools/src/org/ofbiz/webtools/ webtools/webapp/webtools/WEB-INF/actions/cache/ webtools/webapp/webtools/cache/

doogie-3
Author: doogie
Date: Thu Apr  1 04:31:37 2010
New Revision: 929813

URL: http://svn.apache.org/viewvc?rev=929813&view=rev
Log:
getMaxSize didn't actually do anything useful, and overlapped with
getMaxInMemory.  Deprecate getMaxSize(it continues to call setLru
underneath everything), and provide a new getSizeLimit method.  This
latter method still does nothing, but at least it no longer overlaps.

Also remove the maxSize parameter in webtools FindUtilCache page,
instead displaying and altering the maxInMemory setting.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java
    ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/test/UtilCacheTests.java
    ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml
    ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/UtilCacheEvents.java
    ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/EditUtilCache.groovy
    ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/FindUtilCache.groovy
    ofbiz/trunk/framework/webtools/webapp/webtools/cache/editUtilCache.ftl
    ofbiz/trunk/framework/webtools/webapp/webtools/cache/findUtilCache.ftl

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/UtilCache.java Thu Apr  1 04:31:37 2010
@@ -84,7 +84,7 @@ public class UtilCache<K, V> implements
     /** The maximum number of elements in the cache.
      * If set to 0, there will be no limit on the number of elements in the cache.
      */
-    protected int maxSize = 0;
+    protected int sizeLimit = 0;
     protected int maxInMemory = 0;
 
     /** Specifies the amount of time since initial loading before an element will be reported as expired.
@@ -102,16 +102,16 @@ public class UtilCache<K, V> implements
     /** The set of listeners to receive notifcations when items are modidfied(either delibrately or because they were expired). */
     protected Set<CacheListener<K, V>> listeners = new CopyOnWriteArraySet<CacheListener<K, V>>();
 
-    /** Constructor which specifies the cacheName as well as the maxSize, expireTime and useSoftReference.
-     * The passed maxSize, expireTime and useSoftReference will be overridden by values from cache.properties if found.
-     * @param maxSize The maxSize member is set to this value
+    /** Constructor which specifies the cacheName as well as the sizeLimit, expireTime and useSoftReference.
+     * The passed sizeLimit, expireTime and useSoftReference will be overridden by values from cache.properties if found.
+     * @param sizeLimit The sizeLimit member is set to this value
      * @param expireTime The expireTime member is set to this value
      * @param cacheName The name of the cache.
      * @param useSoftReference Specifies whether or not to use soft references for this cache.
      */
-    private UtilCache(String cacheName, int maxSize, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore, String propName, String... propNames) {
+    private UtilCache(String cacheName, int sizeLimit, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore, String propName, String... propNames) {
         this.name = cacheName;
-        this.maxSize = maxSize;
+        this.sizeLimit = sizeLimit;
         this.maxInMemory = maxInMemory;
         this.expireTime = expireTime;
         this.useSoftReference = useSoftReference;
@@ -119,7 +119,7 @@ public class UtilCache<K, V> implements
         setPropertiesParams(propName);
         setPropertiesParams(propNames);
         int maxMemSize = this.maxInMemory;
-        if (maxMemSize == 0) maxMemSize = maxSize;
+        if (maxMemSize == 0) maxMemSize = sizeLimit;
         this.cacheLineTable = new CacheLineTable<K, V>(this.fileStore, this.name, this.useFileSystemStore, maxMemSize);
     }
 
@@ -166,7 +166,7 @@ public class UtilCache<K, V> implements
             try {
                 String value = getPropertyParam(res, propNames, "maxSize");
                 if (UtilValidate.isNotEmpty(value)) {
-                    this.maxSize = Integer.parseInt(value);
+                    this.sizeLimit = Integer.parseInt(value);
                 }
             } catch (Exception e) {
                 Debug.logWarning(e, "Error getting maxSize value from cache.properties file for propNames: " + propNames, module);
@@ -438,23 +438,37 @@ public class UtilCache<K, V> implements
     /** Sets the maximum number of elements in the cache.
      * If 0, there is no maximum.
      * @param maxSize The maximum number of elements in the cache
+     * @deprecated Use setMaxInMemory
      */
     public void setMaxSize(int maxSize) {
-        cacheLineTable.setLru(maxSize);
-        this.maxSize = maxSize;
+        setMaxInMemory(maxSize);
     }
 
     /** Returns the current maximum number of elements in the cache
      * @return The maximum number of elements in the cache
+     * @deprecated Use getMaxInMemory
      */
     public int getMaxSize() {
-        return maxSize;
+        return getMaxInMemory();
+    }
+
+    public void setMaxInMemory(int newMaxInMemory) {
+        cacheLineTable.setLru(newMaxInMemory);
+        this.maxInMemory = newMaxInMemory;
     }
 
     public int getMaxInMemory() {
         return maxInMemory;
     }
 
+    public void setSizeLimit(int newSizeLimit) {
+        this.sizeLimit = sizeLimit;
+    }
+
+    public int getSizeLimit() {
+        return sizeLimit;
+    }
+
     /** Sets the expire time for the cache elements.
      * If 0, elements never expire.
      * @param expireTime The expire time for the cache elements
@@ -629,11 +643,11 @@ public class UtilCache<K, V> implements
     }
 
     @SuppressWarnings("unchecked")
-    public static <K, V> UtilCache<K, V> getOrCreateUtilCache(String name, int maxSize, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore, String... names) {
+    public static <K, V> UtilCache<K, V> getOrCreateUtilCache(String name, int sizeLimit, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore, String... names) {
         UtilCache<K, V> existingCache = (UtilCache<K, V>) utilCacheTable.get(name);
         if (existingCache != null) return existingCache;
         String cacheName = name + getNextDefaultIndex(name);
-        UtilCache<K, V> newCache = new UtilCache<K, V>(cacheName, maxSize, maxInMemory, expireTime, useSoftReference, useFileSystemStore, name, names);
+        UtilCache<K, V> newCache = new UtilCache<K, V>(cacheName, sizeLimit, maxInMemory, expireTime, useSoftReference, useFileSystemStore, name, names);
         UtilCache<K, V> oldCache = (UtilCache<K, V>) utilCacheTable.putIfAbsent(name, newCache);
         if (oldCache == null) {
             return newCache;
@@ -642,29 +656,29 @@ public class UtilCache<K, V> implements
         }
     }
 
-    public static <K, V> UtilCache<K, V> createUtilCache(String name, int maxSize, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore, String... names) {
+    public static <K, V> UtilCache<K, V> createUtilCache(String name, int sizeLimit, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore, String... names) {
         String cacheName = name + getNextDefaultIndex(name);
-        return storeCache(new UtilCache<K, V>(cacheName, maxSize, maxInMemory, expireTime, useSoftReference, useFileSystemStore, name, names));
+        return storeCache(new UtilCache<K, V>(cacheName, sizeLimit, maxInMemory, expireTime, useSoftReference, useFileSystemStore, name, names));
     }
 
-    public static <K, V> UtilCache<K, V> createUtilCache(String name, int maxSize, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore) {
+    public static <K, V> UtilCache<K, V> createUtilCache(String name, int sizeLimit, int maxInMemory, long expireTime, boolean useSoftReference, boolean useFileSystemStore) {
         String cacheName = name + getNextDefaultIndex(name);
-        return storeCache(new UtilCache<K, V>(cacheName, maxSize, maxInMemory, expireTime, useSoftReference, useFileSystemStore, name));
+        return storeCache(new UtilCache<K, V>(cacheName, sizeLimit, maxInMemory, expireTime, useSoftReference, useFileSystemStore, name));
     }
 
-    public static <K,V> UtilCache<K, V> createUtilCache(String name, int maxSize, long expireTime, boolean useSoftReference) {
+    public static <K,V> UtilCache<K, V> createUtilCache(String name, int sizeLimit, long expireTime, boolean useSoftReference) {
         String cacheName = name + getNextDefaultIndex(name);
-        return storeCache(new UtilCache<K, V>(cacheName, maxSize, maxSize, expireTime, useSoftReference, false, name));
+        return storeCache(new UtilCache<K, V>(cacheName, sizeLimit, sizeLimit, expireTime, useSoftReference, false, name));
     }
 
-    public static <K,V> UtilCache<K, V> createUtilCache(String name, int maxSize, long expireTime) {
+    public static <K,V> UtilCache<K, V> createUtilCache(String name, int sizeLimit, long expireTime) {
         String cacheName = name + getNextDefaultIndex(name);
-        return storeCache(new UtilCache<K, V>(cacheName, maxSize, maxSize, expireTime, false, false, name));
+        return storeCache(new UtilCache<K, V>(cacheName, sizeLimit, sizeLimit, expireTime, false, false, name));
     }
 
-    public static <K,V> UtilCache<K, V> createUtilCache(int maxSize, long expireTime) {
+    public static <K,V> UtilCache<K, V> createUtilCache(int sizeLimit, long expireTime) {
         String cacheName = "specified" + getNextDefaultIndex("specified");
-        return storeCache(new UtilCache<K, V>(cacheName, maxSize, maxSize, expireTime, false, false, "specified"));
+        return storeCache(new UtilCache<K, V>(cacheName, sizeLimit, sizeLimit, expireTime, false, false, "specified"));
     }
 
     public static <K,V> UtilCache<K, V> createUtilCache(String name, boolean useSoftReference) {

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/test/UtilCacheTests.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/test/UtilCacheTests.java?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/test/UtilCacheTests.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/util/cache/test/UtilCacheTests.java Thu Apr  1 04:31:37 2010
@@ -157,13 +157,13 @@ public class UtilCacheTests extends Gene
         super(name);
     }
 
-    private <K, V> UtilCache<K, V> createUtilCache(int maxSize, int maxInMemory, long ttl, boolean useSoftReference, boolean useFileSystemStore) {
-        return UtilCache.createUtilCache(getClass().getName() + "." + getName(), maxSize, maxInMemory, ttl, useSoftReference, useFileSystemStore);
+    private <K, V> UtilCache<K, V> createUtilCache(int sizeLimit, int maxInMemory, long ttl, boolean useSoftReference, boolean useFileSystemStore) {
+        return UtilCache.createUtilCache(getClass().getName() + "." + getName(), sizeLimit, maxInMemory, ttl, useSoftReference, useFileSystemStore);
     }
 
-    private static <K, V> void assertUtilCacheSettings(UtilCache<K, V> cache, Integer maxSize, Integer maxInMemory, Long expireTime, Boolean useSoftReference, Boolean useFileSystemStore) {
-        if (maxSize != null) {
-            assertEquals(cache.getName() + ":maxSize", maxSize.intValue(), cache.getMaxSize());
+    private static <K, V> void assertUtilCacheSettings(UtilCache<K, V> cache, Integer sizeLimit, Integer maxInMemory, Long expireTime, Boolean useSoftReference, Boolean useFileSystemStore) {
+        if (sizeLimit != null) {
+            assertEquals(cache.getName() + ":sizeLimit", sizeLimit.intValue(), cache.getSizeLimit());
         }
         if (maxInMemory != null) {
             assertEquals(cache.getName() + ":maxInMemory", maxInMemory.intValue(), cache.getMaxInMemory());
@@ -246,7 +246,7 @@ public class UtilCacheTests extends Gene
         for (int i = 0; i < 2; i++) {
             assertTrue("UtilCacheTable.keySet", UtilCache.getUtilCacheTableKeySet().contains(cache.getName()));
             assertSame("UtilCache.findCache", cache, UtilCache.findCache(cache.getName()));
-            assertSame("UtilCache.getOrCreateUtilCache", cache, UtilCache.getOrCreateUtilCache(cache.getName(), cache.getMaxSize(), cache.getMaxInMemory(), cache.getExpireTime(), cache.getUseSoftReference(), cache.getUseFileSystemStore()));
+            assertSame("UtilCache.getOrCreateUtilCache", cache, UtilCache.getOrCreateUtilCache(cache.getName(), cache.getSizeLimit(), cache.getMaxInMemory(), cache.getExpireTime(), cache.getUseSoftReference(), cache.getUseFileSystemStore()));
 
             assertNoSingleKey(cache, "one");
             long origByteSize = cache.getSizeInBytes();
@@ -322,7 +322,7 @@ public class UtilCacheTests extends Gene
         basicTest(cache);
     }
 
-    public void testChangeSize() throws Exception {
+    public void testChangeMemSize() throws Exception {
         int size = 5;
         long ttl = 2000;
         UtilCache<String, Serializable> cache = createUtilCache(size, size, ttl, false, false);
@@ -331,7 +331,7 @@ public class UtilCacheTests extends Gene
             String s = Integer.toString(i);
             assertKey(s, cache, s, new String(s), new String(":" + s), i + 1, map);
         }
-        cache.setMaxSize(2);
+        cache.setMaxInMemory(2);
         for (int i = 0; i < size - 2; i++) {
             String s = Integer.toString(i);
             map.remove(s);

Modified: ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml (original)
+++ ofbiz/trunk/framework/webtools/config/WebtoolsUiLabels.xml Thu Apr  1 04:31:37 2010
@@ -2116,6 +2116,9 @@
         <value xml:lang="th">ขนาดสูงสุด</value>
         <value xml:lang="zh">最大大小</value>
     </property>
+    <property key="WebtoolsMaxInMemory">
+        <value xml:lang="en">Max In Memory</value>
+    </property>
     <property key="WebtoolsMemory">
         <value xml:lang="de">Speicher</value>
         <value xml:lang="en">Memory</value>

Modified: ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/UtilCacheEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/UtilCacheEvents.java?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/UtilCacheEvents.java (original)
+++ ofbiz/trunk/framework/webtools/src/org/ofbiz/webtools/UtilCacheEvents.java Thu Apr  1 04:31:37 2010
@@ -79,7 +79,7 @@ public class UtilCacheEvents {
         if (utilCache != null) {
             Object key = null;
 
-            if (utilCache.getMaxSize() > 0) {
+            if (utilCache.getMaxInMemory() > 0) {
                 try {
                     key = utilCache.getCacheLineTable().getKeyFromMemory(number);
                 } catch (Exception e) {}
@@ -220,15 +220,15 @@ public class UtilCacheEvents {
             request.setAttribute("_ERROR_MESSAGE_", errMsg);
             return "error";
         }
-        String maxSizeStr = request.getParameter("UTIL_CACHE_MAX_SIZE");
+        String maxInMemoryStr = request.getParameter("UTIL_CACHE_MAX_IN_MEMORY");
         String expireTimeStr = request.getParameter("UTIL_CACHE_EXPIRE_TIME");
         String useSoftReferenceStr = request.getParameter("UTIL_CACHE_USE_SOFT_REFERENCE");
 
-        Integer maxSize = null;
+        Integer maxInMemory = null;
         Long expireTime = null;
 
         try {
-            maxSize = Integer.valueOf(maxSizeStr);
+            maxInMemory = Integer.valueOf(maxInMemoryStr);
         } catch (Exception e) {}
         try {
             expireTime = Long.valueOf(expireTimeStr);
@@ -237,8 +237,8 @@ public class UtilCacheEvents {
         UtilCache<?, ?> utilCache = UtilCache.findCache(name);
 
         if (utilCache != null) {
-            if (maxSize != null)
-                utilCache.setMaxSize(maxSize.intValue());
+            if (maxInMemory != null)
+                utilCache.setMaxInMemory(maxInMemory.intValue());
             if (expireTime != null)
                 utilCache.setExpireTime(expireTime.longValue());
             if (useSoftReferenceStr != null) {

Modified: ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/EditUtilCache.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/EditUtilCache.groovy?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/EditUtilCache.groovy (original)
+++ ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/EditUtilCache.groovy Thu Apr  1 04:31:37 2010
@@ -38,7 +38,7 @@ if (cacheName) {
         cache.missCountSoftRef = UtilFormatOut.formatQuantity(utilCache.getMissCountSoftRef());
         cache.removeHitCount = UtilFormatOut.formatQuantity(utilCache.getRemoveHitCount());
         cache.removeMissCount = UtilFormatOut.formatQuantity(utilCache.getRemoveMissCount());
-        cache.maxSize = UtilFormatOut.formatQuantity(utilCache.getMaxSize());
+        cache.maxInMemory = UtilFormatOut.formatQuantity(utilCache.getMaxInMemory());
         cache.expireTime = UtilFormatOut.formatQuantity(utilCache.getExpireTime());
         cache.useSoftReference = utilCache.getUseSoftReference().toString();
         cache.useFileSystemStore = utilCache.getUseFileSystemStore().toString();

Modified: ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/FindUtilCache.groovy
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/FindUtilCache.groovy?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/FindUtilCache.groovy (original)
+++ ofbiz/trunk/framework/webtools/webapp/webtools/WEB-INF/actions/cache/FindUtilCache.groovy Thu Apr  1 04:31:37 2010
@@ -43,7 +43,7 @@ names.each { cacheName ->
         cache.missCountSoftRef = UtilFormatOut.formatQuantity(utilCache.getMissCountSoftRef());
         cache.removeHitCount = UtilFormatOut.formatQuantity(utilCache.getRemoveHitCount());
         cache.removeMissCount = UtilFormatOut.formatQuantity(utilCache.getRemoveMissCount());
-        cache.maxSize = UtilFormatOut.formatQuantity(utilCache.getMaxSize());
+        cache.maxInMemory = UtilFormatOut.formatQuantity(utilCache.getMaxInMemory());
         cache.expireTime = UtilFormatOut.formatQuantity(utilCache.getExpireTime());
         cache.useSoftReference = utilCache.getUseSoftReference().toString();
         cache.useFileSystemStore = utilCache.getUseFileSystemStore().toString();

Modified: ofbiz/trunk/framework/webtools/webapp/webtools/cache/editUtilCache.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/cache/editUtilCache.ftl?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/webapp/webtools/cache/editUtilCache.ftl (original)
+++ ofbiz/trunk/framework/webtools/webapp/webtools/cache/editUtilCache.ftl Thu Apr  1 04:31:37 2010
@@ -74,9 +74,9 @@ under the License.
                     <td colspan="2">${cache.removeMissCount?if_exists}</td>
                 </tr>
                 <tr>
-                    <td class="label">${uiLabelMap.WebtoolsMaxSize}</td>
-                    <td>${cache.maxSize?if_exists}</td>
-                    <td><input type="text" size="15" maxlength="15" name="UTIL_CACHE_MAX_SIZE" value="${cache.maxSize?if_exists}"/></td>
+                    <td class="label">${uiLabelMap.WebtoolsMaxInMemory}</td>
+                    <td>${cache.maxInMemory?if_exists}</td>
+                    <td><input type="text" size="15" maxlength="15" name="UTIL_CACHE_MAX_IN_MEMORY" value="${cache.maxInMemory?if_exists}"/></td>
                 </tr>
                 <tr>
                     <td class="label">${uiLabelMap.WebtoolsExpireTime}</td>

Modified: ofbiz/trunk/framework/webtools/webapp/webtools/cache/findUtilCache.ftl
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/webtools/webapp/webtools/cache/findUtilCache.ftl?rev=929813&r1=929812&r2=929813&view=diff
==============================================================================
--- ofbiz/trunk/framework/webtools/webapp/webtools/cache/findUtilCache.ftl (original)
+++ ofbiz/trunk/framework/webtools/webapp/webtools/cache/findUtilCache.ftl Thu Apr  1 04:31:37 2010
@@ -53,7 +53,7 @@ under the License.
                 <td>${uiLabelMap.WebtoolsHits}</td>
                 <td>${uiLabelMap.WebtoolsMisses}</td>
                 <td>${uiLabelMap.WebtoolsRemoves}</td>
-                <td>${uiLabelMap.WebtoolsMaxSize}</td>
+                <td>${uiLabelMap.WebtoolsMaxInMemory}</td>
                 <td>${uiLabelMap.WebtoolsExpireTime}</td>
                 <td align="center">${uiLabelMap.WebtoolsUseSoftRef}</td>
                 <td align="center">${uiLabelMap.WebtoolsUseFileStore}</td>
@@ -67,7 +67,7 @@ under the License.
                     <td>${cache.hitCount?if_exists}</td>
                     <td>${cache.missCountTot?if_exists}/${cache.missCountNotFound?if_exists}/${cache.missCountExpired?if_exists}/${cache.missCountSoftRef?if_exists}</td>
                     <td>${cache.removeHitCount?if_exists}/${cache.removeMissCount?if_exists}</td>
-                    <td>${cache.maxSize?if_exists}</td>
+                    <td>${cache.maxInMemory?if_exists}</td>
                     <td>${cache.expireTime?if_exists}</td>
                     <td align="center">${cache.useSoftReference?if_exists}</td>
                     <td align="center">${cache.useFileSystemStore?if_exists}</td>