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]>

Reply via email to