Author: sebb
Date: Thu Oct  9 09:09:05 2008
New Revision: 703194

URL: http://svn.apache.org/viewvc?rev=703194&view=rev
Log:
Remove serializable from inner class, and tidy up wait loop
[The code does not appear to be used currently, but still...]

Modified:
    jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java

Modified: 
jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java
URL: 
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java?rev=703194&r1=703193&r2=703194&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java 
(original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java 
Thu Oct  9 09:09:05 2008
@@ -48,7 +48,7 @@
 public class ThreadGroup extends AbstractTestElement implements 
SampleListener, Serializable, Controller {
     private final static Logger log = LoggingManager.getLoggerForClass();
 
-    private static final long serialVersionUID = 232L;
+    private static final long serialVersionUID = 233L;
 
     public final static String NUM_THREADS = "ThreadGroup.num_threads";
 
@@ -296,6 +296,8 @@
         getSamplerController().addTestElement(child);
     }
 
+    // TODO - does the ThreadGroup ever get any samples? Does it need to 
implement SampleListener?
+    
     /**
      * A sample has occurred.
      *
@@ -334,11 +336,8 @@
      * Separate thread to deliver all SampleEvents. This ensures that sample
      * listeners will get sample events one at a time and can thus ignore 
thread
      * issues.
-     *
-     * @author Mike Stover
-     * @version $Id$
      */
-    private class SampleQueue implements Runnable, Serializable {
+    private class SampleQueue implements Runnable {
         List occurredQ = Collections.synchronizedList(new LinkedList());
 
         /**
@@ -369,8 +368,8 @@
                 try {
                     event = (SampleEvent) occurredQ.remove(0);
                 } catch (Exception ex) {
-                    waitForSamples();
-                    continue;
+                    log.warn("Problem removing an item from the queue", ex);
+                    // Drop thru to wait
                 }
                 try {
                     if (event != null) {
@@ -383,11 +382,15 @@
                             try {
                                 ((RemoteSampleListener) 
iter.next()).sampleOccurred(event);
                             } catch (Exception ex) {
-                                log.error("", ex);
+                                log.error("Could not invoke sampleOccured on 
remote listener", ex);
                             }
                         }
                     } else {
-                        waitForSamples();
+                        try {
+                            this.wait();
+                        } catch (Exception ex) {
+                            log.warn("Error occured during wait", ex);
+                        }
                     }
                 } catch (Throwable ex) {
                     log.error("", ex);
@@ -395,14 +398,6 @@
 
             }
         }
-
-        private synchronized void waitForSamples() {
-            try {
-                this.wait();
-            } catch (Exception ex) {
-                log.error("", ex);
-            }
-        }
     }
 
     /*



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to