[jboss-cvs] JBossAS SVN: r72582 - trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 22 14:06:36 EDT 2008


Author: bstansberry at jboss.com
Date: 2008-04-22 14:06:36 -0400 (Tue, 22 Apr 2008)
New Revision: 72582

Modified:
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java
Log:
Keep tracing paths through SoftReferences

Modified: trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java	2008-04-22 17:40:50 UTC (rev 72581)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java	2008-04-22 18:06:36 UTC (rev 72582)
@@ -25,6 +25,7 @@
 import java.io.CharArrayWriter;
 import java.io.PrintWriter;
 import java.lang.ref.Reference;
+import java.lang.ref.SoftReference;
 import java.lang.reflect.Field;
 import java.util.ArrayList;
 import java.util.HashMap;
@@ -174,8 +175,11 @@
                // only mark as prunable if the ref is the standard
                // java.lang.ref.Referent.referent -- all others are potential
                // strong references
+               // We also don't stop at SoftReferences, since if they survive
+               // our attempts at flushing them out, we want to know about them
                String msg = child.getMessage();
-               if (msg.indexOf("FieldReference private java.lang.Object java.lang.ref.Reference.referent=") >= 0)
+               if (msg.indexOf("FieldReference private java.lang.Object java.lang.ref.Reference.referent=") >= 0
+                     && !(nextReference instanceof SoftReference))
                {                  
                   if (nextReference instanceof Map.Entry)
                   {




More information about the jboss-cvs-commits mailing list