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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to