Skip to content

Commit e224af8

Browse files
Make sure autorecovering channels track queues declared with nowait = true
1 parent 50fa884 commit e224af8

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

src/com/rabbitmq/client/impl/recovery/AutorecoveringChannel.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,7 +250,14 @@ public void queueDeclareNowait(String queue,
250250
boolean exclusive,
251251
boolean autoDelete,
252252
Map<String, Object> arguments) throws IOException {
253+
RecordedQueue meta = new RecordedQueue(this, queue).
254+
durable(durable).
255+
exclusive(exclusive).
256+
autoDelete(autoDelete).
257+
arguments(arguments);
253258
delegate.queueDeclareNowait(queue, durable, exclusive, autoDelete, arguments);
259+
recordQueue(queue, meta);
260+
254261
}
255262

256263
public AMQP.Queue.DeclareOk queueDeclarePassive(String queue) throws IOException {
@@ -501,6 +508,10 @@ private void recordQueue(AMQP.Queue.DeclareOk ok, RecordedQueue q) {
501508
this.connection.recordQueue(ok, q);
502509
}
503510

511+
private void recordQueue(String queue, RecordedQueue meta) {
512+
this.connection.recordQueue(queue, meta);
513+
}
514+
504515
private void deleteRecordedQueue(String queue) {
505516
this.connection.deleteRecordedQueue(queue);
506517
}

src/com/rabbitmq/client/impl/recovery/AutorecoveringConnection.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,10 @@ void recordQueue(AMQP.Queue.DeclareOk ok, RecordedQueue q) {
573573
this.recordedQueues.put(ok.getQueue(), q);
574574
}
575575

576+
void recordQueue(String queue, RecordedQueue meta) {
577+
this.recordedQueues.put(queue, meta);
578+
}
579+
576580
void deleteRecordedQueue(String queue) {
577581
this.recordedQueues.remove(queue);
578582
}

0 commit comments

Comments
 (0)