You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jmeter-dev@jakarta.apache.org by se...@apache.org on 2009/04/08 13:03:34 UTC
svn commit: r763179 -
/jakarta/jmeter/trunk/src/core/org/apache/jmeter/threads/JMeterThread.java
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-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org