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.服务端推送常用技术介绍 ...
随机推荐
- python---单链表的常用操作
class Node(object): """结点""" def __init__(self, data): self.data = dat ...
- paramterType和resultType的区别
resultType是sql语句查询结果集的封装类型,也就是说把sql查询的结果封装在bean里返回回去,是存数据用的. paramType是从传过来的Bean中取数据放进例如insert语句的val ...
- MySQL发展历史
MySQL(发音为"my ess cue el")是一种关系型数据库管理系统, MySQL数据库管理系统由瑞典的DataKonsultAB公司研发,该公司被Sun公司收购,现在Su ...
- java数组算法——数组元素的赋值2
java数组算法--数组元素的赋值2--java经典面试题:创建一个长度为6的int型数组,要求数组元素的值都在1-30之间,且是随机赋值.同时要求元素时的值各不相同
- springboot读取配置文件赋值给静态变量
1.实现InitializingBean接口,重写afterPropertiesSet方法,将@Value赋值给成员变量的属性赋值给静态变量,示例如下: /** * @Classname FileUt ...
- 企业DevOps之路:Jenkins 流水线
1. Pipeline 概述 Pipeline 即流水线,是 jenkins2.X 的新特性,是 jenkins 官方推荐使用的持续集成方案.与传统的自由风格项目不同,它是通过 jenkins DSL ...
- Java第十五周作业
Cola公司的雇员分为以下若干类:(知识点:多态) [必做题]• 4.1 ColaEmployee :这是所有员工总的父类,属性:员工的姓名,员工的生日月份.方法:getSalary(int mont ...
- Photoshop图片处理在线网页使用无需下载绿色
今天给大家推荐一个ps在线版网页 实测使用效果不错,绿色简介,无需下载,不卡顿一般的电脑配置都可以带起来 因为是在线的所以是精简版的,但是一般ps软件有的工具,功能他都有,比较适合及时性使用 废话不多 ...
- 【openstack】红帽公开课笔记内容openstack
overcloud节点自省失败(introspection) 节点自省--获取overcloud
- jmeter脚本编写
jmeter脚本编写 一.http协议接口编写注意事项 1.请求体为json格式:一定要写请求头Content-Type:application/json 2.json格式文本 2.1 key-val ...