You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by ge...@apache.org on 2009/03/16 09:46:08 UTC

svn commit: r754844 - /servicemix/smx4/nmr/trunk/jbi/cluster/engine/src/test/java/org/apache/servicemix/jbi/cluster/engine/AutoFailTestSupport.java

Author: gertv
Date: Mon Mar 16 08:46:08 2009
New Revision: 754844

URL: http://svn.apache.org/viewvc?rev=754844&view=rev
Log:
SMX4NMR-128: Dump threads for a stalled unit test

Modified:
    servicemix/smx4/nmr/trunk/jbi/cluster/engine/src/test/java/org/apache/servicemix/jbi/cluster/engine/AutoFailTestSupport.java

Modified: servicemix/smx4/nmr/trunk/jbi/cluster/engine/src/test/java/org/apache/servicemix/jbi/cluster/engine/AutoFailTestSupport.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/nmr/trunk/jbi/cluster/engine/src/test/java/org/apache/servicemix/jbi/cluster/engine/AutoFailTestSupport.java?rev=754844&r1=754843&r2=754844&view=diff
==============================================================================
--- servicemix/smx4/nmr/trunk/jbi/cluster/engine/src/test/java/org/apache/servicemix/jbi/cluster/engine/AutoFailTestSupport.java (original)
+++ servicemix/smx4/nmr/trunk/jbi/cluster/engine/src/test/java/org/apache/servicemix/jbi/cluster/engine/AutoFailTestSupport.java Mon Mar 16 08:46:08 2009
@@ -16,9 +16,13 @@
  */
 package org.apache.servicemix.jbi.cluster.engine;
 
+import java.lang.management.ManagementFactory;
+import java.lang.management.ThreadInfo;
+import java.lang.management.ThreadMXBean;
 import java.util.concurrent.atomic.AtomicBoolean;
 
 import junit.framework.TestCase;
+
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -78,6 +82,16 @@
                     if (!isTestSuccess.get()) {
                         LOG.error("Test case has exceeded the maximum allotted time to run of: " + getMaxTestTime() + " ms.");
                         LOG.fatal("Test case has exceeded the maximum allotted time to run of: " + getMaxTestTime() + " ms.");
+                        
+                        if (LOG.isDebugEnabled()) {
+                            ThreadMXBean threads = ManagementFactory.getThreadMXBean();
+                            ThreadInfo[]  threadInfos = threads.getThreadInfo(threads.getAllThreadIds(), 50);
+    
+                            for (ThreadInfo threadInfo : threadInfos) {
+                                LOG.debug(threadInfo);
+                            }
+                        }
+
                         System.exit(EXIT_ERROR);
                     }
                 }