Confirm 消息确认机制
消息的确认,是指生产者投递消息后,如果 Broker 收到消息,则会给生产者一个应答。生产者能接收应答,用来确定这条消息是否正常的发送到 Broker,这种方式是消息可靠性投递的核心保障。
MyProducer.java
public class MyProducer {
public static void main(String[] args) throws Exception {
// 创建连接工厂,并进行属性设置
ConnectionFactory connectionFactory = new ConnectionFactory();
connectionFactory.setHost("192.168.0.125");
connectionFactory.setPort(5672);
connectionFactory.setVirtualHost("/");
// 获取连接
Connection connection = connectionFactory.newConnection();
// 创建信道
Channel channel = connection.createChannel();
// 指定消息的投递模式 --消息的确认模式
channel.confirmSelect();
String exchangeName = "exchange_confirm";
String routingKey = "test.confirm";
// 通过信道发送信息
String msg = "hello, rabbitmq, test confirm ";
channel.basicPublish(exchangeName, routingKey, null, msg.getBytes());
// 添加确认监听
channel.addConfirmListener(new ConfirmListener() {
@Override
public void handleAck(long deliveryTag, boolean multiple) throws IOException {
System.out.println("======handle Ack==========");
}
@Override
public void h

本文介绍了RabbitMQ的Confirm消息确认机制,它确保生产者的消息被Broker成功接收,提供消息可靠投递的保障。同时,讨论了Return消息机制,当消息无法路由时,如何通过设置mandatory来监听并处理这些不可路由的消息。通过代码示例解释了如何在生产端和消费端应用这两种机制。
最低0.47元/天 解锁文章
2346

被折叠的 条评论
为什么被折叠?



