1. Return机制
Confirm只能保证消息到达exchange,无法保证消息可以被exchange分发到指定queue。
而且exchange是不能持久化消息的,queue是可以持久化消息。
采用Return机制来监听消息是否从exchange送到了指定的queue中
2.Java的实现方式
1.导入依赖
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.6.0</version>
</dependency>
2.生产者的实现方式
采用Return机制来监听消息是否从exchange送到了指定的queue中
package com.qf.mq2302.hello;
import com.qf.mq2302.utils.MQUtils;
import com.rabbitmq.client.AMQP;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ReturnListener;
import java.io.IOException;
public class SendRetrun {
public static final String QUEUE_NAME="hello-queue";
public static void main(String[] args) throws Exception {
//1.获取连接对象
Connection conn = MQUtils.getConnection();
//2. 创建一个channel对象,对于MQ的大部分操作,都定义在了channel对象上
Channel channel = conn.createChannel();
//3.声明了一个队列
/**
* queue – the name of the queue
* durable – true代表创建的队列是持久化的(当mq重启后,该队列依然存在)
* exclusive – 该队列是不是排他的 (该对立是否只能由当前创建该队列的连接使用)
* autoDelete – 该队列是否可以被mq服务器自动删除
* arguments – 队列的其他参数,可以为null
*/
channel.queueDeclare(QUEUE_NAME, false, false, fal

最低0.47元/天 解锁文章
1691

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



