|
|
@ -25,12 +25,20 @@ public class ConsumerListener {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
/**
|
|
|
|
* 处理延迟队列的操作
|
|
|
|
* 处理延迟队列消息
|
|
|
|
* 该部分处理的延迟操作在消费上的时间可能与设置的TTl不同;
|
|
|
|
|
|
|
|
* 一般会超长;原因是消息可能并不会按时死亡;可通过延迟队列插件处理
|
|
|
|
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
@RabbitListener(queues = RabbitTtlQueueConfig.DEAD_LETTER_QUEUE)
|
|
|
|
@RabbitListener(queues = RabbitTtlQueueConfig.DELAY_QUEUE_NAME)
|
|
|
|
public void receiveMessage(String message){
|
|
|
|
public void receiveDelayMessage(String message){
|
|
|
|
log.info("【消费者】Received delayed message:{}",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);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|