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

相关推荐
非凡ghost1 分钟前
FlexiPDF(专业PDF编辑软件)
windows·学习·pdf·软件需求
习惯就好zz7 分钟前
Godot GDExtension 4.5 windows编译记录
windows·godot·cpp·gdextension
hh.h.7 分钟前
Flutter与鸿蒙实现分布式设备搜索(含类型识别与在线状态标注)
分布式·flutter·harmonyos
晓源よ10 分钟前
Vxlan集中式分布式网关详解与实验
分布式
编织幻境的妖16 分钟前
Hadoop核心组件及其作用概述
大数据·hadoop·分布式
17 分钟前
TIDB——TIDB Server
数据库·分布式·tidb
武子康26 分钟前
Java-197 消息队列应用场景:缓存预热+限流排队+Redis Lua 扣库存+MQ 削峰填谷
java·redis·缓存·性能优化·消息队列·rabbitmq·java-rabbitmq
驾驭人生1 小时前
RabbitMQ 封装,基于原生 RabbitMQ.Client 实现
分布式·rabbitmq
陈小于14 小时前
windows(x86-x64)下编译JCEF
windows
网络研究院15 小时前
Firefox 146 为 Windows 用户引入了加密本地备份功能
前端·windows·firefox