mirror of https://github.com/apache/jmeter.git
Unnecessary to enable ThreadListener for all TestElements
git-svn-id: https://svn.apache.org/repos/asf/jakarta/jmeter/branches/rel-2-2@545780 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
3339b2e5ed
commit
dfd3eef77a
|
|
@ -399,25 +399,6 @@ public abstract class AbstractTestElement implements TestElement, Serializable {
|
|||
this.threadName = inthreadName;
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.apache.jmeter.testelement.TestElement#threadFinished()
|
||||
*/
|
||||
public void threadFinished() {
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.apache.jmeter.testelement.TestElement#threadStarted()
|
||||
*/
|
||||
public void threadStarted() {
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public AbstractTestElement() {
|
||||
super();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -161,16 +161,6 @@ public interface TestElement extends Cloneable {
|
|||
*/
|
||||
public void setThreadName(String threadName);
|
||||
|
||||
/**
|
||||
* Called at the start of each thread. TODO - should it hava a parameter?
|
||||
*/
|
||||
public void threadStarted();
|
||||
|
||||
/**
|
||||
* Called at the end of each thread. TODO - should it hava a parameter?
|
||||
*/
|
||||
public void threadFinished();
|
||||
|
||||
/**
|
||||
* Called by Remove to determine if it is safe to remove the element. The
|
||||
* element can either clean itself up, and return true, or the element can
|
||||
|
|
|
|||
|
|
@ -41,6 +41,7 @@ import org.apache.jmeter.samplers.Sampler;
|
|||
import org.apache.jmeter.testbeans.TestBeanHelper;
|
||||
import org.apache.jmeter.testelement.TestElement;
|
||||
import org.apache.jmeter.testelement.TestListener;
|
||||
import org.apache.jmeter.testelement.ThreadListener;
|
||||
import org.apache.jmeter.timers.Timer;
|
||||
import org.apache.jmeter.util.JMeterUtils;
|
||||
import org.apache.jorphan.collections.HashTree;
|
||||
|
|
@ -433,7 +434,7 @@ public class JMeterThread implements Runnable, Serializable {
|
|||
*
|
||||
*/
|
||||
private void threadStarted() {
|
||||
Traverser startup = new Traverser(true);
|
||||
ThreadListenerTraverser startup = new ThreadListenerTraverser(true);
|
||||
testTree.traverse(startup);
|
||||
}
|
||||
|
||||
|
|
@ -441,7 +442,7 @@ public class JMeterThread implements Runnable, Serializable {
|
|||
*
|
||||
*/
|
||||
private void threadFinished() {
|
||||
Traverser shut = new Traverser(false);
|
||||
ThreadListenerTraverser shut = new ThreadListenerTraverser(false);
|
||||
testTree.traverse(shut);
|
||||
JMeterContextService.decrNumberOfThreads();
|
||||
threadGroup.decrNumberOfThreads();
|
||||
|
|
@ -451,20 +452,20 @@ public class JMeterThread implements Runnable, Serializable {
|
|||
}
|
||||
}
|
||||
|
||||
private static class Traverser implements HashTreeTraverser {
|
||||
private static class ThreadListenerTraverser implements HashTreeTraverser {
|
||||
private boolean isStart = false;
|
||||
|
||||
private Traverser(boolean start) {
|
||||
private ThreadListenerTraverser(boolean start) {
|
||||
isStart = start;
|
||||
}
|
||||
|
||||
public void addNode(Object node, HashTree subTree) {
|
||||
if (node instanceof TestElement) {
|
||||
TestElement te = (TestElement) node;
|
||||
if (node instanceof ThreadListener) {
|
||||
ThreadListener tl = (ThreadListener) node;
|
||||
if (isStart) {
|
||||
te.threadStarted();
|
||||
tl.threadStarted();
|
||||
} else {
|
||||
te.threadFinished();
|
||||
tl.threadFinished();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ import org.apache.jmeter.samplers.Entry;
|
|||
import org.apache.jmeter.samplers.SampleResult;
|
||||
import org.apache.jmeter.testelement.TestElement;
|
||||
import org.apache.jmeter.testelement.TestListener;
|
||||
import org.apache.jmeter.testelement.ThreadListener;
|
||||
import org.apache.jmeter.testelement.property.BooleanProperty;
|
||||
import org.apache.jmeter.testelement.property.IntegerProperty;
|
||||
import org.apache.jmeter.testelement.property.JMeterProperty;
|
||||
|
|
@ -66,7 +67,7 @@ import org.apache.oro.text.regex.Perl5Matcher;
|
|||
* Common constants and methods for HTTP samplers
|
||||
*
|
||||
*/
|
||||
public abstract class HTTPSamplerBase extends AbstractSampler implements TestListener {
|
||||
public abstract class HTTPSamplerBase extends AbstractSampler implements TestListener, ThreadListener {
|
||||
|
||||
private static final Logger log = LoggingManager.getLoggerForClass();
|
||||
|
||||
|
|
@ -1248,5 +1249,12 @@ public abstract class HTTPSamplerBase extends AbstractSampler implements TestLis
|
|||
public static boolean isSecure(URL url){
|
||||
return isSecure(url.getProtocol());
|
||||
}
|
||||
|
||||
// Implement these here, to avoid re-implementing for sub-classes
|
||||
// (previously these were implemented in all TestElements)
|
||||
public void threadStarted(){
|
||||
}
|
||||
public void threadFinished(){
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ import org.apache.jmeter.engine.event.LoopIterationEvent;
|
|||
import org.apache.jmeter.samplers.AbstractSampler;
|
||||
import org.apache.jmeter.samplers.Entry;
|
||||
import org.apache.jmeter.samplers.SampleResult;
|
||||
import org.apache.jmeter.testelement.ThreadListener;
|
||||
import org.apache.jmeter.testelement.property.BooleanProperty;
|
||||
import org.apache.jmeter.testelement.property.TestElementProperty;
|
||||
import org.apache.jorphan.logging.LoggingManager;
|
||||
|
|
@ -51,10 +52,8 @@ import org.apache.log.Logger;
|
|||
* Sampler for JMS Communication. <br>
|
||||
* Created on: October 28, 2004
|
||||
*
|
||||
* @author Martijn Blankestijn
|
||||
* @version $Id$
|
||||
*/
|
||||
public class JMSSampler extends AbstractSampler {
|
||||
public class JMSSampler extends AbstractSampler implements ThreadListener {
|
||||
|
||||
public static final String JNDI_INITIAL_CONTEXT_FACTORY = "JMSSampler.initialContextFactory"; // $NON-NLS-1$
|
||||
|
||||
|
|
@ -252,14 +251,8 @@ public class JMSSampler extends AbstractSampler {
|
|||
// LOGGER.debug("testIterationStart");
|
||||
}
|
||||
|
||||
/*
|
||||
* (non-Javadoc)
|
||||
*
|
||||
* @see org.apache.jmeter.testelement.TestElement#threadStarted()
|
||||
*/
|
||||
public void threadStarted() {
|
||||
logThreadStart();
|
||||
super.threadStarted();
|
||||
|
||||
Context context = null;
|
||||
try {
|
||||
|
|
@ -394,7 +387,6 @@ public class JMSSampler extends AbstractSampler {
|
|||
*/
|
||||
public void threadFinished() {
|
||||
LOGGER.debug("Thread ended " + new Date());
|
||||
super.threadFinished();
|
||||
|
||||
if (session != null)
|
||||
try {
|
||||
|
|
|
|||
Loading…
Reference in New Issue