This interface defines the interactions between the 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 preferably indirectly 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 handleSampleResult() will be
called for each SampleResult notification. Finally, teardownTest() 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.
When possible, Listeners should extend
AbstractBackendListenerClient rather than implementing BackendListenerClient
directly. This should protect your tests 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).