Author: sebb Date: Wed Apr 8 11:03:34 2009 New Revision: 763179 URL: http://svn.apache.org/viewvc?rev=763179&view=rev Log: Make Thread interruptible so engine can interrupt sampler
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java URL: http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java?rev=763179&r1=763178&r2=763179&view=diff ============================================================================== --- jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java (original) +++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java Wed Apr 8 11:03:34 2009 @@ -34,6 +34,7 @@ import org.apache.jmeter.gui.GuiPackage; import org.apache.jmeter.processor.PostProcessor; import org.apache.jmeter.processor.PreProcessor; +import org.apache.jmeter.samplers.Interruptible; import org.apache.jmeter.samplers.SampleEvent; import org.apache.jmeter.samplers.SampleListener; import org.apache.jmeter.samplers.SampleResult; @@ -59,7 +60,7 @@ * timing, add listeners for sampling events and to stop the sampling process. * */ -public class JMeterThread implements Runnable { +public class JMeterThread implements Runnable, Interruptible { private static final Logger log = LoggingManager.getLoggerForClass(); private int initialDelay = 0; @@ -518,6 +519,21 @@ log.info("Stopping " + threadName); } + /** {...@inheritdoc} */ + public boolean interrupt(){ + log.warn("Interrupting " + threadName); + Sampler samp = threadContext.getCurrentSampler(); + if (samp instanceof Interruptible){ + try { + ((Interruptible)samp).interrupt(); + } catch (Exception e) { + log.warn("Caught Exception interrupting sampler: "+e.toString()); + } + return true; + } + return false; + } + private void stopTest() { running = false; log.info("Stop Test detected by thread " + threadName); --------------------------------------------------------------------- To unsubscribe, e-mail: jmeter-dev-unsubscr...@jakarta.apache.org For additional commands, e-mail: jmeter-dev-h...@jakarta.apache.org