Skip to content

9.2.1 Thêm RabbitMQ vào Spring

Trước khi bạn có thể bắt đầu gửi và nhận các tin nhắn RabbitMQ với Spring, bạn cần thêm dependency AMQP starter của Spring Boot vào build của bạn, thay thế cho Artemis hoặc ActiveMQ starter mà bạn đã thêm ở phần trước, như được minh họa dưới đây:

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

Việc thêm AMQP starter vào build sẽ kích hoạt autoconfiguration để tạo ra một AMQP connection factory và các bean RabbitTemplate, cùng với các thành phần hỗ trợ khác. Chỉ cần thêm dependency này là đủ để bạn bắt đầu gửi và nhận tin nhắn từ một RabbitMQ broker bằng Spring. Tuy nhiên, có một số thuộc tính hữu ích mà bạn sẽ muốn biết, được liệt kê trong bảng 9.4.

Trong môi trường phát triển, có thể bạn sẽ có một RabbitMQ broker không yêu cầu xác thực đang chạy trên máy cục bộ, lắng nghe trên cổng 5672. Những thuộc tính này có thể sẽ không được sử dụng nhiều trong giai đoạn phát triển, nhưng chắc chắn sẽ rất hữu ích khi ứng dụng của bạn chuyển sang môi trường production.

Bảng 9.4 Các thuộc tính để cấu hình vị trí và thông tin xác thực của RabbitMQ broker

PropertyDescription
spring.rabbitmq.addressesA comma-separated list of RabbitMQ broker addresses
spring.rabbitmq.hostThe broker’s host (defaults to localhost)
spring.rabbitmq.portThe broker’s port (defaults to 5672)
spring.rabbitmq.usernameThe username for accessing the broker (optional)
spring.rabbitmq.passwordThe password for accessing the broker (optional)

CHẠY MỘT RABBITMQ BROKER

Nếu bạn chưa có một RabbitMQ broker để sử dụng, bạn có một số tùy chọn để chạy RabbitMQ trên máy cục bộ. Xem tài liệu chính thức của RabbitMQ tại https://www.rabbitmq.com/download.html để biết hướng dẫn mới nhất về cách chạy RabbitMQ.

Ví dụ, giả sử rằng khi bạn chuyển sang môi trường production, RabbitMQ broker của bạn được đặt trên một máy chủ có tên là rabbit.tacocloud.com, lắng nghe trên cổng 5673 và yêu cầu thông tin xác thực. Trong trường hợp đó, cấu hình sau trong file application.yml của bạn sẽ thiết lập các thuộc tính này khi profile prod được kích hoạt:

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

Giờ đây khi RabbitMQ đã được cấu hình trong ứng dụng của bạn, đã đến lúc bắt đầu gửi tin nhắn với RabbitTemplate.

Released under the MIT License.