1 Star 0 Fork 295

笛卡尔积 / spring-boot-demo

forked from Mrwen / spring-boot-demo 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
DeadLetterConsumer.java 1.48 KB
一键复制 编辑 原始数据 按行查看 历史
package com.example.ack;
import com.rabbitmq.client.Channel;
import org.springframework.amqp.core.ExchangeTypes;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.Exchange;
import org.springframework.amqp.rabbit.annotation.Queue;
import org.springframework.amqp.rabbit.annotation.QueueBinding;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
import java.io.IOException;
/**
* <p>
* 死信队列消费者
* </p>
*
* @author MrWen
**/
@Component
public class DeadLetterConsumer {
/**
* 监听消息的方法
*/
@RabbitListener(bindings = @QueueBinding(
value = @Queue(name = "${dead.queue}", durable = "true"), // 队列
exchange = @Exchange(name = "${dead.exchange}", type = ExchangeTypes.TOPIC),// 交换机
key = {"#"}// 路由key
))
public void handlerMessage(String msg, Channel channel, Message message) throws IOException {
//其实这里也要像AckConsumer一样处理,这里只是简单的确认即可
System.out.println("死信队列接收到的消息:" + msg);
// 手动ack确认
//参数1:deliveryTag:消息唯一传输ID
//参数2:multiple:true: 手动批量处理,false: 手动单条处理
channel.basicAck(message.getMessageProperties().getDeliveryTag(), false);
System.out.println("死信队列接已手动确认,消息:" + msg);
}
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Java
1
https://gitee.com/707472660/spring-boot-demo.git
git@gitee.com:707472660/spring-boot-demo.git
707472660
spring-boot-demo
spring-boot-demo
master

搜索帮助

344bd9b3 5694891 D2dac590 5694891