You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by ta...@apache.org on 2013/06/05 20:41:58 UTC

svn commit: r1489997 - /activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java

Author: tabish
Date: Wed Jun  5 18:41:58 2013
New Revision: 1489997

URL: http://svn.apache.org/r1489997
Log:
Test fix, don't produce a StackOverflowException

Modified:
    activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java

Modified: activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java
URL: http://svn.apache.org/viewvc/activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java?rev=1489997&r1=1489996&r2=1489997&view=diff
==============================================================================
--- activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java (original)
+++ activemq/trunk/activemq-unit-tests/src/test/java/org/apache/activemq/bugs/AMQ2902Test.java Wed Jun  5 18:41:58 2013
@@ -17,10 +17,13 @@
 package org.apache.activemq.bugs;
 
 import java.util.concurrent.atomic.AtomicBoolean;
+
 import javax.jms.Connection;
 import javax.jms.ConnectionFactory;
 import javax.jms.JMSException;
+
 import junit.framework.TestCase;
+
 import org.apache.activemq.ActiveMQConnectionFactory;
 import org.apache.activemq.broker.TransportConnection;
 import org.apache.activemq.transport.TransportDisposedIOException;
@@ -36,12 +39,18 @@ public class AMQ2902Test extends TestCas
 
     final AtomicBoolean gotExceptionInLog = new AtomicBoolean(Boolean.FALSE);
     final AtomicBoolean failedToFindMDC = new AtomicBoolean(Boolean.FALSE);
-    
+
     Appender appender = new DefaultTestAppender() {
         @Override
         public void doAppend(LoggingEvent event) {
             if (event.getThrowableInformation() != null
                     && event.getThrowableInformation().getThrowable() instanceof TransportDisposedIOException) {
+
+                // Prevent StackOverflowException so we can see a sane stack trace.
+                if (gotExceptionInLog.get()) {
+                    return;
+                }
+
                 LOG.error("got event: " + event + ", ex:" + event.getThrowableInformation().getThrowable(), event.getThrowableInformation().getThrowable());
                 gotExceptionInLog.set(Boolean.TRUE);
             }
@@ -70,6 +79,7 @@ public class AMQ2902Test extends TestCas
         connection.close();
     }
 
+    @Override
     public void setUp() throws Exception {
         gotExceptionInLog.set(Boolean.FALSE);
         failedToFindMDC.set(Boolean.FALSE);
@@ -78,6 +88,7 @@ public class AMQ2902Test extends TestCas
         Logger.getLogger(TransportConnection.class.getName()).setLevel(Level.DEBUG);
     }
 
+    @Override
     public void tearDown() throws Exception {
         Logger.getRootLogger().removeAppender(appender);
         assertFalse("got unexpected ex in log on graceful close", gotExceptionInLog.get());