You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2007/09/11 22:27:03 UTC

svn commit: r574689 - in /jakarta/jmeter: branches/rel-2-2/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java branches/rel-2-2/xdocs/changes.xml trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java trunk/xdocs/changes.xml

Author: sebb
Date: Tue Sep 11 13:27:02 2007
New Revision: 574689

URL: http://svn.apache.org/viewvc?rev=574689&view=rev
Log:
Ensure uncaught exceptions are logged

Modified:
    jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
    jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
    jakarta/jmeter/trunk/xdocs/changes.xml

Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?rev=574689&r1=574688&r2=574689&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Tue Sep 11 13:27:02 2007
@@ -176,9 +176,23 @@
 		getTestTree().traverse(compiler);
 	}
 
+	// TODO: in Java1.5, perhaps we can use Thread.setUncaughtExceptionHandler() instead
+	private static class MyThreadGroup extends java.lang.ThreadGroup{
+	    public MyThreadGroup(String s) {
+	        super(s);
+	      }
+	      
+	      public void uncaughtException(Thread t, Throwable e) {
+	    	if (!(e instanceof ThreadDeath)) {
+	    		log.error("Uncaught exception: ", e);
+	    		System.err.println("Uncaught Exception " + e + ". See log file for details.");
+	    	}
+	      }
+
+	}
 	public void runTest() throws JMeterEngineException {
 		try {
-			runningThread = new Thread(this);
+			runningThread = new Thread(new MyThreadGroup("JMeterThreadGroup"),this);
 			runningThread.start();
 		} catch (Exception err) {
 			stopTest();

Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?rev=574689&r1=574688&r2=574689&view=diff
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Tue Sep 11 13:27:02 2007
@@ -44,6 +44,7 @@
 <li>Add nameSpace option to XPath extractor</li>
 <li>Add NULL parameter option to JDBC sampler</li>
 <li>Add documentation links for Rhino and BeanShell to functions; clarify variables and properties</li>
+<li>Ensure uncaught exceptions are logged</li>
 </ul>
 
 <h4>Fixes since 2.3RC3</h4>

Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?rev=574689&r1=574688&r2=574689&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Tue Sep 11 13:27:02 2007
@@ -176,9 +176,23 @@
 		getTestTree().traverse(compiler);
 	}
 
+	// TODO: in Java1.5, perhaps we can use Thread.setUncaughtExceptionHandler() instead
+	private static class MyThreadGroup extends java.lang.ThreadGroup{
+	    public MyThreadGroup(String s) {
+	        super(s);
+	      }
+	      
+	      public void uncaughtException(Thread t, Throwable e) {
+	    	if (!(e instanceof ThreadDeath)) {
+	    		log.error("Uncaught exception: ", e);
+	    		System.err.println("Uncaught Exception " + e + ". See log file for details.");
+	    	}
+	      }
+
+	}
 	public void runTest() throws JMeterEngineException {
 		try {
-			runningThread = new Thread(this);
+			runningThread = new Thread(new MyThreadGroup("JMeterThreadGroup"),this);
 			runningThread.start();
 		} catch (Exception err) {
 			stopTest();

Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=574689&r1=574688&r2=574689&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Tue Sep 11 13:27:02 2007
@@ -27,20 +27,6 @@
 
 <!--  ===================  -->
 
-<h3>Version 2.3.1</h3>
-
-<h4>Bug fixes</h4>
-<ul>
-<li>SaveService no longer needs to instantiate classes</li>
-</ul>
-
-<h4>Improvements</h4>
-<ul>
-<li></li>
-</ul>
-
-<!--  ===================  -->
-
 <h3>Version 2.3</h3>
 
 <h3>Fixes since 2.3RC4</h3>
@@ -58,6 +44,7 @@
 <li>Add nameSpace option to XPath extractor</li>
 <li>Add NULL parameter option to JDBC sampler</li>
 <li>Add documentation links for Rhino and BeanShell to functions; clarify variables and properties</li>
+<li>Ensure uncaught exceptions are logged</li>
 </ul>
 
 <h4>Fixes since 2.3RC3</h4>



---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org