From a8ab9fb0a952eba4dc4df8349f27da3b636ab2d0 Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Thu, 7 Sep 2017 13:54:31 -0700 Subject: [PATCH 1/2] Rename this consumer to avoid confusion with QueueingBasicConsumer which no longer has a reason to exist and should be avoided. --- .../client/test/functional/DeadLetterExchange.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java b/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java index af7e48abcf..5b6c7a565f 100644 --- a/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java +++ b/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java @@ -170,7 +170,7 @@ protected void releaseResources() throws IOException { channel.queueBind(DLQ, DLX, "test"); //measure round-trip latency - QueueMessageConsumer c = new QueueMessageConsumer(channel); + AccumulatingMessageConsumer c = new AccumulatingMessageConsumer(channel); String cTag = channel.basicConsume(TEST_QUEUE_NAME, true, c); long start = System.currentTimeMillis(); publish(null, "test"); @@ -562,7 +562,7 @@ private void sleep(long millis) { /* check that each message arrives within epsilon of the publication time + TTL + latency */ - private void checkPromptArrival(QueueMessageConsumer c, + private void checkPromptArrival(AccumulatingMessageConsumer c, int count, long latency) throws Exception { long epsilon = TTL / 10; for (int i = 0; i < count; i++) { @@ -697,11 +697,11 @@ private static String randomQueueName() { return DeadLetterExchange.class.getSimpleName() + "-" + UUID.randomUUID().toString(); } - class QueueMessageConsumer extends DefaultConsumer { + class AccumulatingMessageConsumer extends DefaultConsumer { BlockingQueue messages = new LinkedBlockingQueue(); - public QueueMessageConsumer(Channel channel) { + public AccumulatingMessageConsumer(Channel channel) { super(channel); } From c1e2f80b09eb36b0d934bf2e7b29e89e82e6d0cc Mon Sep 17 00:00:00 2001 From: Michael Klishin Date: Thu, 7 Sep 2017 13:59:00 -0700 Subject: [PATCH 2/2] Assert on x-first-death-{queue,reason,exchange} not being empty Part of rabbitmq/rabbitmq-server#1332. --- .../rabbitmq/client/test/functional/DeadLetterExchange.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java b/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java index 5b6c7a565f..6b53b34d8b 100644 --- a/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java +++ b/src/test/java/com/rabbitmq/client/test/functional/DeadLetterExchange.java @@ -536,6 +536,9 @@ public void process(GetResponse getResponse) { assertNotNull(headers); ArrayList death = (ArrayList) headers.get("x-death"); assertNotNull(death); + assertNotNull(headers.get("x-first-death-queue")); + assertNotNull(headers.get("x-first-death-reason")); + assertNotNull(headers.get("x-first-death-exchange")); assertEquals(1, death.size()); assertDeathReason(death, 0, TEST_QUEUE_NAME, reason, "amq.direct",