You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by se...@apache.org on 2012/08/14 01:04:55 UTC

svn commit: r1372660 - in /jmeter/trunk/src/core/org/apache/jmeter: engine/StandardJMeterEngine.java threads/AbstractThreadGroup.java threads/ThreadGroup.java

Author: sebb
Date: Mon Aug 13 23:04:55 2012
New Revision: 1372660

URL: http://svn.apache.org/viewvc?rev=1372660&view=rev
Log:
Move JMeterThreadMonitor implementation from engine to the thread group, as the engine was calling the group anyway.

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
    jmeter/trunk/src/core/org/apache/jmeter/threads/AbstractThreadGroup.java
    jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java

Modified: jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java?rev=1372660&r1=1372659&r2=1372660&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Mon Aug 13 23:04:55 2012
@@ -37,7 +37,6 @@ import org.apache.jmeter.testelement.Tes
 import org.apache.jmeter.threads.AbstractThreadGroup;
 import org.apache.jmeter.threads.JMeterContextService;
 import org.apache.jmeter.threads.JMeterThread;
-import org.apache.jmeter.threads.JMeterThreadMonitor;
 import org.apache.jmeter.threads.ListenerNotifier;
 import org.apache.jmeter.threads.PostThreadGroup;
 import org.apache.jmeter.threads.SetupThreadGroup;
@@ -53,7 +52,8 @@ import org.apache.log.Logger;
  * Runs JMeter tests, either directly for local GUI and non-GUI invocations, 
  * or started by {@link RemoteJMeterEngineImpl} when running in server mode.
  */
-public class StandardJMeterEngine implements JMeterEngine, JMeterThreadMonitor, Runnable {
+public class StandardJMeterEngine implements JMeterEngine, Runnable {
+
     private static final Logger log = LoggingManager.getLoggerForClass();
 
     // Should we exit at end of the test? (only applies to server, because host is non-null)
@@ -249,14 +249,6 @@ public class StandardJMeterEngine implem
         }
     }
 
-    // Called by JMeter thread when it finishes
-    public synchronized void threadFinished(JMeterThread thread) {
-        log.info("Ending thread " + thread.getThreadName());
-        for (AbstractThreadGroup threadGroup : groups) {
-            threadGroup.threadFinished(thread);
-        }
-    }
-
     public synchronized void stopTest() {
         stopTest(true);
     }
@@ -489,7 +481,7 @@ public class StandardJMeterEngine implem
             JMeterThread[] jmThreads = 
                     new JMeterThread[numThreads];
             for (int i = 0; running && i < numThreads; i++) {
-                final JMeterThread jmeterThread = new JMeterThread(cloneTree(threadGroupTree), this, notifier);
+                final JMeterThread jmeterThread = new JMeterThread(cloneTree(threadGroupTree), group, notifier);
                 jmeterThread.setThreadNum(i);
                 jmeterThread.setThreadGroup(group);
                 jmeterThread.setInitialContext(JMeterContextService.getContext());

Modified: jmeter/trunk/src/core/org/apache/jmeter/threads/AbstractThreadGroup.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/threads/AbstractThreadGroup.java?rev=1372660&r1=1372659&r2=1372660&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/threads/AbstractThreadGroup.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/threads/AbstractThreadGroup.java Mon Aug 13 23:04:55 2012
@@ -35,7 +35,8 @@ import org.apache.jmeter.testelement.pro
  * 
  * This class is intended to be ThreadSafe.
  */
-public abstract class AbstractThreadGroup extends AbstractTestElement implements Serializable, Controller {
+public abstract class AbstractThreadGroup extends AbstractTestElement 
+    implements Serializable, Controller, JMeterThreadMonitor {
 
     private static final long serialVersionUID = 240L;
 
@@ -220,8 +221,6 @@ public abstract class AbstractThreadGrou
 
     public abstract boolean stopThread(String threadName, boolean now);
 
-    public abstract void threadFinished(JMeterThread thread);
-
     public abstract int numberOfActiveThreads();
 
     public abstract void setJMeterThreads(JMeterThread[] jmThreads);

Modified: jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java
URL: http://svn.apache.org/viewvc/jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java?rev=1372660&r1=1372659&r2=1372660&view=diff
==============================================================================
--- jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java (original)
+++ jmeter/trunk/src/core/org/apache/jmeter/threads/ThreadGroup.java Mon Aug 13 23:04:55 2012
@@ -357,10 +357,10 @@ public class ThreadGroup extends Abstrac
     }
 
     /**
-     * Called by JMeter thread when it finishes
+     * Called by JMeterThread when it finishes
      */
-    @Override
     public void threadFinished(JMeterThread thread) {
+        log.info("Ending thread " + thread.getThreadName());
         allThreads.remove(thread);
     }