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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
static final String
Number of threads in the thread groupstatic final String
Action to be taken when a Sampler error occursstatic final String
Continue, i.e. ignore sampler errorsstatic final String
Start next loop for current thread if sampler error occursstatic final String
Stop test (all threads) if sampler error occurs, the entire test is stopped at the end of any current samplesstatic final String
Stop test NOW (all threads) if sampler error occurs, the entire test is stopped abruptly.static final String
Stop current thread if sampler error occursFields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
Controllers have to notify listeners of when they begin an iteration through their sub-elements.void
addTestElement
(TestElement child) Add a test element.final boolean
addTestElementOnce
(TestElement child) Add child test element only if it has not already been added.int
Get the number of active threadsint
Get the number of threads.boolean
Check if a sampler error should cause thread to start next loop.boolean
Check if a sampler error should cause test to stop.boolean
Check if a sampler error should cause test to stop now.boolean
Check if a sampler error should cause thread to stop.Get the sampler controller.void
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.next()
Delivers the next Sampler or nullabstract int
void
removeIterationListener
(LoopIterationListener iterationListener) Unregister IterationListenervoid
setNumThreads
(int numThreads) Set the total number of threads to startvoid
Set the sampler controller.abstract void
start
(int groupCount, ListenerNotifier notifier, ListedHashTree threadGroupTree, StandardJMeterEngine engine) void
Start next iteration after an errorabstract void
stop()
abstract boolean
stopThread
(String threadName, boolean now) abstract void
void
NOOPabstract boolean
abstract void
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 Details
-
ON_SAMPLE_ERROR
Action to be taken when a Sampler error occurs- See Also:
-
ON_SAMPLE_ERROR_CONTINUE
Continue, i.e. ignore sampler errors- See Also:
-
ON_SAMPLE_ERROR_START_NEXT_LOOP
Start next loop for current thread if sampler error occurs- See Also:
-
ON_SAMPLE_ERROR_STOPTHREAD
Stop current thread if sampler error occurs- See Also:
-
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:
-
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:
-
NUM_THREADS
Number of threads in the thread group- See Also:
-
MAIN_CONTROLLER
- See Also:
-
-
Constructor Details
-
AbstractThreadGroup
public AbstractThreadGroup()
-
-
Method Details
-
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 interfaceController
- Returns:
- boolean
-
next
Delivers the next Sampler or null- Specified by:
next
in interfaceController
- Returns:
- org.apache.jmeter.samplers.Sampler or null
-
getSamplerController
Get the sampler controller.- Returns:
- the sampler controller.
-
setSamplerController
Set the sampler controller.- Parameters:
c
- the sampler controller.
-
addTestElement
Add a test element.- Specified by:
addTestElement
in interfaceTestElement
- Overrides:
addTestElement
in classAbstractTestElement
- Parameters:
child
- the test element to add.
-
addTestElementOnce
Add child test element only if it has not already been added.Only for use by TestCompiler.
- Specified by:
addTestElementOnce
in interfaceTestCompilerHelper
- Parameters:
child
- theTestElement
to be added- Returns:
true
if the child was added
-
addIterationListener
Controllers have to notify listeners of when they begin an iteration through their sub-elements.- Specified by:
addIterationListener
in interfaceController
- Parameters:
lis
- TheLoopIterationListener
to add
-
removeIterationListener
Unregister IterationListener- Specified by:
removeIterationListener
in interfaceController
- Parameters:
iterationListener
-LoopIterationListener
-
initialize
public void initialize()Called to initialize a controller at the beginning of a test iteration.- Specified by:
initialize
in interfaceController
-
startNextLoop
public void startNextLoop()Start next iteration after an error -
triggerEndOfLoop
public void triggerEndOfLoop()NOOP- Specified by:
triggerEndOfLoop
in 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
-
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()
-