一、rabbitmq安装
1.安装Erlang。首先需要下载并安装Erlang,RabbitMQ是用Erlang编写的,因此需要安装Erlang才能运行RabbitMQ,访问Erlang官网https://www.erlang.org/下载适用于Windows的Erlang程序安装包,我的版本为Erlang 26.0.1,安装erlang,点击之后会弹出一个安装程序,一直下一步即可。
2.配置Erlang环境。安装完Erlang后,需要配置环境变量,以确保Erlang的命令和库可以在命令行中正确执行,在系统变量中添加一个新的环境变量,名为ERLANG_HOME,其值为Erlang的安装目录,然后添加%ERLANG_HOME%\bin到系统变量PATH中。
3.安装RabbitMQ。下载RabbitMQ安装程序,访问RabbitMQ官网https://rabbitmq.p2hp.com/#google_vignette下载可用于Windows的RabbitMQ安装程序,选择和你Erlang相匹配的版本,我的mq版本为RabbitMQ 3.12.0,并根据提示完成安装,安装过程中,RabbitMQ和Erlang的版本要对应,安装完成后,在开始菜单查看是否有RabbitMQ图标,如果有则说明安装成功。
4.启动RabbitMQ服务。首先停止RabbitMQ服务,然后以管理员身份运行命令行,输入命令rabbitmq-plugins enable rabbitmq_management,然后重启RabbitMQ服务,可以通过命令行或浏览器访问RabbitMQ的管理界面,默认账号和密码通常是guest/guest。
5.访问RabbitMQ的管理界面。在浏览器中输入http://localhost:15672,使用默认账号guest和密码guest登录,登录成功后,可以看到RabbitMQ的管理界面,在这里可以进行各种配置和管理操作。
二、Java连接rabbitMq
一、使用amqp-client的jar包进行连接;
1.moven中获取jar包
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>5.13.0</version>
</dependency>
2.简单代码连接
// 创建连接工厂
ConnectionFactory factory = new ConnectionFactory();
factory.setHost("localhost"); // 设置RabbitMQ服务器的地址
factory.setPort(5672); // 设置RabbitMQ服务器的端口号,默认为5672
factory.setUsername("guest"); // 设置用户名,默认为guest
factory.setPassword("guest"); // 设置密码,默认为guest
// 创建连接
try (Connection connection = factory.newConnection();
Channel channel = connection.createChannel()) {
/**
* 创建队列
* 参数一:队列名字,队列不存在自动创建
* 参数二,是否持久化 当mq重启之后还在
* 参数三:是否独占队列 true/false
* 独占队列(只能由一个消费者监听这个队列)
* 当Connection关闭时,是否删除队列
* 参数四: 是否在消费完成后删除队列
* 参数五:额外附加参数
*/
channel.queueDeclare("hello", false, false, false, null);
System.out.println(" [*] Waiting for messages. To exit press CTRL+C");
}
二、使用spring amqp来连接
1.moven中获取jar包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2.yml配置
spring:
rabbitmq:
host: 127.0.0.1 #主机名称
port: 5672 #端口
virtual-host: / #虚拟主机
username: guest #用户名
password: guest #密码
3.代码简单实现
public class SpringAmqpTest {
@Resource
private RabbitTemplate rabbitTemplate;
@GetMapping("testSimpleQueue")
private void testSimpleQueue(){
String queueName = "simple.queue"; //已存在队列名称,向simple.queue发送消息
String message = "hello,spring amqp";
rabbitTemplate.convertAndSend(queueName,message);
}
}
本文已结束,后续是rabbitmq深入使用,不足之处,望海涵