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 2007/01/31 21:42:02 UTC
svn commit: r501981 - in /jakarta/jmeter/branches/rel-2-2:
src/core/org/apache/jmeter/resources/
src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/
src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/
src/protocol/tcp/org/apache/jmeter...
Author: sebb
Date: Wed Jan 31 12:42:01 2007
New Revision: 501981
URL: http://svn.apache.org/viewvc?view=rev&rev=501981
Log:
Bug 41457 - Add TCP Sampler option to not re-use connections
Modified:
jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java
jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java
jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
Modified: jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties?view=diff&rev=501981&r1=501980&r2=501981
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties (original)
+++ jakarta/jmeter/branches/rel-2-2/src/core/org/apache/jmeter/resources/messages.properties Wed Jan 31 12:42:01 2007
@@ -563,6 +563,7 @@
resultsaver_prefix=Filename prefix\:
resultsaver_title=Save Responses to a file
retobj=Return object
+reuseconnection=Re-use connection
root=Root
root_title=Root
run=Run
Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java?view=diff&rev=501981&r1=501980&r2=501981
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/config/gui/TCPConfigGui.java Wed Jan 31 12:42:01 2007
@@ -39,7 +39,9 @@
public class TCPConfigGui extends AbstractConfigGui {
private final static String SERVER = "server"; //$NON-NLS-1$
- private final static String PORT = "port"; //$NON-NLS-1$
+ private final static String RE_USE_CONNECTION = "reUseConnection"; //$NON-NLS-1$
+
+ private final static String PORT = "port"; //$NON-NLS-1$
// NOTUSED yet private final static String FILENAME = "filename";
// //$NON-NLS-1$
@@ -51,6 +53,8 @@
private JTextField server;
+ private JCheckBox reUseConnection;
+
private JTextField port;
// NOTUSED yet private JTextField filename;
@@ -78,6 +82,8 @@
public void configure(TestElement element) {
super.configure(element);
server.setText(element.getPropertyAsString(TCPSampler.SERVER));
+ // Default to original behaviour, i.e. re-use connection
+ reUseConnection.setSelected(element.getPropertyAsBoolean(TCPSampler.RE_USE_CONNECTION,true));
port.setText(element.getPropertyAsString(TCPSampler.PORT));
// filename.setText(element.getPropertyAsString(TCPSampler.FILENAME));
timeout.setText(element.getPropertyAsString(TCPSampler.TIMEOUT));
@@ -99,6 +105,7 @@
public void modifyTestElement(TestElement element) {
configureTestElement(element);
element.setProperty(TCPSampler.SERVER, server.getText());
+ element.setProperty(TCPSampler.RE_USE_CONNECTION, JOrphanUtils.booleanToString(reUseConnection.isSelected()));
element.setProperty(TCPSampler.PORT, port.getText());
// element.setProperty(TCPSampler.FILENAME, filename.getText());
element.setProperty(TCPSampler.NODELAY, JOrphanUtils.booleanToString(setNoDelay.isSelected()));
@@ -145,6 +152,19 @@
return serverPanel;
}
+ private JPanel createClosePortPanel() {
+ JLabel label = new JLabel(JMeterUtils.getResString("reUseConnection"));
+
+ reUseConnection = new JCheckBox("", true);
+ reUseConnection.setName(RE_USE_CONNECTION);
+ label.setLabelFor(reUseConnection);
+
+ JPanel closePortPanel = new JPanel(new BorderLayout(5, 0));
+ closePortPanel.add(label, BorderLayout.WEST);
+ closePortPanel.add(reUseConnection, BorderLayout.CENTER);
+ return closePortPanel;
+ }
+
private JPanel createPortPanel() {
JLabel label = new JLabel(JMeterUtils.getResString("tcp_port"));
@@ -197,6 +217,7 @@
VerticalPanel mainPanel = new VerticalPanel();
mainPanel.add(createServerPanel());
+ mainPanel.add(createClosePortPanel());
mainPanel.add(createPortPanel());
mainPanel.add(createTimeoutPanel());
mainPanel.add(createNoDelayPanel());
Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java?view=diff&rev=501981&r1=501980&r2=501981
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/control/gui/TCPSamplerGui.java Wed Jan 31 12:42:01 2007
@@ -61,8 +61,8 @@
*/
public void modifyTestElement(TestElement sampler) {
sampler.clear();
- ((TCPSampler) sampler).addTestElement(TcpDefaultPanel.createTestElement());
- ((TCPSampler) sampler).addTestElement(loginPanel.createTestElement());
+ sampler.addTestElement(TcpDefaultPanel.createTestElement());
+ sampler.addTestElement(loginPanel.createTestElement());
this.configureTestElement(sampler);
}
Modified: jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java?view=diff&rev=501981&r1=501980&r2=501981
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java (original)
+++ jakarta/jmeter/branches/rel-2-2/src/protocol/tcp/org/apache/jmeter/protocol/tcp/sampler/TCPSampler.java Wed Jan 31 12:42:01 2007
@@ -60,6 +60,8 @@
public final static String REQUEST = "TCPSampler.request"; //$NON-NLS-1$
+ public final static String RE_USE_CONNECTION = "TCPSampler.reUseConnection"; //$NON-NLS-1$
+
private final static String TCPKEY = "TCP"; //$NON-NLS-1$ key for HashMap
private final static String ERRKEY = "ERR"; //$NON-NLS-1$ key for HashMap
@@ -121,10 +123,13 @@
private Socket getSocket() {
Map cp = (Map) tp.get();
- Socket con = (Socket) cp.get(TCPKEY);
- if (con != null) {
- log.debug(this + " Reusing connection " + con); //$NON-NLS-1$
- return con;
+ Socket con = null;
+ if (isReUseConnection()) {
+ con = (Socket) cp.get(TCPKEY);
+ if (con != null) {
+ log.debug(this + " Reusing connection " + con); //$NON-NLS-1$
+ return con;
+ }
}
// Not in cache, so create new one and cache it
@@ -162,6 +167,14 @@
return getPropertyAsString(SERVER);
}
+ public void setReUseConnection(String newServer) {
+ this.setProperty(RE_USE_CONNECTION, newServer);
+ }
+
+ public boolean isReUseConnection() {
+ return getPropertyAsBoolean(RE_USE_CONNECTION);
+ }
+
public void setPort(String newFilename) {
this.setProperty(PORT, newFilename);
}
@@ -306,14 +319,17 @@
// Set if we were successful or not
res.setSuccessful(isSuccessful);
+
+ if (!isReUseConnection()) {
+ closeSocket();
+ }
}
return res;
}
- /**
- * @param rc
- * response code
+ /**
+ * @param rc response code
* @return whether this represents success or not
*/
private boolean checkResponseCode(String rc) {
Modified: jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml
URL: http://svn.apache.org/viewvc/jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml?view=diff&rev=501981&r1=501980&r2=501981
==============================================================================
--- jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml (original)
+++ jakarta/jmeter/branches/rel-2-2/xdocs/changes.xml Wed Jan 31 12:42:01 2007
@@ -49,6 +49,7 @@
<li>Bug 40804 - Change Counter default to max = Long.MAX_VALUE</li>
<li>BeanShell Post-Processor no longer ignores samples with zero-length result data</li>
<li>Use property jmeter.home (if present) to override user.dir when starting JMeter</li>
+<li>Bug 41457 - Add TCP Sampler option to not re-use connections</li>
</ul>
<h4>Bug fixes:</h4>
---------------------------------------------------------------------
To unsubscribe, e-mail: jmeter-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: jmeter-dev-help@jakarta.apache.org