为了账号安全,请及时绑定邮箱和手机立即绑定

Spring Boot and RabbitMQ 初探

标签:
SpringBoot

概述

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

  • Docker 安装 RabbitMQ

  • Spring Boot and RabbitMQ demo

  • RabbitMQ 延迟队列

Docker 安装 RabbitMQ

第一步:拉取镜像


docker pull rabbitmq:management

第二步:启动


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

依赖


<dependency>

<groupId>org.springframework.boot</groupId>

<artifactId>spring-boot-starter-amqp</artifactId>

</dependency>

配置


spring:

rabbitmq:

host: localhost

port: 5672

username: admin

password: admin

virtual-host: my_vhost

配置

RabbitMQ Config

发送

send

接收

receive

测试

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

配置:

图片描述

发送

图片描述

接收消息:

图片描述

测试:

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
JAVA开发工程师
手记
粉丝
1.4万
获赞与收藏
707

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消