public interface BackendListenerClient
BackendListener
and external Java programs which can be executed by JMeter. Any Java class
which wants to be executed using the BackendListener
test element
must implement this interface (either directly or through
AbstractBackendListenerClient
).
JMeter will create one instance of a BackendListenerClient implementation for each user/thread in the test. Additional instances may be created for internal use by JMeter (for example, to find out what parameters are supported by the client).
When the test is started, setupTest() will be called on each thread's
BackendListenerClient instance to initialize the client.
Then handleSampleResults(List, BackendListenerContext)
will be
called for each SampleResult
notification. Finally,
teardownTest(BackendListenerContext)
will be called to allow the client to do any necessary clean-up.
The JMeter BackendListener GUI allows a list of parameters to be defined for
the test. These are passed to the various test methods through the
BackendListenerContext
. A list of default parameters can be defined
through the getDefaultParameters()
method. These parameters and any
default values associated with them will be shown in the GUI. Users can add
other parameters as well.
Listeners should extend AbstractBackendListenerClient
rather than implementing BackendListenerClient
directly to protect
your code from future changes to the interface.
While it may be necessary to make changes to the BackendListenerClient
interface from time to time (therefore requiring changes to any
implementations of this interface), we intend to make this abstract class
provide reasonable default implementations of any new methods so that
subclasses do not necessarily need to be updated for new versions.
Implementing BackendListenerClient directly will continue to be supported for
cases where extending this class is not possible (for example, when the
client class is already a subclass of some other class).
Modifier and Type | Method and Description |
---|---|
default SampleResult |
createSampleResult(BackendListenerContext context,
SampleResult result)
Create a copy of SampleResult, this method is here to allow customizing
what is kept in the copy, for example copy could remove some useless fields.
|
default Arguments |
getDefaultParameters()
Provide a list of parameters which this test supports.
|
void |
handleSampleResults(List<SampleResult> sampleResults,
BackendListenerContext context)
Handle sampleResults, this can be done in many ways:
Write to a file
Write to a remote server
...
|
void |
setupTest(BackendListenerContext context)
Do any initialization required by this client.
|
void |
teardownTest(BackendListenerContext context)
Do any clean-up required at the end of a test run.
|
void setupTest(BackendListenerContext context) throws Exception
handleSampleResults(List, BackendListenerContext)
in order to add as little overhead as possible to the test.context
- provides access to initialization parameters.Exception
- when setup failsvoid handleSampleResults(List<SampleResult> sampleResults, BackendListenerContext context)
sampleResults
- List of SampleResult
context
- provides access to initialization parameters.void teardownTest(BackendListenerContext context) throws Exception
context
- provides access to initialization parameters.Exception
- when tear down failsdefault Arguments getDefaultParameters()
default SampleResult createSampleResult(BackendListenerContext context, SampleResult result)
context
- BackendListenerContext
result
- SampleResult
SampleResult
Copyright (c) 1998-2021 Apache Software Foundation. All Rights Reserved.