Package org.apache.jmeter.threads
Class AbstractThreadGroup
- java.lang.Object
-
- org.apache.jmeter.testelement.AbstractTestElement
-
- 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
Fields Modifier and Type Field Description static StringMAIN_CONTROLLERstatic StringNUM_THREADSNumber of threads in the thread groupstatic StringON_SAMPLE_ERRORAction to be taken when a Sampler error occursstatic StringON_SAMPLE_ERROR_CONTINUEContinue, i.e. ignore sampler errorsstatic StringON_SAMPLE_ERROR_START_NEXT_LOOPStart next loop for current thread if sampler error occursstatic StringON_SAMPLE_ERROR_STOPTESTStop test (all threads) if sampler error occurs, the entire test is stopped at the end of any current samplesstatic StringON_SAMPLE_ERROR_STOPTEST_NOWStop test NOW (all threads) if sampler error occurs, the entire test is stopped abruptly.static StringON_SAMPLE_ERROR_STOPTHREADStop current thread if sampler error occurs-
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
-
Constructor Summary
Constructors Constructor Description AbstractThreadGroup()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddIterationListener(LoopIterationListener lis)Controllers have to notify listeners of when they begin an iteration through their sub-elements.voidaddTestElement(TestElement child)Add a test element.booleanaddTestElementOnce(TestElement child)Add child test element only if it has not already been added.intgetNumberOfThreads()Get the number of active threadsintgetNumThreads()Get the number of threads.booleangetOnErrorStartNextLoop()Check if a sampler error should cause thread to start next loop.booleangetOnErrorStopTest()Check if a sampler error should cause test to stop.booleangetOnErrorStopTestNow()Check if a sampler error should cause test to stop now.booleangetOnErrorStopThread()Check if a sampler error should cause thread to stop.ControllergetSamplerController()Get the sampler controller.voidinitialize()Called to initialize a controller at the beginning of a test iteration.booleanisDone()Indicates whether the Controller is done delivering Samplers for the rest of the test.Samplernext()Delivers the next Sampler or nullabstract intnumberOfActiveThreads()voidremoveIterationListener(LoopIterationListener iterationListener)Unregister IterationListenervoidsetNumThreads(int numThreads)Set the total number of threads to startvoidsetSamplerController(LoopController c)Set the sampler controller.abstract voidstart(int groupCount, ListenerNotifier notifier, ListedHashTree threadGroupTree, StandardJMeterEngine engine)voidstartNextLoop()Start next iteration after an errorabstract voidstop()abstract booleanstopThread(String threadName, boolean now)abstract voidtellThreadsToStop()voidtriggerEndOfLoop()NOOPabstract booleanverifyThreadsStopped()abstract voidwaitThreadsStopped()-
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, setEnabled, setName, setProperty, setProperty, 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.threads.JMeterThreadMonitor
threadFinished
-
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, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
-
-
-
-
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, the entire test is stopped at the end of any current samples- 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, the entire test is stopped abruptly. Any current samplers are interrupted if possible.- 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
-
-
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:
isDonein interfaceController- Returns:
- boolean
-
next
public Sampler next()
Delivers the next Sampler or null- Specified by:
nextin interfaceController- 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:
addTestElementin interfaceTestElement- Overrides:
addTestElementin classAbstractTestElement- 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:
addTestElementOncein interfaceTestCompilerHelper- Parameters:
child- theTestElementto be added- Returns:
trueif 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:
addIterationListenerin interfaceController- Parameters:
lis- TheLoopIterationListenerto add
-
removeIterationListener
public void removeIterationListener(LoopIterationListener iterationListener)
Unregister IterationListener- Specified by:
removeIterationListenerin interfaceController- Parameters:
iterationListener-LoopIterationListener
-
initialize
public void initialize()
Called to initialize a controller at the beginning of a test iteration.- Specified by:
initializein interfaceController
-
startNextLoop
public void startNextLoop()
Start next iteration after an error
-
triggerEndOfLoop
public void triggerEndOfLoop()
NOOP- Specified by:
triggerEndOfLoopin interfaceController
-
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- Returns:
- 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()
-
-