amqp-client
5.6.0
二、编写生产者
=======
编写消息生产者
com.itheima.rabbitmq.simple.Producer
package com.itheima.rabbitmq.simple;
import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
public class Producer {
static final String QUEUE_NAME = “simple_queue”;
public static void main(String[] args) throws Exception {
//创建连接工厂 ConnectionFactory
connectionFactory = new ConnectionFactory();
//主机地址;默认为 localhost
connectionFactory.setHost(“localhost”);
//连接端口;默认为 5672
connectionFactory.setPort(5672);
//虚拟主机名称;默认为 /
connectionFactory.setVirtualHost(“/itcast”);
//连接用户名;默认为guest
connectionFactory.setUsername(“heima”);
//连接密码;默认为guest
connectionFactory.setPassword(“heima”);
//创建连接 Connection
connection = connectionFactory.newConnection();
// 创建频道 Channel
channel = connection.createChannel();
// 声明(创建)队列
/**
-
参数1:队列名称
-
参数2:是否定义持久化队列
-
参数3:是否独占本次连接
-
参数4:是否在不使用的时候自动删除队列
-
参数5:队列其它参数
*/
channel.queueDeclare(QUEUE_NAME, true, false, false, null);
// 要发送的信息
String message = “你好;小兔子!”;
/**
-
参数1:交换机名称,如果没有指定则使用默认Default Exchage
-
参数2:路由key,简单模式可以传递队列名称
-
参数3:消息其它属性
-
参数4:消息内容
*/
channel.basicPublish(“”, QUEUE_NAME, null, message.getBytes());
System.out.println(“已发送消息:” + message);
// 关闭资源 channel.close();
connection.close();
}
}
在执行上述的消息发送之后;可以登录RabbitMQ的管理控制台,可以发现队列和其消息:
三、编写消费者
=======
抽取创建connection的工具类
com.itheima.rabbitmq.util.ConnectionUtil;
package com.itheima.rabbitmq.util;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;
public class ConnectionUtil {
public static Connection getConnection() throws Exception {
//创建连接工厂 ConnectionFactory
connectionFactory = new ConnectionFactory();
//主机地址;默认为 localhost
connectionFactory.setHost(“localhost”);
//连接端口;默认为 5672
connectionFactory.setPort(5672);
//虚拟主机名称;默认为 /
connectionFactory.setVirtualHost(“/itcast”);
//连接用户名;默认为guest
connectionFactory.setUsername(“heima”);
//连接密码;默认为guest
connectionFactory.setPassword(“heima”);
//创建连接 return
connectionFactory.newConnection();
}
}
编写消息的消费者
com.itheima.rabbitmq.simple.Consumer
public class Consumer {
public static void main(String[] args) throws Exception {
Connection connection = ConnectionUtil.getConnection();
// 创建频道 Channel
channel = connection.createChannel();
// 声明(创建)队列
/**
- 参数1:队列名称
最后
总而言之,面试官问来问去,问的那些Redis知识点也就这么多吧,复习的不够到位,知识点掌握不够熟练,所以面试才会卡壳。将这些Redis面试知识解析以及我整理的一些学习笔记分享出来给大家参考学习
还有更多学习笔记面试资料也分享如下:
);
// 声明(创建)队列
/**
- 参数1:队列名称
最后
总而言之,面试官问来问去,问的那些Redis知识点也就这么多吧,复习的不够到位,知识点掌握不够熟练,所以面试才会卡壳。将这些Redis面试知识解析以及我整理的一些学习笔记分享出来给大家参考学习
还有更多学习笔记面试资料也分享如下:
[外链图片转存中…(img-RLFkNeqN-1714438787970)]