Apache JMeter

org.apache.jmeter.protocol.java.sampler
Class JavaSampler

java.lang.Object
  extended byorg.apache.jmeter.testelement.AbstractTestElement
      extended byorg.apache.jmeter.samplers.AbstractSampler
          extended byorg.apache.jmeter.protocol.java.sampler.JavaSampler
All Implemented Interfaces:
Cloneable, Sampler, Serializable, TestElement, TestListener

public class JavaSampler
extends AbstractSampler
implements TestListener

A sampler for executing custom Java code in each sample. See JavaSamplerClient and AbstractJavaSamplerClient for information on writing Java code to be executed by this sampler.

See Also:
Serialized Form

Field Summary
static String ARGUMENTS
          Property key representing the arguments for the JavaSamplerClient.
static String CLASSNAME
          Property key representing the classname of the JavaSamplerClient to user.
 
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
 
Constructor Summary
JavaSampler()
          Create a JavaSampler.
 
Method Summary
 Arguments getArguments()
          Get the arguments (parameters) for the JavaSamplerClient to be executed with.
 String getClassname()
          Gets the Classname attribute of the JavaConfig object
 SampleResult sample(Entry entry)
          Performs a test sample.
 void setArguments(Arguments args)
          Set the arguments (parameters) for the JavaSamplerClient to be executed with.
 void setClassname(String classname)
          Sets the Classname attribute of the JavaConfig object
 void testEnded()
          Method called at the end of the test.
 void testEnded(String host)
           Called once for all threads after the end of a test.
 void testIterationStart(LoopIterationEvent event)
          Each time through a Thread Group's test script, an iteration event is fired for each thread.
 void testStarted()
           Called just before the start of the test from the main engine thread.
 void testStarted(String host)
           Called just before the start of the test from the main engine thread.
 
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addProperty, addTestElement, canRemove, clear, clearTemporary, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, 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.testelement.TestElement
addTestElement, canRemove, clear, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getThreadContext, getThreadName, isEnabled, isRunningVersion, isTemporary, propertyIterator, recoverRunningVersion, removeProperty, setComment, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse
 

Field Detail

CLASSNAME

public static final String CLASSNAME
Property key representing the classname of the JavaSamplerClient to user.

See Also:
Constant Field Values

ARGUMENTS

public static final String ARGUMENTS
Property key representing the arguments for the JavaSamplerClient.

See Also:
Constant Field Values
Constructor Detail

JavaSampler

public JavaSampler()
Create a JavaSampler.

Method Detail

setArguments

public void setArguments(Arguments args)
Set the arguments (parameters) for the JavaSamplerClient to be executed with.

Parameters:
args - the new arguments. These replace any existing arguments.

getArguments

public Arguments getArguments()
Get the arguments (parameters) for the JavaSamplerClient to be executed with.

Returns:
the arguments

setClassname

public void setClassname(String classname)
Sets the Classname attribute of the JavaConfig object

Parameters:
classname - the new Classname value

getClassname

public String getClassname()
Gets the Classname attribute of the JavaConfig object

Returns:
the Classname value

sample

public SampleResult sample(Entry entry)
Performs a test sample. The sample() method retrieves the reference to the Java client and calls its runTest() method.

Specified by:
sample in interface Sampler
Parameters:
entry - the Entry for this sample
Returns:
test SampleResult
See Also:
JavaSamplerClient.runTest(JavaSamplerContext)

testStarted

public void testStarted()
Description copied from interface: TestListener

Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
testStarted in interface TestListener
See Also:
StandardJMeterEngine.run()

testStarted

public void testStarted(String host)
Description copied from interface: TestListener

Called just before the start of the test from the main engine thread. This is before the test elements are cloned. Note that not all the test variables will have been set up at this point.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
testStarted in interface TestListener
See Also:
StandardJMeterEngine.run()

testEnded

public void testEnded()
Method called at the end of the test. This is called only on one instance of JavaSampler. This method will loop through all of the other JavaSamplers which have been registered (automatically in the constructor) and notify them that the test has ended, allowing the JavaSamplerClients to cleanup.

Specified by:
testEnded in interface TestListener
See Also:
StandardJMeterEngine.stopTest()

testEnded

public void testEnded(String host)
Description copied from interface: TestListener

Called once for all threads after the end of a test. This will use the same element instances as at the start of the test.

N.B. testStarted() and testEnded() are called from different threads.

Specified by:
testEnded in interface TestListener
See Also:
StandardJMeterEngine.stopTest()

testIterationStart

public void testIterationStart(LoopIterationEvent event)
Description copied from interface: TestListener
Each time through a Thread Group's test script, an iteration event is fired for each thread. This will be after the test elements have been cloned, so in general the instance will not be the same as the ones the start/end methods call.

Specified by:
testIterationStart in interface TestListener
Parameters:
event -

Apache JMeter

Copyright © 1998-2009 Apache Software Foundation. All Rights Reserved.