Skip to content

Commit 95161f6

Browse files
author
Simon MacMullen
committed
Command line parameter to turn this behaviour on.
1 parent d109166 commit 95161f6

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

test/src/com/rabbitmq/examples/MulticastMain.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,8 @@ public static void main(String[] args) {
6565
List<?> flags = lstArg(cmd, 'f');
6666
int frameMax = intArg(cmd, 'M', 0);
6767
int heartbeat = intArg(cmd, 'b', 0);
68+
boolean predeclared = cmd.hasOption('p');
69+
6870
String uri = strArg(cmd, 'h', "amqp://localhost");
6971

7072
boolean exclusive = "".equals(queueName);
@@ -96,6 +98,7 @@ public static void main(String[] args) {
9698
p.setFlags( flags);
9799
p.setMultiAckEvery( multiAckEvery);
98100
p.setMinMsgSize( minMsgSize);
101+
p.setPredeclared( predeclared);
99102
p.setPrefetchCount( prefetchCount);
100103
p.setProducerCount( producerCount);
101104
p.setProducerMsgCount( producerMsgCount);
@@ -150,6 +153,7 @@ private static Options getOptions() {
150153
options.addOption(flag);
151154
options.addOption(new Option("M", "framemax", true, "frame max"));
152155
options.addOption(new Option("b", "heartbeat", true, "heartbeat interval"));
156+
options.addOption(new Option("p", "predeclared", false,"allow use of predeclared objects"));
153157
return options;
154158
}
155159

test/src/com/rabbitmq/examples/perf/MulticastParams.java

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,8 @@ public class MulticastParams {
5151
private boolean exclusive = true;
5252
private boolean autoDelete = false;
5353

54+
private boolean predeclared;
55+
5456
public void setExchangeType(String exchangeType) {
5557
this.exchangeType = exchangeType;
5658
}
@@ -132,6 +134,10 @@ public void setAutoDelete(boolean autoDelete) {
132134
this.autoDelete = autoDelete;
133135
}
134136

137+
public void setPredeclared(boolean predeclared) {
138+
this.predeclared = predeclared;
139+
}
140+
135141
public int getConsumerCount() {
136142
return consumerCount;
137143
}
@@ -148,7 +154,7 @@ public Producer createProducer(Connection connection, Stats stats, String id) th
148154
Channel channel = connection.createChannel();
149155
if (producerTxSize > 0) channel.txSelect();
150156
if (confirm >= 0) channel.confirmSelect();
151-
if (!exchangeExists(connection, exchangeName)) {
157+
if (!predeclared || !exchangeExists(connection, exchangeName)) {
152158
channel.exchangeDeclare(exchangeName, exchangeType);
153159
}
154160
final Producer producer = new Producer(channel, exchangeName, id,
@@ -177,11 +183,11 @@ public boolean shouldConfigureQueue() {
177183

178184
public String configureQueue(Connection connection, String id) throws IOException {
179185
Channel channel = connection.createChannel();
180-
if (!exchangeExists(connection, exchangeName)) {
186+
if (!predeclared || !exchangeExists(connection, exchangeName)) {
181187
channel.exchangeDeclare(exchangeName, exchangeType);
182188
}
183189
String qName = queueName;
184-
if (!queueExists(connection, queueName)) {
190+
if (!predeclared || !queueExists(connection, queueName)) {
185191
qName = channel.queueDeclare(queueName,
186192
flags.contains("persistent"),
187193
exclusive, autoDelete,

0 commit comments

Comments
 (0)