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 String
MAIN_CONTROLLER
static String
NUM_THREADS
Number of threads in the thread groupstatic String
ON_SAMPLE_ERROR
Action to be taken when a Sampler error occursstatic String
ON_SAMPLE_ERROR_CONTINUE
Continue, i.e. ignore sampler errorsstatic String
ON_SAMPLE_ERROR_START_NEXT_LOOP
Start next loop for current thread if sampler error occursstatic String
ON_SAMPLE_ERROR_STOPTEST
Stop test (all threads) if sampler error occurs, the entire test is stopped at the end of any current samplesstatic String
ON_SAMPLE_ERROR_STOPTEST_NOW
Stop test NOW (all threads) if sampler error occurs, the entire test is stopped abruptly.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
Constructors Constructor Description AbstractThreadGroup()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description 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 threadsint
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 nullabstract int
numberOfActiveThreads()
void
removeIterationListener(LoopIterationListener iterationListener)
Unregister IterationListenervoid
setNumThreads(int numThreads)
Set the total number of threads to startvoid
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 errorabstract void
stop()
abstract boolean
stopThread(String threadName, boolean now)
abstract void
tellThreadsToStop()
void
triggerEndOfLoop()
NOOPabstract 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, 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:
isDone
in interfaceController
- Returns:
- boolean
-
next
public Sampler next()
Delivers the next Sampler or null- Specified by:
next
in 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:
addTestElement
in interfaceTestElement
- Overrides:
addTestElement
in 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:
addTestElementOnce
in interfaceTestCompilerHelper
- Parameters:
child
- theTestElement
to be added- 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 interfaceController
- Parameters:
lis
- TheLoopIterationListener
to add
-
removeIterationListener
public void removeIterationListener(LoopIterationListener iterationListener)
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
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()
-
-