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 消息了!

相关推荐
蒋星熠14 小时前
中间件架构设计与实践:构建高性能分布式系统的核心基石
开发语言·数据库·分布式·python·中间件·性能优化·硬件工程
iReachers15 小时前
.NET 单文件程序详解:从原理到实践
windows·microsoft·.net
在未来等你18 小时前
Elasticsearch面试精讲 Day 13:索引生命周期管理ILM
大数据·分布式·elasticsearch·搜索引擎·面试
默默无名的大学生1 天前
数据结构—顺序表
数据结构·windows
湖南馒头1 天前
【Win11 启动项BCD文件修复教程】
windows·系统恢复·win1
roman_日积跬步-终至千里1 天前
【系统架构设计(24)】大型网站系统架构演化:从单体到分布式的技术进阶之路
分布式·系统架构
Luminbox紫创测控1 天前
稳态太阳光模拟器 | 多源分布式设计的要点有哪些?
分布式
帅得不敢出门1 天前
macOS苹果电脑运行向日葵远程控制软件闪退
windows·macos·远程控制·向日葵
索迪迈科技1 天前
记一次 .NET 某中医药附属医院门诊系统 崩溃分析
windows·c#·.net·windbg
十八旬1 天前
苍穹外卖项目实战(day7-2)-购物车操作功能完善-记录实战教程、问题的解决方法以及完整代码
java·开发语言·windows·spring boot·mysql