spring boot使用rabbitMq(一)基础篇
1. 引入rabbitMq
pom文件引入
<!-- RabbitMQ依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId><version>2.7.0</version></dependency>
2. 配置文件添加账号密码
spring:rabbitmq:host: 127.0.0.1port: 5672username: rootpassword: 123456
3. RabbitMq配置队列
package com.kofan.server.rabbitMq.config;import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author king*/
@Configuration
public class MqConfig {@Beanpublic Queue userQueue() {/*** name: 队列名称* durable: 是否持久化* exclusive: 是否私有化。如果设置为true,则只有创建者可以使用此队列。* autoDelete: 是否自动删除。临时队列,当最后一个消费者断开连接后,会自动删除。* */return new Queue("userQueue", true, false, false);}@Beanpublic Queue queue() {return new Queue("queue");}@Beanpublic DirectExchange rabbitmqDemoDirectExchange() {//Direct交换机return new DirectExchange("userExchange", true, false);}@Beanpublic Binding bindDirect() {//链式写法,绑定交换机和队列,并设置匹配键return BindingBuilder//绑定队列.bind(userQueue())//到交换机.to(rabbitmqDemoDirectExchange())// 设置匹配键指向Queue.withQueueName();// .with("userRouting");设置匹配键}
}
4. 消息生产者
package com.kofan.server.rabbitMq.component;import com.kofan.data.common.entity.User;
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;import java.util.Date;/*** @author king* 消息发送*/
@Component
public class MySender {@Autowiredprivate AmqpTemplate rabbitTemplate;public void sendPOJO() {User user = new User();user.setUserId("12345646");user.setUserName("123456");user.setRealName("张三");this.rabbitTemplate.convertAndSend("queue", user);}/*** send message in circle mode*/public void send() {String context = "hi, tom " + new Date();for (int i = 0; i < 10; i++) {context = context +" - "+ i;System.out.println(context);this.rabbitTemplate.convertAndSend("userQueue", context);}}
}
5. 消费者
package com.kofan.server.rabbitMq.component;import com.kofan.data.common.entity.User;
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;/*** @author king* 消息接收*/
@Component
public class MyReceiver {@RabbitHandler@RabbitListener(queues = "userQueue")public void process(String messages) {System.out.println("我接收信息来自userQueue");System.out.println("Receiver : " + messages);System.out.println("——————————————————————");}@RabbitHandler@RabbitListener(queues = "queue")public void process(User user) {System.out.println("我接收信息来自queue");System.out.println("Receiver : " + user);System.out.println("————————————————————");}
}
spring boot使用rabbitMq(一)基础篇相关推荐
- Spring Boot: Spring Boot 整合 RabbitMQ
前言 RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷.消息分发的作用. 消息队列在比较主要的一个作用是用来做应 ...
- Spring Boot (16)---优雅的入门篇
Spring Boot (16)---优雅的入门篇 Spring一直是很火的一个开源框架,在过去的一段时间里,Spring Boot在社区中热度一直很高,所以决定花时间来了解和学习,为自己做技术储备. ...
- spring boot整合RabbitMQ —— 十分钟急速上手
安装运行rabbitmq 1.docker安装rabbitmq: docker run -it --name rabbitmq -p 5672:5672 -p 15672:15672 rabbitmq ...
- Spring Boot 整合 RabbitMQ 实现
Spring Boot 整合 RabbitMQ 实现 1. 开发环境搭建 1.1 pom配置 1.2 application.yml配置 2. 消费者模块(springboot-rabbitmq-co ...
- Spring Boot Serverless 实战系列“部署篇” | Mall 应用
作者:西流 关注[Serverless]公众号,后台回复 "学习" 即可获得 Serverless 技术资源包! 导读: Spring Boot 是基于 Java Spring 框 ...
- Spring Boot Serverless 实战系列“架构篇” | 光速入门函数计算
作者 |:西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立运行的应用程序. 在云 ...
- Spring Boot Serverless 实战系列“架构篇” 首发 | 光速入门函数计算
简介:如何以 Serverless 的方式运行 Spring Boot 应用? 作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Sp ...
- Spring Boot Serverless 实战系列“架构篇”首发 | 光速入门函数计算
作者 | 西流(阿里云函数计算专家) Spring Boot 是基于 Java Spring 框架的套件,它预装了 Spring 一系列的组件,开发者只需要很少的配置即可创建独立运行的应用程序. ...
- Spring boot集成RabbitMQ(山东数漫江湖)
RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写 ...
- Spring boot集成RabbitMQ
####RabbitMQ简介 RabbitMQ是一个在AMQP基础上完整的,可复用的企业消息系统 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通 ...
最新文章
- 一款N-沟道耗尽型JFET晶体管 MPF102
- ISQL文件夹,目前唯一解决办法就是sa密码设置为复杂点的,开机密码设置成复杂点的。...
- torch 判断相等
- 一天教会三岁表弟HTML,你值得拥有
- GMQ集团推出全球创新型金融衍生品交易平台
- Java 开发常用类库和API
- 数据可视化黑科技!它比python强大20倍
- 一个老板向员工发的牢骚
- linux shell 字体颜色样板,BASH shell下设置字体及背景颜色
- 《Head First设计模式》中文版 读书笔记
- 谈谈从PC端到移动端的产品设计差异
- 北方大学 ACM 多校训练赛 第四场 题解
- 关于小程序网易云音乐接口用户登录,繁忙问题
- mysql存储用户昵称_mysql 微信用户昵称 emoji 完整保存 - 人人都是架构师
- 读书笔记《产品经理必懂的技术那些事儿》03-04
- 形式语义学-chapter 3 Attribute Grammars
- 读《人生的智慧》——叔本华
- nginx和gunicorn相关,反向代理和正向代理区别,静态资源和动态资源
- POJ2215 Parliament
- 程序员每天到底有多累?
热门文章
- bootstrap支付宝充值html,jQuery+Bootstrap手机端支付宝金额充值表单页面代码
- SOA推动电信服务走向融合应用
- ip地址与网络上的其他系统有冲突怎么解决
- 为什么要学会正确的提问?
- php开发支付宝支付密码忘记了怎么办_总忘记银行卡密码怎么办?2个办法教你轻松找回!...
- 数据挖掘实战分享:财政收入影响因素分析及预测(一)
- matplotlib部件(widgets)之套索选区(LassoSelector)
- 精选益智玩具推荐:Orchard Toys
- day6 (常用模块和面向对象基础)
- 简历面试择业篇-在面试的过程中你所需要注意的问题