SpringBoot中使用rabbitmq
这里使用一个最简单的模式,一个生产者内容被消费一次
配置类 在rabbitmq web管理界面可以看到OPERATERECORD_QUEUE 这个变量里面的名称
OperateRecordRabbitConfig.java
package com.meeno.inner.oa.common.rabbit.operaterecord;import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @description: 操作记录rabbit配置* @author: Wzq* @create: 2020-04-09 20:25*/
@Configuration
public class OperateRecordRabbitConfig {public static final String OPERATERECORD_QUEUE = "operateRecordQueue";@Beanpublic Queue miaoShaQueue(){//创建队列return new Queue(OPERATERECORD_QUEUE,true);}
}
生产者
OperateRecordProduce.java
package com.meeno.inner.oa.common.rabbit.operaterecord;import com.meeno.inner.oa.extend.operaterecord.service.model.OperateRecordModel;
import lombok.extern.java.Log;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;import java.util.List;/*** @description: 操作记录生产者* @author: Wzq* @create: 2020-04-09 20:13*/
@Component
@Log
public class OperateRecordProduce {@Autowiredprivate RabbitTemplate rabbitTemplate;public void sendOperaterecord(List<OperateRecordModel> list){if(!CollectionUtils.isEmpty(list)){log.info("Produce - > OperateRecordModel : " + list.toString());this.rabbitTemplate.convertAndSend(OperateRecordRabbitConfig.OPERATERECORD_QUEUE, list);}}}
消费者
OperateRecordConsumer.java
package com.meeno.inner.oa.common.rabbit.operaterecord;import com.meeno.inner.oa.extend.operaterecord.service.OperateRecordService;
import com.meeno.inner.oa.extend.operaterecord.service.model.OperateRecordModel;
import lombok.extern.java.Log;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.List;/*** @description: 操作记录消费者* @author: Wzq* @create: 2020-04-09 20:15*/
@Component
@RabbitListener(queues = "operateRecordQueue")
@Log
public class OperateRecordConsumer {@Autowiredprivate OperateRecordService operateRecordService;@RabbitHandlerpublic void process(List<OperateRecordModel> list) {log.info("Consumer - > OperateRecordModel : " + list.toString());this.operateRecordService.addAll(list);}}
SpringBoot中使用rabbitmq相关推荐
- RabbitMq 虚拟主机 virtual-host ,Springboot 中使用 RabbitMq 虚拟主机 virtual-host
文章目录 RabbitMq 虚拟主机 virtual-host ,Springboot 中使用 RabbitMq 虚拟主机 virtual-host 1.在RabbitMQ 控制台中创建虚拟主机 2. ...
- 【SpringBoot】43、SpringBoot中整合RabbitMQ实现延时队列(延时插件篇)
死信队列实现篇,参考文章:[SpringBoot]60.SpringBoot中整合RabbitMQ实现延时队列(死信队列篇) 一.介绍 1.什么是延时队列? 延时队列即就是放置在该队列里面的消息是不需 ...
- SpringBoot之使用RabbitMQ实现延迟队列
在我们的各个项目中,经常会有这样的需求. 订单模块:在订单下单后30分钟如果没有付款,就自动取消订单, 短信模块:在下单成功后60s给用户发送短信通知 支付模块:在微信/支付宝支付成功后,1分钟后去调 ...
- rabbitMQ在springboot中的使用
1.建立springboot项目,并引入依赖 打开idea,点击File-New-Project,选择下图红色框中的 点击Next,出现下图,可以改名,也可以不改,我的是改了名字的 然后点击下一步,在 ...
- RabbitMq学习笔记002---RabbitMq在SpringBoot中的应用_配置_使用_并且设置优先级
JAVA技术交流QQ群:170933152 首先新建一个SpringBoot的工程,空的就可以: 可以用idea 也可以用eclipse,也可以用sts,这类工具都可以 E:\StsWorkSpace ...
- (RabbitMQ 二)Springboot项目中使用RabbitMQ的相关依赖
(RabbitMQ 二)Springboot项目中使用RabbitMQ的相关依赖 RabbitMQ系列文章如下: (RabbitMQ 一[转载])windows10环境下的RabbitMQ安装步骤 h ...
- rabbitmq的启动命令和springboot整合使用rabbitmq
环境:windows 安装erlang和rabbitmq的过程这里不多说,记得两个的版本要对应. 1.启动rabbitmq: 进入sbin目录: 其中可能报错: 则需要终止已经开始的进程(可能是之前启 ...
- SpringBoot连接多RabbitMQ源
转自: SpringBoot连接多RabbitMQ源 - 掘金在实际开发中,很多场景需要异步处理,这时就需要用到RabbitMQ,而且随着场景的增多程序可能需要连接多个RabbitMQ.SpringB ...
- SpringBoot中使用异步方法优化Service逻辑,提高接口响应速度
点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_43441509/ article/details/119855613 1. 为什么需要异步方法? 先说结论: 合 ...
最新文章
- Swift学习: 从Objective-C到Swift
- BZOJ 4025 二分图
- nginx 配置文件解释及优化安全
- javascript 比量str今天的日期是,参数diff
- [芯片] 2、接口技术·实验二·定时/计数器8253
- 广东中山一楼盘在平台直播卖房 4小时售出600套
- Spark Structured Kudu : RejectedExecutionException: Worker has already been shutdown
- 惠普打印机136w硒鼓芯片怎么清零_惠普136w打印机怎么清零
- 人类记忆系统之谜,或许是这样一回事
- c语言报告收获,c语言学习心得体会(最新整理)
- 关于:昨天H - 康托展开题目的探究。
- 激光雷达与深度相机对比——以RS-LIDAR-16和Realsense D455为例
- C++基础之运算符重载
- python爬取网易云某一歌手的音乐评论
- SXOI2018 游记
- VFP,从入门到放弃
- mysql 调用方差函数_MYSQL基本常用函数
- Shell基础知识及字符处理
- Financial Vocabulary
- 医疗器械实验室设计基本要求SICOLAB
热门文章
- 拒绝conda, 用virtualenv构建多版本的python开发环境
- R语言ggplot2可视化NHANES数据集年龄和身高的关系并按照性别因子分析男性和女性的差异
- Seaborn使用violinplot函数可视化多分组小提琴图(violin plot)、每个小提琴图内部包含两个分组、使用inner函数设置在小提琴图中使用虚线显示分位数位置
- R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
- R语言使用ggplot2可视化堆叠条形图,并在堆叠条形图上显示数据值实战
- R语言PCA主成分分析(Principle Component Analysis)实战2
- 乔布斯+斯坦福演讲+Stay Hungry. Stay Foolish.
- 什么是类别不平衡?有哪些解决方案?
- 影像组学视频学习笔记(18)-使用MRIcroGL软件格式转换、勾画ROI、Li‘s have a solution and plan.
- 结构风险和经验风险是什么?怎么去平衡它们?