You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by mr...@apache.org on 2008/03/18 14:46:33 UTC

svn commit: r638362 - /jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/AbstractConcurrencyTest.java

Author: mreutegg
Date: Tue Mar 18 06:46:32 2008
New Revision: 638362

URL: http://svn.apache.org/viewvc?rev=638362&view=rev
Log:
JCR-1478: Perform random operation tests
- use logger instead of System.out for thread dumps

Modified:
    jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/AbstractConcurrencyTest.java

Modified: jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/AbstractConcurrencyTest.java
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/AbstractConcurrencyTest.java?rev=638362&r1=638361&r2=638362&view=diff
==============================================================================
--- jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/AbstractConcurrencyTest.java (original)
+++ jackrabbit/trunk/jackrabbit-core/src/test/java/org/apache/jackrabbit/core/AbstractConcurrencyTest.java Tue Mar 18 06:46:32 2008
@@ -17,6 +17,8 @@
 package org.apache.jackrabbit.core;
 
 import org.apache.jackrabbit.test.AbstractJCRTest;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import javax.jcr.Session;
 import javax.jcr.Node;
@@ -31,6 +33,11 @@
 public abstract class AbstractConcurrencyTest extends AbstractJCRTest {
 
     /**
+     * Logger instance for this class.
+     */
+    private static final Logger log = LoggerFactory.getLogger(AbstractConcurrencyTest.class);
+
+    /**
      * Runs a task with the given concurrency and creates an individual test
      * node for each thread.
      *
@@ -139,20 +146,22 @@
 
     /**
      * If tests are run in a 1.5 JVM or higher the stack of the given threads
-     * are dumped to system out.
+     * are dumped to the logger with level ERROR.
      */
     protected static void dumpStacks(Thread[] threads) {
         try {
             Method m = Thread.class.getMethod("getStackTrace", null);
+            StringBuffer dumps = new StringBuffer();
             for (int t = 0; t < threads.length; t++) {
                 StackTraceElement[] elements = (StackTraceElement[]) m.invoke(
                         threads[t], null);
-                System.out.println(threads[t]);
+                dumps.append(threads[t].toString()).append('\n');
                 for (int i = 0; i < elements.length; i++) {
-                    System.out.println("\tat " + elements[i]);
+                    dumps.append("\tat " + elements[i]).append('\n');
                 }
-                System.out.println();
+                dumps.append('\n');
             }
+            log.error("Thread dumps:\n{}", dumps);
         } catch (NoSuchMethodException e) {
             // not a 1.5 JVM
         } catch (IllegalAccessException e) {