rabbitmq的安装和使用-windows版本

发布于:2025-08-01 ⋅ 阅读:(21) ⋅ 点赞:(0)

首先! 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 检查是否成功:

    erl -version
    

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

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

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

# 进入 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 命令
# 启动 RabbitMQ 服务(如果未自动启动)
net start RabbitMQ

# 停止 RabbitMQ 服务
net stop RabbitMQ

2. 在 Spring Boot 中使用 RabbitMQ

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

2.1 添加依赖

pom.xml 中添加:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2.2 配置 RabbitMQ

application.yml 中配置:

spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
    virtual-host: /  # 默认虚拟主机
2.3 发送消息(Producer)
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)
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 中测试:

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


网站公告

今日签到

点亮在社区的每一天
去签到