String boot 整合rabbitMQ
引入依赖
引入依赖之后,配置文件写完,spring 就帮我们注入了,RabbitTemplate
spring: application: name: rabbitmq_namerabbitmq:host: 主机地址port: 端口号username: 账号password: 密码virtual-hoat: 虚拟主机地址
RabbitTemplate 用来简化操作,使用时直接注入,在spring跟mq服务器建立配置文件之后会自动实例化,模板对象
队列模型 点对点
生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void test(){// rountingKye,ObjectrabbitTemplate.convertAndSend("hello","body消息");}
}
消费者
01:-------------
@Component// 加上这个注解,告诉spring它是一个消费者
// 参数 queuesToDeclare 表示监听哪个队列,如果没有,就创建/其他参数请看:01
@RabbitListener(queuesToDeclare = @Queue("hello"))
public class HelloCustomer{@RabbitHandlerpublic void n(String message){System,out.pring(mess)}
}
队列模型,1对多
二:
生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void test(){// rountingKye,ObjectrabbitTemplate.convertAndSend("worl","worl消息");}
}
消费者
@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(queuesToDeclare = @Queue("work"))public void n(String message){System,out.pring(mess)}// 监听同一个,轮询执行,平均分// 可以监听多个@RabbitListener(queuesToDeclare = @Queue("work"))public void n(String message){System,out.pring(mess)}
}
交换机模型 广播
生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void test(){// 交换机 rountingKye,ObjectrabbitTemplate.convertAndSend("worl","","worl消息");}
}
消费者
@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(bindings={@QueuBinding(//声明指定名称,不声明,创建临时队列@Queue("work") value = @Queue, //临时队列exchange=@Exchange(value = "work", type = "fanout") //绑定交换机)})public void test (String message){System,out.pring(mess)}
}
路由key
生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void test(){// 交换机 rountingKye,ObjectrabbitTemplate.convertAndSend("work","work01","worl消息");}
}
消费者
@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(bindings={@QueuBinding(//声明指定名称,不声明,创建临时队列@Queue("work") value = @Queue, //临时队列exchange=@Exchange(value = "work", type = "direct") //自定义交换机名称和类型key = {"info","work01"})})public void test (String message){System,out.pring(mess)}
}
动态路由。订阅模式
生产者
@springBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(StringRunner.class) //spirng 工厂
public class Test{@Autowiredprivate RabbitTemplate rabbitTemplate;// 生产者不会自动创建队列@Testpublic void test(){// 交换机 rountingKye,ObjectrabbitTemplate.convertAndSend("work","work.work","worl消息");}
}
消费者
@Component
public class HelloCustomer{//不用rabbitHandler 可以直接用RabbitListener 监听 @RabbitListener(bindings={@QueuBinding(//声明指定名称,不声明,创建临时队列@Queue("work") value = @Queue, //临时队列exchange=@Exchange(value = "work", type = "direct") //自定义交换机名称和类型key = {"info","work01.*,work01.#"})})public void test (String message){System,out.pring(mess)}
}
String boot 整合rabbitMQ相关推荐
- 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: Spring Boot 整合 RabbitMQ
前言 RabbitMQ 是一个消息队列,说到消息队列,大家可能多多少少有听过,它主要的功能是用来实现应用服务的异步与解耦,同时也能起到削峰填谷.消息分发的作用. 消息队列在比较主要的一个作用是用来做应 ...
- rabbitmq fanout java_spring boot整合RabbitMQ实例详解(Fanout模式)
1.Fanout Exchange介绍 Fanout Exchange 消息广播的模式,不管路由键或者是路由模式,会把消息发给绑定给它的全部队列,如果配置了routing_key会被忽略. 如上图所示 ...
- cSpring Boot整合RabbitMQ详细教程
来自:https://blog.csdn.net/qq_38455201/article/details/80308771 十分详细,几张图片不显示,看这个地址 1.首先我们简单了解一下消息中间件的应 ...
- 【消息中间件】Spring Boot整合RabbitMQ
简介 在Spring项目中,可以使用Spring-Rabbit去操作RabbitMQ 尤其是在spring boot项目中只需要引入对应的amqp启动器依赖即可,方便的使用RabbitTemplate ...
- Spring boot整合rabbitmq
一.生产者 1.pom.xml <properties><maven.compiler.source>8</maven.compiler.source><ma ...
- rabbitmq fanout java_spring boot整合RabbitMQ(Fanout模式)
1.Fanout Exchange介绍 Fanout Exchange 消息广播的模式,不管路由键或者是路由模式,会把消息发给绑定给它的全部队列,如果配置了routing_key会被忽略. 如上图所示 ...
- RabbitMQ使用及与spring boot整合
1.MQ 消息队列(Message Queue,简称MQ)--应用程序和应用程序之间的通信方法 应用:不同进程Process/线程Thread之间通信 比较流行的中间件: ActiveMQ Rabbi ...
最新文章
- change事件判断ajax,jquery中change事件里面if语句失效
- Oracle数据库之多表查询
- (十一)深入浅出TCPIP之TCP粘包问题
- 牛人学习h264运动估计的方法
- 简单理解JSONP的定义及其实现
- C/C++多种方法获取文件大小(转)
- PHP笔记-PHP中Web Service.
- (重磅)最快的Hadoop完全分布式运行
- 《硬核干货》简单好用视频、图片、文件MD5值修改工具类
- 五大主流浏览器内核以及国内常见的几种浏览器内核总结
- 大数据可视化期末复习
- UG NX二次开发 - CAM 获取和设置公差的方法,含内外公差、边界内外公差的设置方法
- PS如何制作火焰效果图特效步骤教程
- 抖音实战~实现App端视频上传、发布、落库
- 18年华为没有一项原创的发明
- 最新WordPress二次元博客主题Sakurairo模板源码+多彩且实用
- 如何用手机打印文件?手机中存储的文档怎么打印
- foter 图像处理APP_摄影师必备的图像编辑APP
- R语言笔记⑧——数据挖掘算法
- 【C语言初学必看】猜数字游戏背后的知识
热门文章
- 电商运营有前途吗?看看运营者的血泪史
- [luogu p1536] 村村通
- 血球分析医用仪器专用直流高压输出宽电压输入模块电源:GRB系列血液分析仪|血球分析仪专用GRB系列模块电源,采用先进的DC-DC转换升压技术和独特的真空绝缘灌封工艺,外壳采用金属屏蔽,具有防潮防震、效
- 如何在React工程中使用JavaScript Barcode SDK创建Web条形码应用
- xlabel 用法 matlab,matlab关于使用m语言设计gui设置xlabel出错
- 【AD】各类端子型号名称
- [ CTF ] WriteUp-2022 College Security Competition Byte Capture The Flag(字节跳动安全范儿高校挑战赛)
- python的格式化输入_一看就懂的Python输入和输出、格式化字符串方法
- OrientDB Python连接操作
- html+css+js实现的新年烟花