Author: sebb
Date: Fri Oct 14 13:15:50 2011
New Revision: 1183345
URL: http://svn.apache.org/viewvc?rev=1183345&view=rev
Log:
Bug 52029 - Command-line shutdown only gets sent to last engine that was
started
Modified:
jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
jakarta/jmeter/trunk/xdocs/changes.xml
Modified: jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java?rev=1183345&r1=1183344&r2=1183345&view=diff
==============================================================================
--- jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java (original)
+++ jakarta/jmeter/trunk/src/core/org/apache/jmeter/JMeter.java Fri Oct 14
13:15:50 2011
@@ -768,13 +768,13 @@ public class JMeter implements JMeterPlu
List<JMeterEngine> engines = new LinkedList<JMeterEngine>();
tree.add(tree.getArray()[0], new ListenToTest(parent, (remoteStart
&& remoteStop) ? engines : null));
println("Created the tree successfully using "+testFile);
- JMeterEngine engine = null;
if (!remoteStart) {
- engine = new StandardJMeterEngine();
+ JMeterEngine engine = new StandardJMeterEngine();
engine.configure(tree);
long now=System.currentTimeMillis();
println("Starting the test @ "+new Date(now)+" ("+now+")");
engine.runTest();
+ engines.add(engine);
} else {
java.util.StringTokenizer st = new
java.util.StringTokenizer(remote_hosts_string, ",");//$NON-NLS-1$
while (st.hasMoreElements()) {
@@ -796,15 +796,13 @@ public class JMeter implements JMeterPlu
log.info("Starting remote engines");
long now=System.currentTimeMillis();
println("Starting the test @ "+new Date(now)+" ("+now+")");
- Iterator<JMeterEngine> iter = engines.iterator();
- while (iter.hasNext()) {
- engine = iter.next();
+ for (JMeterEngine engine : engines) {
engine.runTest();
}
println("Remote engines have been started");
log.info("Remote engines have been started");
}
- startUdpDdaemon(engine);
+ startUdpDdaemon(engines);
} catch (Exception e) {
System.out.println("Error in NonGUIDriver " + e.toString());
log.error("Error in NonGUIDriver", e);
@@ -1045,7 +1043,7 @@ public class JMeter implements JMeterPlu
log.info(prop+separator+System.getProperty(prop));//$NON-NLS-1$
}
- private static void startUdpDdaemon(final JMeterEngine engine) {
+ private static void startUdpDdaemon(final List<JMeterEngine> engines) {
int port = JMeterUtils.getPropDefault("jmeterengine.nongui.port",
UDP_PORT_DEFAULT); // $NON-NLS-1$
int maxPort =
JMeterUtils.getPropDefault("jmeterengine.nongui.maxport", 4455); // $NON-NLS-1$
if (port > 1000){
@@ -1054,7 +1052,7 @@ public class JMeter implements JMeterPlu
Thread waiter = new Thread("UDP Listener"){
@Override
public void run() {
- waitForSignals(engine, socket);
+ waitForSignals(engines, socket);
}
};
waiter.setDaemon(true);
@@ -1065,7 +1063,7 @@ public class JMeter implements JMeterPlu
}
}
- private static void waitForSignals(final JMeterEngine engine,
DatagramSocket socket) {
+ private static void waitForSignals(final List<JMeterEngine> engines,
DatagramSocket socket) {
byte[] buf = new byte[80];
System.out.println("Waiting for possible shutdown message on port
"+socket.getLocalPort());
DatagramPacket request = new DatagramPacket(buf, buf.length);
@@ -1079,9 +1077,13 @@ public class JMeter implements JMeterPlu
System.out.println("Command: "+command+" received from
"+address);
log.info("Command: "+command+" received from "+address);
if (command.equals("StopTestNow")){
- engine.stopTest(true);
+ for(JMeterEngine engine : engines) {
+ engine.stopTest(true);
+ }
} else if (command.equals("Shutdown")) {
- engine.stopTest(false);
+ for(JMeterEngine engine : engines) {
+ engine.stopTest(false);
+ }
} else {
System.out.println("Command: "+command+" not
recognised ");
}
Modified: jakarta/jmeter/trunk/xdocs/changes.xml
URL:
http://svn.apache.org/viewvc/jakarta/jmeter/trunk/xdocs/changes.xml?rev=1183345&r1=1183344&r2=1183345&view=diff
==============================================================================
--- jakarta/jmeter/trunk/xdocs/changes.xml (original)
+++ jakarta/jmeter/trunk/xdocs/changes.xml Fri Oct 14 13:15:50 2011
@@ -124,6 +124,7 @@ Mirror server now uses default port 8081
<li>Bug 51988 - CSV Data Set Configuration does not resolve default delimiter
for header parsing when variables field is empty</li>
<li>Bug 52003 - View Results Tree "Scroll automatically" does not scroll
properly in case nodes are expanded</li>
<li>Bug 27112 - User Parameters should use scrollbars</li>
+<li>Bug 52029 - Command-line shutdown only gets sent to last engine that was
started</li>
</ul>
<!-- =================== Improvements =================== -->
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]