Package org.apache.jmeter.functions
Class Jexl2Function
java.lang.Object
org.apache.jmeter.functions.AbstractFunction
org.apache.jmeter.functions.Jexl2Function
- All Implemented Interfaces:
Function
,ThreadListener
@AutoService(Function.class)
public class Jexl2Function
extends AbstractFunction
implements ThreadListener
A function which understands Commons JEXL2
- Since:
- 2.6
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionexecute
(SampleResult previousResult, Sampler currentSampler) N.B.Return a list of strings briefly describing each parameter your function takes.Return the name of your function.void
setParameters
(Collection<CompoundVariable> parameters) Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)void
Called for each thread after all samples have been processed.void
Called for each thread before starting sampling.Methods inherited from class org.apache.jmeter.functions.AbstractFunction
addVariableValue, checkMinParameterCount, checkParameterCount, checkParameterCount, execute, getVariables
-
Constructor Details
-
Jexl2Function
public Jexl2Function()
-
-
Method Details
-
execute
public String execute(SampleResult previousResult, Sampler currentSampler) throws InvalidVariableException N.B. execute() should be synchronized if function is operating with non-thread-safe objects (e.g. operates with files).
JMeter ensures setParameters() happens-before execute(): setParameters is executed in main thread, and worker threads are started after that.- Specified by:
execute
in interfaceFunction
- Specified by:
execute
in classAbstractFunction
- Parameters:
previousResult
- The previousSampleResult
currentSampler
- The currentSampler
- Returns:
- The replacement value, which was generated by the function
- Throws:
InvalidVariableException
- - when the variables for the function call can't be evaluated- See Also:
-
getArgumentDesc
Return a list of strings briefly describing each parameter your function takes. Please use JMeterUtils.getResString(resource_name) to grab a resource string. Otherwise, your help text will be difficult to internationalize. This list is not optional. If you don't wish to write help, you must at least return a List containing the correct number of blank strings, one for each argument.- Specified by:
getArgumentDesc
in interfaceFunction
- Returns:
- List with brief descriptions for each parameter the function takes
-
getReferenceKey
Return the name of your function. Convention is to prepend "__" to the name (ie "__regexFunction")- Specified by:
getReferenceKey
in interfaceFunction
- Specified by:
getReferenceKey
in classAbstractFunction
- Returns:
- The name of the function
- See Also:
-
setParameters
Note: This is always called even if no parameters are provided (versions of JMeter after 2.3.1)- Specified by:
setParameters
in interfaceFunction
- Specified by:
setParameters
in classAbstractFunction
- Parameters:
parameters
- The parameters for the function call- Throws:
InvalidVariableException
- - when the variables for the function call can't be evaluated- See Also:
-
threadStarted
public void threadStarted()Description copied from interface:ThreadListener
Called for each thread before starting sampling. WARNING: this is called before any Config test elements are processed, so any properties they define will not have been merged in yet. See org.apache.jmeter.threads.JMeterThread#threadStarted()- Specified by:
threadStarted
in interfaceThreadListener
-
threadFinished
public void threadFinished()Description copied from interface:ThreadListener
Called for each thread after all samples have been processed. See org.apache.jmeter.threads.JMeterThread#threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)- Specified by:
threadFinished
in interfaceThreadListener
-