9.2.1 添加 RabbitMQ 到 Spring 中

在开始使用 Spring 发送和接收 RabbitMQ 消息之前,需要将 Spring Boot 的 AMQP starter 依赖项添加到构建中,以取代在前一节中添加的 Artemis 或 ActiveMQ starter:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

将 AMQP starter 添加到构建中将触发自动配置,该配置将创建 AMQP 连接工厂和 RabbitTemplate bean,以及其他支持组件。只需添加此依赖项,就可以开始使用 Spring 从 RabbitMQ broker 发送和接收消息,表 9.4 中列出了一些有用的属性。

表 9.4 配置 RabbitMQ broker 的位置和凭据的属性

属性 描述
spring.rabbitmq.addresses 一个逗号分隔的 RabbitMQ Broker 地址列表
spring.rabbitmq.host Broker 主机(默认为 localhost)
spring.rabbitmq.port Broker 端口(默认为 5672)
spring.rabbitmq.username 访问 Broker 的用户名(可选)
spring.rabbitmq.password 访问 Broker 的密码(可选)

出于开发目的,可能有一个 RabbitMQ Broker,它不需要在本地机器上运行身份验证,监听端口 5672。当还在开发阶段时,这些属性可能不会有太大的用处,但是当应用程序进入生产环境时,它们无疑会很有用。

注意: 运行 RabbitMQ 代理。

如果您还没有 RabbitMQ 代理可以使用,那么有几种在本地计算机上运行 RabbitMQ 的选项。查阅官方 RabbitMQ 文档 https://www.rabbitmq.com/download.html,以获得运行 RabbitMQ 的最新说明。

例如,假设在进入生产环境时,RabbitMQ Broker 位于一个名为 rabbit.tacocloud.com 的服务器上,监听端口 5673,并需要凭据。在这种情况下,应用程序中的以下配置。当 prod 配置文件处于活动状态时,yml 文件将设置这些属性:

spring:
  profiles: prod
  rabbitmq:
    host: rabbit.tacocloud.com
    port: 5673
    username: tacoweb
    password: l3tm31n

现在 RabbitMQ 被配置到了应用程序中了,是时候使用 RabbitTemplate 发送消息了。

results matching ""

    No results matching ""