Apache JMeter

org.apache.jmeter.threads
Class AbstractThreadGroup

java.lang.Object
  extended by org.apache.jmeter.testelement.AbstractTestElement
      extended by org.apache.jmeter.threads.AbstractThreadGroup
All Implemented Interfaces:
Serializable, Cloneable, Controller, Searchable, TestElement, JMeterThreadMonitor, TestCompilerHelper
Direct Known Subclasses:
ThreadGroup

public abstract class AbstractThreadGroup
extends AbstractTestElement
implements Serializable, Controller, JMeterThreadMonitor, TestCompilerHelper

ThreadGroup holds the settings for a JMeter thread group. This class is intended to be ThreadSafe.

See Also:
Serialized Form

Field Summary
static String MAIN_CONTROLLER
           
static String NUM_THREADS
          Number of threads in the thread group
static String ON_SAMPLE_ERROR
          Action to be taken when a Sampler error occurs
static String ON_SAMPLE_ERROR_CONTINUE
          Continue, i.e. ignore sampler errors
static String ON_SAMPLE_ERROR_START_NEXT_LOOP
          Start next loop for current thread if sampler error occurs
static String ON_SAMPLE_ERROR_STOPTEST
          Stop test (all threads) if sampler error occurs
static String ON_SAMPLE_ERROR_STOPTEST_NOW
          Stop test NOW (all threads) if sampler error occurs
static String ON_SAMPLE_ERROR_STOPTHREAD
          Stop current thread if sampler error occurs
 
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
 
Constructor Summary
AbstractThreadGroup()
           
 
Method Summary
 void addIterationListener(LoopIterationListener lis)
          Controllers have to notify listeners of when they begin an iteration through their sub-elements.
 void addTestElement(TestElement child)
          Add a test element.
 boolean addTestElementOnce(TestElement child)
          Add child test element only if it has not already been added.
 int getNumberOfThreads()
          Get the number of active threads
 int getNumThreads()
          Get the number of threads.
 boolean getOnErrorStartNextLoop()
          Check if a sampler error should cause thread to start next loop.
 boolean getOnErrorStopTest()
          Check if a sampler error should cause test to stop.
 boolean getOnErrorStopTestNow()
          Check if a sampler error should cause test to stop now.
 boolean getOnErrorStopThread()
          Check if a sampler error should cause thread to stop.
 Controller getSamplerController()
          Get the sampler controller.
 void initialize()
          Called to initialize a controller at the beginning of a test iteration.
 boolean isDone()
          Indicates whether the Controller is done delivering Samplers for the rest of the test.
 Sampler next()
          Delivers the next Sampler or null
abstract  int numberOfActiveThreads()
           
 void removeIterationListener(LoopIterationListener iterationListener)
          Unregister IterationListener
 void setNumThreads(int numThreads)
          Set the total number of threads to start
 void setSamplerController(LoopController c)
          Set the sampler controller.
abstract  void start(int groupCount, ListenerNotifier notifier, ListedHashTree threadGroupTree, StandardJMeterEngine engine)
           
 void startNextLoop()
          Start next iteration after an error
abstract  void stop()
           
abstract  boolean stopThread(String threadName, boolean now)
           
abstract  void tellThreadsToStop()
           
 void triggerEndOfLoop()
          NOOP
abstract  boolean verifyThreadsStopped()
           
abstract  void waitThreadsStopped()
           
 
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.jmeter.testelement.TestElement
canRemove, clear, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
 
Methods inherited from interface org.apache.jmeter.threads.JMeterThreadMonitor
threadFinished
 

Field Detail

ON_SAMPLE_ERROR

public static final String ON_SAMPLE_ERROR
Action to be taken when a Sampler error occurs

See Also:
Constant Field Values

ON_SAMPLE_ERROR_CONTINUE

public static final String ON_SAMPLE_ERROR_CONTINUE
Continue, i.e. ignore sampler errors

See Also:
Constant Field Values

ON_SAMPLE_ERROR_START_NEXT_LOOP

public static final String ON_SAMPLE_ERROR_START_NEXT_LOOP
Start next loop for current thread if sampler error occurs

See Also:
Constant Field Values

ON_SAMPLE_ERROR_STOPTHREAD

public static final String ON_SAMPLE_ERROR_STOPTHREAD
Stop current thread if sampler error occurs

See Also:
Constant Field Values

ON_SAMPLE_ERROR_STOPTEST

public static final String ON_SAMPLE_ERROR_STOPTEST
Stop test (all threads) if sampler error occurs

See Also:
Constant Field Values

ON_SAMPLE_ERROR_STOPTEST_NOW

public static final String ON_SAMPLE_ERROR_STOPTEST_NOW
Stop test NOW (all threads) if sampler error occurs

See Also:
Constant Field Values

NUM_THREADS

public static final String NUM_THREADS
Number of threads in the thread group

See Also:
Constant Field Values

MAIN_CONTROLLER

public static final String MAIN_CONTROLLER
See Also:
Constant Field Values
Constructor Detail

AbstractThreadGroup

public AbstractThreadGroup()
Method Detail

isDone

public boolean isDone()
Indicates whether the Controller is done delivering Samplers for the rest of the test. When the top-level controller returns true to JMeterThread, the thread is complete.

Specified by:
isDone in interface Controller
Returns:
boolean

next

public Sampler next()
Delivers the next Sampler or null

Specified by:
next in interface Controller
Returns:
org.apache.jmeter.samplers.Sampler or null

getSamplerController

public Controller getSamplerController()
Get the sampler controller.

Returns:
the sampler controller.

setSamplerController

public void setSamplerController(LoopController c)
Set the sampler controller.

Parameters:
c - the sampler controller.

addTestElement

public void addTestElement(TestElement child)
Add a test element.

Specified by:
addTestElement in interface TestElement
Overrides:
addTestElement in class AbstractTestElement
Parameters:
child - the test element to add.

addTestElementOnce

public final boolean addTestElementOnce(TestElement child)
Add child test element only if it has not already been added.

Only for use by TestCompiler.

Specified by:
addTestElementOnce in interface TestCompilerHelper
Returns:
true if the child was added

addIterationListener

public void addIterationListener(LoopIterationListener lis)
Controllers have to notify listeners of when they begin an iteration through their sub-elements.

Specified by:
addIterationListener in interface Controller

removeIterationListener

public void removeIterationListener(LoopIterationListener iterationListener)
Unregister IterationListener

Specified by:
removeIterationListener in interface Controller
Parameters:
iterationListener - LoopIterationListener

initialize

public void initialize()
Called to initialize a controller at the beginning of a test iteration.

Specified by:
initialize in interface Controller

startNextLoop

public void startNextLoop()
Start next iteration after an error


triggerEndOfLoop

public void triggerEndOfLoop()
NOOP

Specified by:
triggerEndOfLoop in interface Controller

setNumThreads

public void setNumThreads(int numThreads)
Set the total number of threads to start

Parameters:
numThreads - the number of threads.

getNumberOfThreads

public int getNumberOfThreads()
Get the number of active threads


getNumThreads

public int getNumThreads()
Get the number of threads.

Returns:
the number of threads.

getOnErrorStartNextLoop

public boolean getOnErrorStartNextLoop()
Check if a sampler error should cause thread to start next loop.

Returns:
true if thread should start next loop

getOnErrorStopThread

public boolean getOnErrorStopThread()
Check if a sampler error should cause thread to stop.

Returns:
true if thread should stop

getOnErrorStopTest

public boolean getOnErrorStopTest()
Check if a sampler error should cause test to stop.

Returns:
true if test (all threads) should stop

getOnErrorStopTestNow

public boolean getOnErrorStopTestNow()
Check if a sampler error should cause test to stop now.

Returns:
true if test (all threads) should stop immediately

stopThread

public abstract boolean stopThread(String threadName,
                                   boolean now)

numberOfActiveThreads

public abstract int numberOfActiveThreads()

start

public abstract void start(int groupCount,
                           ListenerNotifier notifier,
                           ListedHashTree threadGroupTree,
                           StandardJMeterEngine engine)

verifyThreadsStopped

public abstract boolean verifyThreadsStopped()

waitThreadsStopped

public abstract void waitThreadsStopped()

tellThreadsToStop

public abstract void tellThreadsToStop()

stop

public abstract void stop()

Apache JMeter

Copyright © 1998-2012 Apache Software Foundation. All Rights Reserved.