Apache JMeter

## org.apache.jmeter.protocol.jms.sampler
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, Interruptible, Sampler, TestElement, TestListener, ThreadListener

    public class SubscriberSampler

extends BaseJMSSampler
implements Interruptible, ThreadListener, TestListener

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
`SubscriberSampler()`

Method Summary
`String` `getClientChoice()` Return the client choice.
`String` `getDurableSubscriptionId()`
`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` `setDurableSubscriptionId(String durableSubscriptionId)`
`void` `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` `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.
`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.testelement.AbstractTestElement

`addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, 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, clearTestElementChildren, clone, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, 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`

Constructor Detail

### SubscriberSampler

    public SubscriberSampler()

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 class `BaseJMSSampler`
  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 interface `ThreadListener`
  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 interface `ThreadListener`
  See Also:
    `JMeterThread.threadFinished(LoopIterationListener)`

### threadFinished

    public void threadFinished(boolean wts)

### interrupt

    public boolean interrupt()

  Handle an interrupt of the test.

  Specified by:
    `interrupt` in interface `Interruptible`
  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.

### getClientChoice

    public String getClientChoice()

  Return the client choice.

  Returns:
    the client choice, either RECEIVE_RSC or ON_MESSAGE_RSC

### getTimeout

    public String getTimeout()

### getTimeoutAsLong

    public long getTimeoutAsLong()

### setTimeout

    public void setTimeout(String timeout)

### getDurableSubscriptionId

    public String getDurableSubscriptionId()

### setDurableSubscriptionId

    public void setDurableSubscriptionId(String durableSubscriptionId)

### 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 interface `TestListener`
  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 interface `TestListener`
  Parameters:
    `host` - name of host
  See Also:
    `StandardJMeterEngine.stopTest()`

### testIterationStart

    public void testIterationStart(LoopIterationEvent event)

  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`

### 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 interface `TestListener`
  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 interface `TestListener`
  Parameters:
    `host` - name of host
  See Also:
    `StandardJMeterEngine.run()`

Apache JMeter

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