这里使用一个最简单的模式,一个生产者内容被消费一次

配置类 在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相关推荐

  1. RabbitMq 虚拟主机 virtual-host ,Springboot 中使用 RabbitMq 虚拟主机 virtual-host

    文章目录 RabbitMq 虚拟主机 virtual-host ,Springboot 中使用 RabbitMq 虚拟主机 virtual-host 1.在RabbitMQ 控制台中创建虚拟主机 2. ...

  2. 【SpringBoot】43、SpringBoot中整合RabbitMQ实现延时队列(延时插件篇)

    死信队列实现篇,参考文章:[SpringBoot]60.SpringBoot中整合RabbitMQ实现延时队列(死信队列篇) 一.介绍 1.什么是延时队列? 延时队列即就是放置在该队列里面的消息是不需 ...

  3. SpringBoot之使用RabbitMQ实现延迟队列

    在我们的各个项目中,经常会有这样的需求. 订单模块:在订单下单后30分钟如果没有付款,就自动取消订单, 短信模块:在下单成功后60s给用户发送短信通知 支付模块:在微信/支付宝支付成功后,1分钟后去调 ...

  4. rabbitMQ在springboot中的使用

    1.建立springboot项目,并引入依赖 打开idea,点击File-New-Project,选择下图红色框中的 点击Next,出现下图,可以改名,也可以不改,我的是改了名字的 然后点击下一步,在 ...

  5. RabbitMq学习笔记002---RabbitMq在SpringBoot中的应用_配置_使用_并且设置优先级

    JAVA技术交流QQ群:170933152 首先新建一个SpringBoot的工程,空的就可以: 可以用idea 也可以用eclipse,也可以用sts,这类工具都可以 E:\StsWorkSpace ...

  6. (RabbitMQ 二)Springboot项目中使用RabbitMQ的相关依赖

    (RabbitMQ 二)Springboot项目中使用RabbitMQ的相关依赖 RabbitMQ系列文章如下: (RabbitMQ 一[转载])windows10环境下的RabbitMQ安装步骤 h ...

  7. rabbitmq的启动命令和springboot整合使用rabbitmq

    环境:windows 安装erlang和rabbitmq的过程这里不多说,记得两个的版本要对应. 1.启动rabbitmq: 进入sbin目录: 其中可能报错: 则需要终止已经开始的进程(可能是之前启 ...

  8. SpringBoot连接多RabbitMQ源

    转自: SpringBoot连接多RabbitMQ源 - 掘金在实际开发中,很多场景需要异步处理,这时就需要用到RabbitMQ,而且随着场景的增多程序可能需要连接多个RabbitMQ.SpringB ...

  9. SpringBoot中使用异步方法优化Service逻辑,提高接口响应速度

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/weixin_43441509/ article/details/119855613 1. 为什么需要异步方法? 先说结论: 合 ...

最新文章

  1. Swift学习: 从Objective-C到Swift
  2. BZOJ 4025 二分图
  3. nginx 配置文件解释及优化安全
  4. javascript 比量str今天的日期是,参数diff
  5. [芯片] 2、接口技术·实验二·定时/计数器8253
  6. 广东中山一楼盘在平台直播卖房 4小时售出600套
  7. Spark Structured Kudu : RejectedExecutionException: Worker has already been shutdown
  8. 惠普打印机136w硒鼓芯片怎么清零_惠普136w打印机怎么清零
  9. 人类记忆系统之谜,或许是这样一回事
  10. c语言报告收获,c语言学习心得体会(最新整理)
  11. 关于:昨天H - 康托展开题目的探究。
  12. 激光雷达与深度相机对比——以RS-LIDAR-16和Realsense D455为例
  13. C++基础之运算符重载
  14. python爬取网易云某一歌手的音乐评论
  15. SXOI2018 游记
  16. VFP,从入门到放弃
  17. mysql 调用方差函数_MYSQL基本常用函数
  18. Shell基础知识及字符处理
  19. Financial Vocabulary
  20. 医疗器械实验室设计基本要求SICOLAB

热门文章

  1. 拒绝conda, 用virtualenv构建多版本的python开发环境
  2. R语言ggplot2可视化NHANES数据集年龄和身高的关系并按照性别因子分析男性和女性的差异
  3. Seaborn使用violinplot函数可视化多分组小提琴图(violin plot)、每个小提琴图内部包含两个分组、使用inner函数设置在小提琴图中使用虚线显示分位数位置
  4. R语言merge函数全连接dataframe数据(Full (outer) join)、merge函数进行全连接必须将参数all设置为true(all=TRUE)、默认merge函数通过公共列名合并数
  5. R语言使用ggplot2可视化堆叠条形图,并在堆叠条形图上显示数据值实战
  6. R语言PCA主成分分析(Principle Component Analysis)实战2
  7. 乔布斯+斯坦福演讲+Stay Hungry. Stay Foolish.
  8. 什么是类别不平衡?有哪些解决方案?
  9. 影像组学视频学习笔记(18)-使用MRIcroGL软件格式转换、勾画ROI、Li‘s have a solution and plan.
  10. 结构风险和经验风险是什么?怎么去平衡它们?