首页 / 知识
SpringBoot整合RabbitMQ五种常用模型
2023-04-11 16:20:00

1.SpringBoot整合RabbitMQ使用
1.引入依赖:
<!--引入与rabbitmq集成的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2.做配置 :application.yml
spring:
application:
name: rabbitmq-springboot
rabbitmq:
host: 192.168.231.141
port: 5672
username: ems
password: 123456
virtual-host: /ems
3.hello world
@SpringBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(SpringRunner.class)
@ComponentScan("com.liziyi")
// @EnableRabbit启用@RabbitListener
@EnableRabbit
public class TestRabbitMQ {
// 注入rabbitTemplate
@Autowired
private RabbitTemplate rabbitTemplate;
// hello world
@Test
public void test() {
rabbitTemplate.convertAndSend("hello","hello world");
}
}
// 被工厂扫描道
@Component
// 消费者(声明队列)
@RabbitListener(queuesToDeclare = @Queue("hello"))
public class HelloCustomer {
// 代表通过下面方法取消息
@RabbitHandler
public void receivel(String message) {
System.out.println("message = " + message);
}
}
但是最后执行了。在网页上没有见到新建的队列
4.work
@SpringBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(SpringRunner.class)
@ComponentScan("com.liziyi")
// @EnableRabbit启用@RabbitListener
@EnableRabbit
public class TestRabbitMQ {
// 注入rabbitTemplate
@Autowired
private RabbitTemplate rabbitTemplate;
// work
@Test
public void testWork() {
for (int i = 0; i < 10; i++) {
rabbitTemplate.convertAndSend("work","work模型"+i);
}
}
}
@Component
public class WorkCustomer {
@RabbitListener(queuesToDeclare = @Queue("work"))
public void receivel(String message) {
System.out.println("message1 =" +message);
}
@RabbitListener(queuesToDeclare = @Queue("work"))
public void receivel2(String message) {
System.out.println("message2 =" +message);
}
}
5.fanout
@SpringBootTest(classes = RabbitmqSpringbootApplication.class)
@RunWith(SpringRunner.class)
@ComponentScan("com.liziyi")
// @EnableRabbit启用@RabbitListener
@EnableRabbit
public class TestRabbitMQ {
// 注入rabbitTemplate
@Resource
private RabbitTemplate rabbitTemplate;
// fanout 广播
@Test
public void testFanout() {
rabbitTemplate.convertAndSend("logs","","fanout模型");
}
|
最新内容
相关内容
python列表有哪些常用方法?
python列表有哪些常用方法?,位置,方法,培训,列表,语法,元素,示例,对象,以上,参数,列表是最常用的Python数据类型,它可以作为一个方括号内的逗python通常用做什么
python通常用做什么,软件,网站,设计,培训,工作,游戏,框架,模式,科学,星球大战,python的作用:web开发框架:django是流行的web开发框架,使用优雅的pythonOSI七层模型是什么
pythonOSI七层模型是什么,数据,标准,地址,设备,服务,运输,系统,通信,基础,检测,python中OSI七层模型是什么说明1、七层模型,亦称OSI。2、参考python字符串常用方法有哪些
python字符串常用方法有哪些,培训,字符串,空白,方法,两侧,左侧,右侧,实例,以上,教程,python字符串常用方法有哪些1、说明lower将字符串转换成关于范例:您是否使用MDA / MDD / MD
关于范例:您是否使用MDA / MDD / MDSD,任何一种模型驱动的方法? 会是未来吗?,关于范例:您是否使用MDA / MDD / MDSD,任何一种模型驱动的是否可以整合Visual Studio 2008 S
是否可以整合Visual Studio 2008 SP1安装?,是否可以整合Visual Studio 2008 SP1安装?,软件包,据我,传统,Studio,Is it possible to sli常用的DIV+CSS的命名规则集合
常用的DIV+CSS的命名规则集合,常用的,常,用的,DIV+CSS,的,命名,规则,集合,,上面是目前风行的CSS+DIV的定名划定规矩:页头:header登录常用HTML标签元素结合及简介
常用HTML标签元素结合及简介,常用,HTML,标签,元素,结合,及,简介,html,创设,,<html></html> 创设一个HTML文档<head></head> 配置文Web框架之Django_06 模型层了解(F查
Web框架之Django_06 模型层了解(F查询、Q查询、…,Web,框架,之,Django,模型,层,了解,查询,、,…,, 摘要: F查询 Q查询 事nodejs的npm常用命令集合
nodejs的npm常用命令集合,nodejs,的,npm,常用,命令,集合,NPM,提供,了,很多,, NPM提供了很多命令,例如install和publish,使用npmhelhtml的盒模型详解
html的盒模型详解,html,的,盒,模型,详解,1.1.盒,的,内容区,尺寸,, 1.1.盒的内容区的尺寸—contentwidth和contentheight&mdCSS1与CSS2的常用属性
CSS1与CSS2的常用属性,CSS1,与,CSS2,的,常用,属性,background,在,一个,, background在一个声明中设置所有的背景属性。 backg