Skip to content

Commit

Permalink
Added options to manage heartbeat
Browse files Browse the repository at this point in the history
  • Loading branch information
zeph1rus committed Oct 23, 2018
1 parent 95eaf91 commit efddefa
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 8 deletions.
25 changes: 23 additions & 2 deletions src/main/com/zeroclue/jmeter/protocol/amqp/AMQPSampler.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ public abstract class AMQPSampler extends AbstractSampler implements ThreadListe

public static final int DEFAULT_ITERATIONS = 1;
public static final String DEFAULT_ITERATIONS_STRING = Integer.toString(DEFAULT_ITERATIONS);

private static final Logger log = LoggingManager.getLoggerForClass();


Expand All @@ -49,6 +49,7 @@ public abstract class AMQPSampler extends AbstractSampler implements ThreadListe
protected static final String SSL = "AMQPSampler.SSL";
protected static final String USERNAME = "AMQPSampler.Username";
protected static final String PASSWORD = "AMQPSampler.Password";
protected static final String HEARTBEAT = "AMQPSampler.Heartbeat";
private static final String TIMEOUT = "AMQPSampler.Timeout";
private static final String ITERATIONS = "AMQPSampler.Iterations";
private static final String MESSAGE_TTL = "AMQPSampler.MessageTTL";
Expand All @@ -57,7 +58,9 @@ public abstract class AMQPSampler extends AbstractSampler implements ThreadListe
private static final String QUEUE_REDECLARE = "AMQPSampler.Redeclare";
private static final String QUEUE_EXCLUSIVE = "AMQPSampler.QueueExclusive";
private static final String QUEUE_AUTO_DELETE = "AMQPSampler.QueueAutoDelete";
private static final int DEFAULT_HEARTBEAT = 1;
// default heartbeat recommendation is 60
private static final int DEFAULT_HEARTBEAT = 60;


private transient ConnectionFactory factory;
private transient Connection connection;
Expand Down Expand Up @@ -289,6 +292,23 @@ protected int getPortAsInt() {
return getPropertyAsInt(PORT);
}

public String getHeartbeat() {
return getPropertyAsString(HEARTBEAT);
}

public int getHeartbeatAsInt() {
int hb = getPropertyAsInt(HEARTBEAT);
if (!((hb > -1) && (hb < 60))) {
return hb;
}
return DEFAULT_HEARTBEAT;
}

public void setHeartbeat(String value) {
setProperty(HEARTBEAT, value);
}


public void setConnectionSSL(String content) {
setProperty(SSL, content);
}
Expand Down Expand Up @@ -415,6 +435,7 @@ protected Channel createChannel() throws IOException, NoSuchAlgorithmException,
factory.setVirtualHost(getVirtualHost());
factory.setUsername(getUsername());
factory.setPassword(getPassword());
factory.setRequestedHeartbeat(getHeartbeatAsInt());
if (connectionSSL()) {
factory.useSslProtocol("TLS");
}
Expand Down
19 changes: 13 additions & 6 deletions src/main/com/zeroclue/jmeter/protocol/amqp/gui/AMQPSamplerGui.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public abstract class AMQPSamplerGui extends AbstractSamplerGui {
protected JLabeledTextField timeout = new JLabeledTextField("Timeout (0 for Infinite)");
protected JLabeledTextField username = new JLabeledTextField("Username");
protected JLabeledTextField password = new JLabeledTextField("Password");
protected JLabeledTextField heartbeat = new JLabeledTextField("Heartbeat");
private final JCheckBox SSL = new JCheckBox("SSL?", false);

private final JLabeledTextField iterations = new JLabeledTextField("Number of samples to Aggregate");
Expand Down Expand Up @@ -77,6 +78,7 @@ public void configure(TestElement element) {
port.setText(sampler.getPort());
username.setText(sampler.getUsername());
password.setText(sampler.getPassword());
heartbeat.setText(sampler.getHeartbeat());
SSL.setSelected(sampler.connectionSSL());
log.info("AMQPSamplerGui.configure() called");
}
Expand All @@ -100,7 +102,7 @@ public void clearGui() {
queueExclusive.setSelected(false);
queueAutoDelete.setSelected(false);
queueRedeclare.setSelected(AMQPSampler.DEFAULT_QUEUE_REDECLARE);

heartbeat.setText("60");

timeout.setText(AMQPSampler.DEFAULT_TIMEOUT_STRING);
iterations.setText(AMQPSampler.DEFAULT_ITERATIONS_STRING);
Expand Down Expand Up @@ -137,6 +139,7 @@ public void modifyTestElement(TestElement element) {
sampler.setQueueRedeclare(queueRedeclare.isSelected());

sampler.setTimeout(timeout.getText());
sampler.setHeartbeat(heartbeat.getText());
sampler.setIterations(iterations.getText());

sampler.setHost(host.getText());
Expand Down Expand Up @@ -263,22 +266,26 @@ private Component makeCommonPanel() {
gridBagConstraints.gridy = 2;
serverSettings.add(port, gridBagConstraints);

gridBagConstraints.gridx = 1;
gridBagConstraints.gridy = 2;
gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
serverSettings.add(SSL, gridBagConstraints);

gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 3;
gridBagConstraints.gridy = 4;
serverSettings.add(username, gridBagConstraints);

gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 4;
gridBagConstraints.gridy = 5;
serverSettings.add(password, gridBagConstraints);

gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 5;
gridBagConstraints.gridy = 6;
serverSettings.add(timeout, gridBagConstraints);

gridBagConstraints.gridx = 0;
gridBagConstraints.gridy = 7;
serverSettings.add(heartbeat, gridBagConstraints);

gridBagConstraintsCommon.gridx = 1;
gridBagConstraintsCommon.gridy = 0;

Expand Down

1 comment on commit efddefa

@polarnik
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank You

Please sign in to comment.