rabbitmq的安装和使用-windows版本

首先! RabbitMQ 需要 Erlang 语言,所以想要在电脑上运行 RabbitMQ,就需要安装 Erlang 语言的环境,所以就有一个很重要的问题,版本对应问题!参看官方文档,版本选的对,报错少一半

https://www.rabbitmq.com/docs/which-erlang

确定好版本之后,下面开始正式安装


1. 在 Windows 上安装 RabbitMQ

RabbitMQ 需要 Erlang 运行时环境,因此需要先安装 Erlang,再安装 RabbitMQ。

1.1 安装 Erlang
  1. 下载 Erlang 安装包:

  2. 安装完成后,记住bin目录的位置,在环境变量的PATH中加上这个路径就好了,不用像JAVA一样弄一个JAVA_HOME,直接加上就好了,然后控制台上面输入:erl -version 检查是否成功:

    bash 复制代码
    erl -version

    如果显示版本号,说明安装成功。

1.2 安装 RabbitMQ
  1. 下载 RabbitMQ Windows 安装包:
  2. 运行安装程序,默认选项即可。
  3. 安装完成后,RabbitMQ 会作为 Windows 服务自动启动。
1.3 启用 RabbitMQ 管理界面

RabbitMQ 默认不带 Web 管理界面,需要手动启用(从这里开始,最好使用管理员身份运行cmd):

bash 复制代码
# 进入 RabbitMQ 安装目录(默认:C:\Program Files\RabbitMQ Server\rabbitmq_server-{version}\sbin)
cd "你安装的位置\sbin"

# 启用管理插件
rabbitmq-plugins enable rabbitmq_management

访问管理界面(访问不成功没关系,重启就好了):

  • 打开浏览器访问 http://localhost:15672
  • 默认用户名/密码:guest / guest
1.4 常用 RabbitMQ 命令
bash 复制代码
# 启动 RabbitMQ 服务(如果未自动启动)
net start RabbitMQ

# 停止 RabbitMQ 服务
net stop RabbitMQ

2. 在 Spring Boot 中使用 RabbitMQ

Spring Boot 提供了 spring-boot-starter-amqp 来简化 RabbitMQ 集成。

2.1 添加依赖

pom.xml 中添加:

xml 复制代码
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2.2 配置 RabbitMQ

application.yml 中配置:

yaml 复制代码
spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
    virtual-host: /  # 默认虚拟主机
2.3 发送消息(Producer)
java 复制代码
import org.springframework.amqp.core.Queue;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.context.annotation.Bean;
import org.springframework.stereotype.Component;

@Component
public class RabbitMQProducer {

    private final RabbitTemplate rabbitTemplate;

    public RabbitMQProducer(RabbitTemplate rabbitTemplate) {
        this.rabbitTemplate = rabbitTemplate;
    }

    // 定义队列
    @Bean
    public Queue myQueue() {
        return new Queue("myQueue", true); // true 表示持久化
    }

    // 发送消息
    public void sendMessage(String message) {
        rabbitTemplate.convertAndSend("myQueue", message);
        System.out.println("发送消息: " + message);
    }
}
2.4 接收消息(Consumer)
java 复制代码
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class RabbitMQConsumer {

    @RabbitListener(queues = "myQueue")
    public void receiveMessage(String message) {
        System.out.println("收到消息: " + message);
    }
}
2.5 测试

在 Controller 中测试:

java 复制代码
@RestController
public class TestController {

    private final RabbitMQProducer producer;

    public TestController(RabbitMQProducer producer) {
        this.producer = producer;
    }

    @GetMapping("/send")
    public String sendMessage(@RequestParam String msg) {
        producer.sendMessage(msg);
        return "消息已发送: " + msg;
    }
}

访问 http://localhost:8080/send?msg=HelloRabbitMQ,控制台会打印:

复制代码
发送消息: HelloRabbitMQ
收到消息: HelloRabbitMQ

现在你的 Spring Boot 应用已经可以生产和消费 RabbitMQ 消息了!

相关推荐
提笔惊蚂蚁5 小时前
终端VS命令解释器(Linux & Windows)
linux·运维·windows
昏睡红猹7 小时前
从0.99到1实现一个Windows上的虚拟hid键盘设备
windows·windows driver
码农小灰9 小时前
Kafka消息持久化机制全解析:存储原理与实战场景
java·分布式·kafka
曾经的三心草10 小时前
微服务的编程测评系统13-我的竞赛列表-elasticSearch
windows·微服务·架构
2501_9200470314 小时前
nginx-自制证书实现
运维·windows·nginx·https
农场主John15 小时前
(栈)Leetcode155最小栈+739每日温度
windows·python·算法·leetcode·
纪莫15 小时前
Kafka如何保证「消息不丢失」,「顺序传输」,「不重复消费」,以及为什么会发生重平衡(reblanace)
java·分布式·后端·中间件·kafka·队列
想躺平的咸鱼干15 小时前
RabbitMQ 基础
java·分布式·rabbitmq·idea·amqp·消息转换器·交换机模型
Monly2115 小时前
RabbitMQ:延时消息(死信交换机、延迟消息插件)
java·rabbitmq·java-rabbitmq