mstover1 2002/08/25 13:10:04 Modified: src/core/org/apache/jmeter/engine StandardJMeterEngine.java src/core/org/apache/jmeter/threads JMeterThread.java Log: Can stop test quickly despite ramp-up delay or long timers Revision Changes Path 1.8 +9 -7 jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java Index: StandardJMeterEngine.java =================================================================== RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/engine/StandardJMeterEngine.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- StandardJMeterEngine.java 25 Aug 2002 19:42:20 -0000 1.7 +++ StandardJMeterEngine.java 25 Aug 2002 20:10:04 -0000 1.8 @@ -56,11 +56,12 @@ import java.io.PrintWriter; import java.io.StringWriter; +import java.util.HashMap; import java.util.HashSet; import java.util.Iterator; import java.util.LinkedList; import java.util.List; -import java.util.Set; +import java.util.Map; import org.apache.jmeter.reporters.ResultCollector; import org.apache.jmeter.testelement.TestElement; @@ -87,7 +88,7 @@ { private static Logger log = Hierarchy.getDefaultHierarchy().getLoggerFor( "jmeter.engine"); - Set allThreads; + Map allThreads; boolean running = false; ListedHashTree test; SearchByClass testListeners; @@ -99,7 +100,7 @@ ***********************************************************/ public StandardJMeterEngine() { - allThreads = new HashSet(); + allThreads = new HashMap(); } public StandardJMeterEngine(String host) @@ -172,7 +173,7 @@ threads[i].setThreadName(group.getName()+"-"+(i+1)); Thread newThread = new Thread(threads[i]); newThread.setName(group.getName()+"-"+(i+1)); - allThreads.add(threads[i]); + allThreads.put(threads[i],newThread); newThread.start(); } } @@ -291,11 +292,12 @@ public void stopTest() { running = false; - Iterator iter = new HashSet(allThreads).iterator(); + Iterator iter = new HashSet(allThreads.keySet()).iterator(); while(iter.hasNext()) { JMeterThread item = (JMeterThread)iter.next(); item.stop(); + ((Thread)allThreads.get(item)).interrupt(); } } 1.5 +4 -4 jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java Index: JMeterThread.java =================================================================== RCS file: /home/cvs/jakarta-jmeter/src/core/org/apache/jmeter/threads/JMeterThread.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- JMeterThread.java 24 Aug 2002 04:27:44 -0000 1.4 +++ JMeterThread.java 25 Aug 2002 20:10:04 -0000 1.5 @@ -161,7 +161,8 @@ * !ToDo (Method description) ***************************************/ public void stop() { - running = false; + running = false; + log.info("stopping "+threadName); } private void checkAssertions(List assertions, SampleResult result) { Iterator iter = assertions.iterator(); @@ -225,7 +226,6 @@ Thread.sleep(initialDelay); } catch (InterruptedException e) { - log.error("",e); } } }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>