Author: markt
Date: Mon Oct 27 03:03:19 2008
New Revision: 708123
URL: http://svn.apache.org/viewvc?rev=708123&view=rev
Log:
Allow the maximum allowed size of a resource that is cached to be configured.
The default of cacheMaxSize/20 gave too high a value for large caches.
Modified:
tomcat/tc6.0.x/trunk/STATUS.txt
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/mbeans-descriptors.xml
tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/BaseDirContext.java
tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/ProxyDirContext.java
tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml
Modified: tomcat/tc6.0.x/trunk/STATUS.txt
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/STATUS.txt?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/STATUS.txt (original)
+++ tomcat/tc6.0.x/trunk/STATUS.txt Mon Oct 27 03:03:19 2008
@@ -133,13 +133,8 @@
+1: markt, fhanik
-1:
-* Make the size limit on objects placed in the static resource cache
configurable
- http://svn.apache.org/viewvc?rev=699287&view=rev
- +1: markt, remm, fhanik
- -1:
-
* Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=45851
- Fix NPE and outof order message processing issues
+ Fix NPE and out of order message processing issues
http://svn.apache.org/viewvc?rev=699427&view=rev
+1: markt
0:
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/StandardContext.java Mon
Oct 27 03:03:19 2008
@@ -618,6 +618,12 @@
/**
+ * Cache object max size in KB.
+ */
+ protected int cacheObjectMaxSize = 512; // 512K
+
+
+ /**
* Cache TTL in ms.
*/
protected int cacheTTL = 5000;
@@ -781,6 +787,22 @@
/**
+ * Return the maximum size of objects to be cached in KB.
+ */
+ public int getCacheObjectMaxSize() {
+ return cacheObjectMaxSize;
+ }
+
+
+ /**
+ * Set the maximum size of objects to be placed the cache in KB.
+ */
+ public void setCacheObjectMaxSize(int cacheObjectMaxSize) {
+ this.cacheObjectMaxSize = cacheObjectMaxSize;
+ }
+
+
+ /**
* Return the "follow standard delegation model" flag used to configure
* our ClassLoader.
*/
@@ -1823,6 +1845,8 @@
((BaseDirContext) resources).setCached(isCachingAllowed());
((BaseDirContext) resources).setCacheTTL(getCacheTTL());
((BaseDirContext) resources).setCacheMaxSize(getCacheMaxSize());
+ ((BaseDirContext) resources).setCacheObjectMaxSize(
+ getCacheObjectMaxSize());
}
if (resources instanceof FileDirContext) {
filesystemBased = true;
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/mbeans-descriptors.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/mbeans-descriptors.xml?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/mbeans-descriptors.xml
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/core/mbeans-descriptors.xml
Mon Oct 27 03:03:19 2008
@@ -57,6 +57,10 @@
description="Maximum cache size in KB"
type="int"/>
+ <attribute name="cacheObjectMaxSize"
+ description="Maximum cached object size in KB"
+ type="int"/>
+
<attribute name="cacheTTL"
description="Time interval in ms between cache refeshes"
type="int"/>
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/BaseDirContext.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/BaseDirContext.java?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/BaseDirContext.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/BaseDirContext.java
Mon Oct 27 03:03:19 2008
@@ -105,11 +105,17 @@
/**
- * Max size of resources which will have their content cached.
+ * Max size of cache for resources.
*/
protected int cacheMaxSize = 10240; // 10 MB
+ /**
+ * Max size of resources that will be content cached.
+ */
+ protected int cacheObjectMaxSize = 512; // 512 K
+
+
// ------------------------------------------------------------- Properties
@@ -192,6 +198,22 @@
}
+ /**
+ * Return the maximum size of objects to be cached in KB.
+ */
+ public int getCacheObjectMaxSize() {
+ return cacheObjectMaxSize;
+ }
+
+
+ /**
+ * Set the maximum size of objects to be placed the cache in KB.
+ */
+ public void setCacheObjectMaxSize(int cacheObjectMaxSize) {
+ this.cacheObjectMaxSize = cacheObjectMaxSize;
+ }
+
+
// --------------------------------------------------------- Public Methods
Modified:
tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/ProxyDirContext.java
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/ProxyDirContext.java?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/ProxyDirContext.java
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/naming/resources/ProxyDirContext.java
Mon Oct 27 03:03:19 2008
@@ -76,7 +76,12 @@
}
cache.setCacheMaxSize(baseDirContext.getCacheMaxSize());
cacheTTL = baseDirContext.getCacheTTL();
- cacheObjectMaxSize = baseDirContext.getCacheMaxSize() / 20;
+ cacheObjectMaxSize = baseDirContext.getCacheObjectMaxSize();
+ // cacheObjectMaxSize must be less than cacheMaxSize
+ // Set a sensible limit
+ if (cacheObjectMaxSize > baseDirContext.getCacheMaxSize()/20) {
+ cacheObjectMaxSize = baseDirContext.getCacheMaxSize()/20;
+ }
}
}
hostName = (String) env.get(HOST);
Modified: tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/changelog.xml Mon Oct 27 03:03:19 2008
@@ -102,6 +102,11 @@
the functionality to lock out a user after too many failed logins.
(markt)
</add>
+ <add>
+ Make the upper size limit of the static resource cache configurable
+ since the default of <code>cacheMaxSize/20</code> gave too high a value
+ for large caches. (markt)
+ </add>
</changelog>
</subsection>
<subsection name="Coyote">
Modified: tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml
URL:
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml?rev=708123&r1=708122&r2=708123&view=diff
==============================================================================
--- tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml (original)
+++ tomcat/tc6.0.x/trunk/webapps/docs/config/context.xml Mon Oct 27 03:03:19
2008
@@ -292,6 +292,14 @@
(10 megabytes).</p>
</attribute>
+ <attribute name="cacheObjectMaxSize" required="false">
+ <p>Maximum size of the static resource that will be placed in the
cache.
+ If not specified, the default value is <code>512</code>
+ (512 kilobytes). If this value is greater than
+ <code>cacheMaxSize/20</code> it will be reduced to
+ <code>cacheMaxSize/20</code>.</p>
+ </attribute>
+
<attribute name="cacheTTL" required="false">
<p>Amount of time in milliseconds between cache entries revalidation.
If not specified, the default value is <code>5000</code>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]