[jboss-cvs] JBossAS SVN: r97662 - trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Dec 9 23:08:39 EST 2009
Author: bstansberry at jboss.com
Date: 2009-12-09 23:08:39 -0500 (Wed, 09 Dec 2009)
New Revision: 97662
Modified:
trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java
trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java
Log:
[JBAS-7500] Sync trunk w/ 6.0.0.M1
Modified: trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java 2009-12-10 04:00:34 UTC (rev 97661)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/ClassLoaderStore.java 2009-12-10 04:08:39 UTC (rev 97662)
@@ -231,6 +231,7 @@
}
finally
{
+ bytez = null;
// Sleep a bit to allow CPU to do work like exchange cluster PING responses
try
{
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 2009-12-10 04:00:34 UTC (rev 97661)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/clstore/LeakAnalyzer.java 2009-12-10 04:08:39 UTC (rev 97662)
@@ -27,10 +27,10 @@
import java.lang.ref.Reference;
import java.lang.ref.SoftReference;
import java.lang.reflect.Field;
-import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
@@ -80,7 +80,7 @@
* Show the reference holders tree of an object. This returns a report you
* can visualize through MBean.
*/
- public String exploreObjectReferences(HashMap referencesMap, Object thatObject, int maxLevel, boolean useToString,
+ public String exploreObjectReferences(HashMap<Long, List<ReferenceDataPoint>> referencesMap, Object thatObject, int maxLevel, boolean useToString,
boolean condensed)
{
ReferenceReportNode root = new ReferenceReportNode(callToString(thatObject, useToString));
@@ -92,7 +92,7 @@
try
{
- exploreObject(root, thatObject, 0, maxLevel, useToString, false, referencesMap, new HashSet(), prunableLeaves);
+ exploreObject(root, thatObject, 0, maxLevel, useToString, false, referencesMap, new HashSet<String>(), prunableLeaves);
for (Iterator<ReferenceReportNode> it = prunableLeaves.iterator(); it.hasNext();)
{
@@ -123,7 +123,7 @@
/** Explore references recursively */
private void exploreObject(ReferenceReportNode node, Object source, int currentLevel, final int maxLevel,
- boolean useToString, boolean weakAndSoft, Map mapDataPoints, Set alreadyExplored, Set prunableLeaves)
+ boolean useToString, boolean weakAndSoft, Map<Long, List<ReferenceDataPoint>> mapDataPoints, Set<String> alreadyExplored, Set<ReferenceReportNode> prunableLeaves)
{
if (maxLevel >= 0 && currentLevel >= maxLevel)
{
@@ -148,7 +148,7 @@
log.info("resolving references of " + callToString(source, useToString) + "...");
Long sourceTag = new Long(this.getTagOnObject(source));
- ArrayList listPoints = (ArrayList) mapDataPoints.get(sourceTag);
+ List<ReferenceDataPoint> listPoints = mapDataPoints.get(sourceTag);
if (listPoints == null)
{
log.info("didn't find references");
@@ -157,17 +157,15 @@
log.info("References found");
- for (Iterator iter = listPoints.iterator(); iter.hasNext();)
- {
- ReferenceDataPoint point = (ReferenceDataPoint) iter.next();
-
+ for (ReferenceDataPoint point : listPoints)
+ {
ReferenceReportNode child = new ReferenceReportNode();
Object nextReference = treatReference(child, point, useToString);
if (nextReference != null && !weakAndSoft)
{
- if (nextReference instanceof Reference)
+ if (nextReference instanceof Reference<?>)
{
// WeakHashMap$Entry and ThreadLocal$ThreadLocalMap$Entry are
// special cases, where the Entry key is a weak ref, but the
@@ -179,12 +177,13 @@
// 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
- && !(nextReference instanceof SoftReference))
+ && !(nextReference instanceof SoftReference<?>))
{
- if (nextReference instanceof Map.Entry)
+ if (nextReference instanceof Map.Entry<?,?>)
{
// WeakHashMap$Entry is suspicious.
// Put in some more info about the entry
+ @SuppressWarnings("unchecked")
Map.Entry entry = (Entry) nextReference;
Object key = entry.getKey();
msg += " KEY=" + (key == null ? " null" : key.getClass().getName() + "@" + System.identityHashCode(key));
@@ -199,7 +198,7 @@
else if (msg.indexOf("java.lang.ThreadLocal$ThreadLocalMap$Entry") >= 0)
{
// Get the key and follow that to see why it isn't released
- nextReference = ((Reference) nextReference).get();
+ nextReference = ((Reference<?>) nextReference).get();
}
// else just keep going
@@ -260,7 +259,7 @@
else
{
String base = obj.getClass().getName() + "@" + System.identityHashCode(obj);
- if (callToString || obj instanceof Class)
+ if (callToString || obj instanceof Class<?>)
{
base += "(" + obj.toString() + ")";
}
@@ -326,7 +325,7 @@
}
else
{
- Class clazz = referenceHolder.getClass();
+ Class<?> clazz = referenceHolder.getClass();
Field field = this.getObjectField(clazz, (int) point.getIndex());
if (field == null)
{
@@ -401,7 +400,8 @@
// at zero. See
// GetClassFields.
{
- Class clazz = (Class) referenceHolder;
+ @SuppressWarnings("unchecked")
+ Class<?> clazz = (Class) referenceHolder;
Field field = this.getObjectField(clazz, (int) point.getIndex());
String fieldName = null;
if (field == null)
@@ -432,7 +432,7 @@
break;
case JVMTICallBack.THREAD_REFERENCE :
- Class methodClass = this.getMethodClass(point.getMethod());
+ Class<?> methodClass = this.getMethodClass(point.getMethod());
if (methodClass != null)
{
String className = null;
More information about the jboss-cvs-commits
mailing list