springboot 项目 运行rabbitmq(推送+消费)
准备
先下载windos版本的mq
「rabbitmq-server-3.9.13.exe」https://www.aliyundrive.com/s/VKB63ghAJZx
1启动rabbitmq
双击
如果出现端口占用的情况,进行以下操作
右键->停止
账号密码默认:
guest
这里我是用新添加的admin账号,注意要给管理员权限
生产者
2添加依赖
在项目中添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
3配置连接
配置rabbitmq的连接
rabbitmq:
host: 192.168.126.17
port: 5672
username: admin
password: admin
4创建队列
@Configuration
public class RabbitMQConfig {
//新建一个用来封装队列参数的对象,放入spring容器 //rabbitmq自动配置类会发现这个对象,使用其中的参数 //来创建队列
@Bean(name = "orderQueue")
public Queue orderQueue(){
return new Queue("orderQueue");
} }
5生产订单
在OrderServiceImpl中注入RabbitAutoConfigtion配置类AmqpTemplate
@Service
public class OrderServiceImpl implements OrderService { @Resource
private AmqpTemplate amqpTemplate;
@Override
public void demo2() {
String s = "测试demo2";
amqpTemplate.convertAndSend("orderQueue",s);
} }
可以看到rabbitmq上存了一条消息
消费者
6创建消费者
在消费者系统中同样添加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
添加配置信息
rabbitmq:
host: 192.168.126.17
port: 5672
username: admin
password: admin
创建消费者类
/**
* 基础配置 1.依赖,2.连接,3.队列
*
*
*消费者从orderQueue接收订单,
* 调用业务代码,完成订单存储
*/
@RabbitListener(queues = "orderQueue")
@Component
public class OrderComsumer { @Autowired
private OrderService orderService; @RabbitHandler //配合RabbitListener,指定处理消息的方法
public void receive(PdOrder order) throws Exception {
System.out.println("订单已存储,id="+order.getOrderId());
}
}
启动项目就可以把存在rabbitMQ中的订单给消费掉

springboot 项目 运行rabbitmq(推送+消费)的更多相关文章
- 两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库
两种github action 打包.Net Core 项目docker镜像推送到阿里云镜像仓库 1.GitHub Actions 是什么? 大家知道,持续集成由很多操作组成,比如抓取代码.运行测试. ...
- 新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo
新建SpringBoot项目运行页面报错Whitelabel Error Page This application has no explicit mapping for /error, so yo ...
- springboot实现服务器端消息推送(H5原生支持)
随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览器与服务器的全双工通信,扩展了浏览器与服务端的通信功 ...
- springboot实现服务器端消息推送(websocket + sockjs + stomp)
服务器端推送技术在web开发中比较常用,可能早期很多人的解决方案是采用ajax向服务器轮询消息,这种方式的轮询频率不好控制,所以大大增加了服务器的压力,后来有了下面的方案:当客户端向服务器发送请求时, ...
- JAVA多线程(四) Executor并发框架向RabbitMQ推送消息
github代码地址: https://github.com/showkawa/springBoot_2017/tree/master/spb-demo/spb-brian-query-service ...
- RedMine项目管理系统邮件推送设置(Windows环境)
RedMine项目管理系统有邮箱推送功能,当Bug,安全漏洞等内容被修改.解决.评论的时候,系统会通过邮件 及时的通知你的团队和客户.邮件通知的环节.形式.时间.接受人均可定制,功能十分实用. 下面是 ...
- 使用外部容器运行spring-boot项目:不使用spring-boot内置容器让spring-boot项目运行在外部tomcat容器中
前言:本项目基于maven构建 spring-boot项目可以快速构建web应用,其内置的tomcat容器也十分方便我们的测试运行: spring-boot项目需要部署在外部容器中的时候,spring ...
- SpringBoot 项目运行在 tomcat7 上
SpringBoot 项目如何打成 war 包 SpringBoot项目的默认打包方式是将工程打包成为一个 jar 包.部分情况下,我们需要将项目打包成一个 war 包,以方便我们将工程部署在 tom ...
- 【SpringBoot】服务器端主动推送SSE技术讲解
=====================16.高级篇幅之SpringBoot2.0服务器端主动推送SSE技术讲解 ============================ 1.服务端推送常用技术介绍 ...
随机推荐
- Qt QComboBox之setEditable和currentTextChanged及其源码分析
目录 Qt QComboBox之setEditable和currentTextChanged以及其源码分析 前言 问题的出现 问题分析 currentTextChanged信号触发 源码分析 Qt Q ...
- Power App门户
1.创建门户 在powerapp应用中添加新应用选择:门户. 填写名称和地址,地址写完后会检测可用,创建会等待几分钟. 2.门户组件 节,容器分为1.2.3列 1.文本:可编辑字体 2.图像:可选择连 ...
- python版本共存与语法的注释
python的多种版本共存 首先还是先下载python解释器除最高版本的另外两个版本 个人推荐的是 3.6.8和2.7.14 首先我电脑是win7系统 在计算机属性右键点开高级设置点击环境变量 将下载 ...
- java_抽象类和接口
1.抽象类: 1.抽象类之所以被称为抽象类,就是因为它包含有抽象方法,只要含有抽象方法的类就叫抽象类. 2.抽象类中可以没有抽象方法,也可以抽象方法和非抽象方法共存. 3.抽象类和类一样是单继承的. ...
- Problem N: 输出回字形
这个题如果用for循环直接做的话恐怕得做上几个小时吧,加上一点小技巧,用坐标法来写这个题.就像下面这样: 坐标原点不在矩形的角上,而在矩形的中心处,这只是算是一个技巧,理解起来好理解而已.
- JS/TS项目里的Module都是什么?
摘要:在日常进行JS/TS项目开发的时候,经常会遇到require某个依赖和module.exports来定义某个函数的情况.就很好奇Modules都代表什么和有什么作用呢. 本文分享自华为云社区&l ...
- 2021.11.16 P2375 [NOI2014] 动物园(EXKMP+差分)
2021.11.16 P2375 [NOI2014] 动物园(EXKMP+差分) https://www.luogu.com.cn/problem/P2375 题意: PS:这道神题的背景让人疑惑,重 ...
- CSS一个较为完整的页面布局_可以根据页面屏幕大小调整布局
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="U ...
- TF-IDF笔记(直接调用函数、手写)
首先TF-IDF 全称:term frequency–inverse document frequency,是一种用于信息检索与数据挖掘的常用加权技术. TF是词频(Term Frequency),I ...
- java中的stream是啥?
函数式编程的执行是惰性的,按顺序真正执行的时候才会执行相应的代码.方法: 函数式编程是安全的,用的是monad架构 1 public class StreamTest { 2 3 public sta ...