Class SubscriberSampler
- java.lang.Object
-
- org.apache.jmeter.testelement.AbstractTestElement
-
- org.apache.jmeter.samplers.AbstractSampler
-
- org.apache.jmeter.protocol.jms.sampler.BaseJMSSampler
-
- org.apache.jmeter.protocol.jms.sampler.SubscriberSampler
-
- All Implemented Interfaces:
Serializable
,Cloneable
,ConfigMergabilityIndicator
,Searchable
,Interruptible
,Sampler
,TestElement
,TestStateListener
,ThreadListener
public class SubscriberSampler extends BaseJMSSampler implements Interruptible, ThreadListener, TestStateListener
This class implements the JMS Subscriber sampler. It supports both receive and onMessage strategies via the ReceiveSubscriber class.- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.apache.jmeter.testelement.TestElement
COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS
-
-
Constructor Summary
Constructors Constructor Description SubscriberSampler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
getClientChoice()
Return the client choice.String
getClientId()
String
getDurableSubscriptionId()
String
getJmsSelector()
String
getSeparator()
String
getTimeout()
long
getTimeoutAsLong()
boolean
interrupt()
Handle an interrupt of the test.boolean
isStopBetweenSamples()
SampleResult
sample()
sample method will check which client it should use and call the appropriate client specific sample method.void
setClientChoice(String choice)
Set the client choice.void
setClientID(String clientId)
void
setDurableSubscriptionId(String durableSubscriptionId)
void
setJmsSelector(String jmsSelector)
void
setSeparator(String text)
Separator for sampler resultsvoid
setStopBetweenSamples(boolean selected)
void
setTimeout(String timeout)
void
testEnded()
Called once for all threads after the end of a test.void
testEnded(String host)
Called once for all threads after the end of a test.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.void
threadFinished()
Close subscriber.void
threadFinished(boolean wts)
void
threadStarted()
Initialise the thread-local variables.void
threadStarted(boolean wts)
-
Methods inherited from class org.apache.jmeter.protocol.jms.sampler.BaseJMSSampler
getConnectionFactory, getDestination, getIterationCount, getIterations, getJNDIInitialContextFactory, getMessageHeaders, getPassword, getProviderUrl, getReadResponse, getReadResponseAsBoolean, getUseJNDIProperties, getUseJNDIPropertiesAsBoolean, getUsername, isDestinationStatic, isUseAuth, sample, setConnectionFactory, setDestination, setDestinationStatic, setIterations, setJNDIIntialContextFactory, setPassword, setProviderUrl, setReadResponse, setUseAuth, setUseJNDIProperties, setUsername
-
Methods inherited from class org.apache.jmeter.samplers.AbstractSampler
applies
-
Methods inherited from class org.apache.jmeter.testelement.AbstractTestElement
addPropertiesValues, addProperty, addProperty, addTestElement, 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.testelement.TestElement
addTestElement, 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
-
-
-
-
Method Detail
-
sample
public SampleResult sample()
sample method will check which client it should use and call the appropriate client specific sample method.- Specified by:
sample
in classBaseJMSSampler
- Returns:
- the appropriate sample result
-
threadStarted
public void threadStarted()
Initialise the thread-local variables.
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.- Specified by:
threadStarted
in interfaceThreadListener
- See Also:
JMeterThread.threadStarted()
-
threadStarted
public void threadStarted(boolean wts)
-
threadFinished
public void threadFinished()
Close subscriber.
Called for each thread after all samples have been processed.- Specified by:
threadFinished
in interfaceThreadListener
- See Also:
JMeterThread.threadFinished(org.apache.jmeter.engine.event.LoopIterationListener)
-
threadFinished
public void threadFinished(boolean wts)
-
interrupt
public boolean interrupt()
Handle an interrupt of the test.- Specified by:
interrupt
in interfaceInterruptible
- Returns:
true
if there was an operation to interrupt.
-
setClientChoice
public void setClientChoice(String choice)
Set the client choice. There are two options: ReceiveSusbscriber and OnMessageSubscriber.- Parameters:
choice
- the client to use. One ofRECEIVE_RSC
orON_MESSAGE_RSC
-
getClientChoice
public String getClientChoice()
Return the client choice.- Returns:
- the client choice, either
RECEIVE_RSC
orON_MESSAGE_RSC
-
getTimeout
public String getTimeout()
-
getTimeoutAsLong
public long getTimeoutAsLong()
-
setTimeout
public void setTimeout(String timeout)
-
getDurableSubscriptionId
public String getDurableSubscriptionId()
-
getClientId
public String getClientId()
- Returns:
- JMS Client ID
-
getJmsSelector
public String getJmsSelector()
- Returns:
- JMS selector
-
setDurableSubscriptionId
public void setDurableSubscriptionId(String durableSubscriptionId)
-
setClientID
public void setClientID(String clientId)
- Parameters:
clientId
- JMS CLient id
-
setJmsSelector
public void setJmsSelector(String jmsSelector)
- Parameters:
jmsSelector
- JMS Selector
-
getSeparator
public String getSeparator()
- Returns:
- Separator for sampler results
-
setSeparator
public void setSeparator(String text)
Separator for sampler results- Parameters:
text
- separator to use for sampler results
-
isStopBetweenSamples
public boolean isStopBetweenSamples()
-
setStopBetweenSamples
public void setStopBetweenSamples(boolean selected)
-
testEnded
public void testEnded()
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 interfaceTestStateListener
- See Also:
StandardJMeterEngine.stopTest()
-
testEnded
public void testEnded(String host)
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 interfaceTestStateListener
- Parameters:
host
- name of host- See Also:
StandardJMeterEngine.stopTest()
-
testStarted
public void testStarted()
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 interfaceTestStateListener
- See Also:
StandardJMeterEngine.run()
-
testStarted
public void testStarted(String host)
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 interfaceTestStateListener
- Parameters:
host
- name of host- See Also:
StandardJMeterEngine.run()
-
-