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 ...
最新文章
- pythonweb开发-一步步教你开始使用Python开发Web应用
- Spring与其他Web框架集成
- C++ Primer 5th笔记(chap 11)关联容器操作
- PHP 底层的运行机制与原理
- Lab01:Xv6 and Unix utilities
- Android 绑定远程服务出现 Not Allowed to bind service
- c oracle 32位64位,64位与32位编程的数据类型区别(C/C++)
- 18年5年制计算机辅助考试题,2018年自考《计算机辅助教育》试题二
- LeetCode 60. 第k个排列(python、c++)
- 冠军奖 3 万元!CSDN×易观算法大赛火热进行中
- devstack mysql_devstack 安装openstack newton版
- Java基础枚举(enum关键字)
- linux系统下安装flash player插件下载安装,Linux16.0.4下安装Adobe Flash Player插件(Firefox)...
- 何种情况下可以在征信报告中添加个人声明?
- 如何提升自己的网站打开速度
- 0685-6.2.0-什么是Cloudera虚拟私有集群和SDX-续
- 使用BC进行数字信封操作
- 云原生架构下的微服务选型和演进
- 如何将Word文件转化为Latex文件:word-to-latex-2.56详解
- 一文读懂Codex:基于Cosmos的跨链DeFi平台