前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot and RabbitMQ 初探

Spring Boot and RabbitMQ 初探

原创
作者头像
冯文议
发布2022-08-21 18:39:27
2660
发布2022-08-21 18:39:27
举报
文章被收录于专栏:编程笔记编程笔记

概述

今天给大家分享以下三部分内容:

  • Docker 安装 RabbitMQ
  • Spring Boot and RabbitMQ demo
  • RabbitMQ 延迟队列

Docker 安装 RabbitMQ

第一步:拉取镜像

代码语言:shell
复制
docker pull rabbitmq:management

第二步:启动

代码语言:shell
复制
docker run -d \
--name rabbitmq \
-p 5672:5672 \
-p 15672:15672 \
-v /data/rabbitmq:/var/lib/rabbitmq \
--hostname myRabbit \
-e RABBITMQ_DEFAULT_VHOST=my_vhost \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:management

说明:

-d 后台运行容器;

--name 指定容器名;

-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);

-v 映射目录或文件;

--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);

-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;RABBITMQ_DEFAULT_PASS:默认用户名的密码)

Spring Boot and RabbitMQ demo

依赖

代码语言:html
复制
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

配置

代码语言:yaml
复制
spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: admin
    password: admin
    virtual-host: my_vhost

配置

RabbitMQ Config
RabbitMQ Config

发送

send
send

接收

receive
receive

测试

GET http://localhost:8080/sendMsg?key=item.test&msg=Hello

RabbitMQ 延迟队列

首先来看一个错:

channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no

原因是,延迟队列是 RabbitMQ 的一个插件,默认没有安装,需要安装。

相关链接:

安装插件:

  • 1.下载延迟队列插件
  • 2.将插件复制到 RabbitMQ 的 /plugins 目录下。拷贝方法:docker cp rabbitmq_delayed_message_exchange-3.10.2.ez containerId:/plugins
  • 3.执行,在 /plugins 目录下执行:rabbitmq-plugins enable rabbitmq_delayed_message_exchange
  • 4.重启 RabbitMQ

配置:

delay config
delay config

发送

delay send
delay send

接收消息:

delay receive
delay receive

测试:

GET http://localhost:8080/sendDelayMsg/10000/iPhone13

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 概述
  • Docker 安装 RabbitMQ
  • Spring Boot and RabbitMQ demo
  • RabbitMQ 延迟队列
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档