Author: tolusha
Date: 2010-03-03 07:14:50 -0500 (Wed, 03 Mar 2010)
New Revision: 1984
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java
Log:
EXOJCR-348: test fix
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java 2010-03-03
08:34:58 UTC (rev 1983)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/CleanableFilePersistedValueData.java 2010-03-03
12:14:50 UTC (rev 1984)
@@ -42,7 +42,7 @@
protected final static Log LOG =
ExoLogger.getLogger("jcr.CleanableFileStreamValueData");
protected FileCleaner cleaner;
-
+
/**
* Empty constructor to serialization.
*/
@@ -84,14 +84,14 @@
//TODO FileCleaner maybe null.
if (cleaner != null)
{
- cleaner.addFile(file);
+ cleaner.addFile(file);
- if (LOG.isDebugEnabled())
- {
- LOG.debug("Could not remove temporary file on finalize: inUse="
+ (((SwapFile)file).inUse()) + ", "
- + file.getAbsolutePath());
+ if (LOG.isDebugEnabled())
+ {
+ LOG.debug("Could not remove temporary file on finalize:
inUse=" + (((SwapFile)file).inUse()) + ", "
+ + file.getAbsolutePath());
+ }
}
- }
}
}
finally
Modified:
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java 2010-03-03
08:34:58 UTC (rev 1983)
+++
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java 2010-03-03
12:14:50 UTC (rev 1984)
@@ -103,11 +103,14 @@
testCleaner = null;
if (testFile.exists())
+ {
testFile.delete();
+ }
TestSwapFile.cleanShare();
System.gc();
+ Thread.sleep(CLEANER_TIMEOUT + 500);
Thread.yield();
System.gc();
@@ -151,6 +154,17 @@
System.gc();
assertTrue(testFile.exists());
+
+ // clean ValueData
+ cfvd2 = null;
+
+ // allows GC to call finalize on vd
+ System.gc();
+ Thread.sleep(CLEANER_TIMEOUT + 500);
+ Thread.yield();
+ System.gc();
+
+ assertFalse(testFile.exists());
}
public void testTransientFileNotCleaned() throws InterruptedException, IOException,
RepositoryException