vgritsenko 01/08/24 20:40:38
Modified: src/org/apache/cocoon/components/store Tag: cocoon_20_branch
MRUMemoryStore.java
Log:
patch from Gerhard Froehlich [[EMAIL PROTECTED]]
Revision Changes Path
No revision
No revision
1.2.2.14 +13 -9
xml-cocoon2/src/org/apache/cocoon/components/store/MRUMemoryStore.java
Index: MRUMemoryStore.java
===================================================================
RCS file:
/home/cvs/xml-cocoon2/src/org/apache/cocoon/components/store/MRUMemoryStore.java,v
retrieving revision 1.2.2.13
retrieving revision 1.2.2.14
diff -u -r1.2.2.13 -r1.2.2.14
--- MRUMemoryStore.java 2001/08/24 00:33:48 1.2.2.13
+++ MRUMemoryStore.java 2001/08/25 03:40:38 1.2.2.14
@@ -208,22 +208,23 @@
while (true) {
// amount of memory used is greater then heapsize
if (this.jvm.totalMemory() - this.jvm.freeMemory() > this.heapsize) {
- getLogger().debug(
- "Invoking garbage collection, total memory = " +
- this.jvm.totalMemory() + ", free memory = " + this.jvm.freeMemory()
- );
+ getLogger().debug("Invoking garbage collection, total memory = "
+ + this.jvm.totalMemory() + ", free memory = "
+ + this.jvm.freeMemory());
this.jvm.runFinalization();
this.jvm.gc();
- getLogger().debug(
- "Garbage collection complete, total memory = " +
- this.jvm.totalMemory() + ", free memory = " + this.jvm.freeMemory()
- );
+ getLogger().debug("Garbage collection complete, total memory = "
+ + this.jvm.totalMemory() + ", free memory = "
+ + this.jvm.freeMemory());
+ getLogger().debug("Store size BEFORE cleanup=" + this.cache.size());
synchronized (this) {
while ((this.cache.size() > 0) && (this.jvm.freeMemory() <
this.freememory)) {
this.free();
}
}
+ getLogger().debug("Store size AFTER cleanup=" + this.cache.size());
}
+
try {
Thread.currentThread().sleep(this.cleanupthreadinterval * 1000);
} catch (InterruptedException ignore) {}
@@ -241,6 +242,7 @@
getLogger().error("Error in writer thread",ex);
}
}
+
synchronized (this.writer) {
try {
writer.wait();
@@ -339,7 +341,9 @@
getLogger().debug("Removing object from store");
this.cache.remove(key);
this.mrulist.remove(key);
- this.fsstore.remove(getFileName(key.toString()));
+ if(this.filesystem) {
+ this.fsstore.remove(getFileName(key.toString()));
+ }
}
/**
----------------------------------------------------------------------
In case of troubles, e-mail: [EMAIL PROTECTED]
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]