Author: pmouawad
Date: Tue Mar 1 12:24:03 2016
New Revision: 1733052
URL: http://svn.apache.org/viewvc?rev=1733052&view=rev
Log:
Bug 58736 - Add Sample Timeout support
Drop temporary property (implementation detail)
Bugzilla Id: 58736
Modified:
jmeter/trunk/src/components/org/apache/jmeter/modifiers/SampleTimeout.java
Modified:
jmeter/trunk/src/components/org/apache/jmeter/modifiers/SampleTimeout.java
URL:
http://svn.apache.org/viewvc/jmeter/trunk/src/components/org/apache/jmeter/modifiers/SampleTimeout.java?rev=1733052&r1=1733051&r2=1733052&view=diff
==============================================================================
--- jmeter/trunk/src/components/org/apache/jmeter/modifiers/SampleTimeout.java
(original)
+++ jmeter/trunk/src/components/org/apache/jmeter/modifiers/SampleTimeout.java
Tue Mar 1 12:24:03 2016
@@ -39,7 +39,7 @@ import org.apache.log.Logger;
/**
*
* Sample timeout implementation using Executor threads
- *
+ * @since 3.0
*/
public class SampleTimeout extends AbstractTestElement implements
Serializable, ThreadListener, SampleMonitor {
@@ -49,8 +49,6 @@ public class SampleTimeout extends Abstr
private static final String TIMEOUT = "InterruptTimer.timeout";
//$NON-NLS-1$
- private final boolean useRunnable =
JMeterUtils.getPropDefault("InterruptTimer.useRunnable", false);
-
private static class TPOOLHolder {
static final ScheduledExecutorService EXEC_SERVICE =
Executors.newScheduledThreadPool(1,
@@ -78,7 +76,6 @@ public class SampleTimeout extends Abstr
* No-arg constructor.
*/
public SampleTimeout() {
-// LOG.setPriority(org.apache.log.Priority.DEBUG); // for local
debugging when enabled
debug = LOG.isDebugEnabled();
execService = getExecutorService();
if (debug) {
@@ -128,46 +125,25 @@ public class SampleTimeout extends Abstr
return; // Cannot time out in this case
}
final Interruptible sampler = (Interruptible) samp;
-
- if (useRunnable) {
- Runnable run=new Runnable() {
- @Override
- public void run() {
- long start = System.nanoTime();
- boolean interrupted = sampler.interrupt();
- String elapsed =
Double.toString((double)(System.nanoTime()-start)/ 1000000000)+" secs";
- if (interrupted) {
- LOG.warn("Run Done interrupting " + getInfo(samp) + "
took " + elapsed);
- } else {
- if (debug) {
- LOG.debug("Run Didn't interrupt: " + getInfo(samp)
+ " took " + elapsed);
- }
- }
- }
- };
- // schedule the interrupt to occur and save for possible
cancellation
- future = execService.schedule(run, timeout, TimeUnit.MILLISECONDS);
- } else {
- Callable<Object> call = new Callable<Object>() {
- @Override
- public Object call() throws Exception {
- long start = System.nanoTime();
- boolean interrupted = sampler.interrupt();
- String elapsed =
Double.toString((double)(System.nanoTime()-start)/ 1000000000)+" secs";
- if (interrupted) {
- LOG.warn("Call Done interrupting " + getInfo(samp) + "
took " + elapsed);
- } else {
- if (debug) {
- LOG.debug("Call Didn't interrupt: " +
getInfo(samp) + " took " + elapsed);
- }
+
+ Callable<Object> call = new Callable<Object>() {
+ @Override
+ public Object call() throws Exception {
+ long start = System.nanoTime();
+ boolean interrupted = sampler.interrupt();
+ String elapsed =
Double.toString((double)(System.nanoTime()-start)/ 1000000000)+" secs";
+ if (interrupted) {
+ LOG.warn("Call Done interrupting " + getInfo(samp) + "
took " + elapsed);
+ } else {
+ if (debug) {
+ LOG.debug("Call Didn't interrupt: " + getInfo(samp) +
" took " + elapsed);
}
- return null;
}
-
- };
- // schedule the interrupt to occur and save for possible
cancellation
- future = execService.schedule(call, timeout,
TimeUnit.MILLISECONDS);
- }
+ return null;
+ }
+ };
+ // schedule the interrupt to occur and save for possible cancellation
+ future = execService.schedule(call, timeout, TimeUnit.MILLISECONDS);
if (debug) {
LOG.debug("Scheduled timer: @" + System.identityHashCode(future) +
" " + getInfo(samp));
}