Browse Source

update 优化 延迟队列与死信队列监听

疯狂的狮子Li 2 years ago
parent
commit
821d242320

+ 13 - 5
ruoyi-example/ruoyi-test-mq/src/main/java/org/dromara/stream/consumer/ConsumerListener.java

@@ -25,12 +25,20 @@ public class ConsumerListener {
     }
 
     /**
-     * 处理延迟队列的操作
-     * 该部分处理的延迟操作在消费上的时间可能与设置的TTl不同;
-     * 一般会超长;原因是消息可能并不会按时死亡;可通过延迟队列插件处理
+     * 处理延迟队列消息
      */
-    @RabbitListener(queues = RabbitTtlQueueConfig.DEAD_LETTER_QUEUE)
-    public void receiveMessage(String message){
+    @RabbitListener(queues = RabbitTtlQueueConfig.DELAY_QUEUE_NAME)
+    public void receiveDelayMessage(String message){
         log.info("【消费者】Received delayed message:{}",message);
     }
+
+    /**
+     * 处理死信队列消息
+     * 当消息在延迟队列中未能被正确处理(例如因消费者逻辑错误、超时未ACK等原因)
+     * 它会被自动转发到死信队列中,以便后续的特殊处理或重新尝试。
+     */
+    @RabbitListener(queues = RabbitTtlQueueConfig.DEAD_LETTER_QUEUE)
+    public void receiveDeadMessage(String message){
+        log.info("【消费者】Received dead message:{}",message);
+    }
 }