# springboot 集成 RabbitMQ -1
# RabbitMQTemplate
在 springboot 中,用的比较多是 rabbitMQTemplate。通过 rabbitMQTemplate 结合 spring 的 bean 管理,可以比较方便的进行开发。
# 1、导入依赖
<dependency> | |
<groupId>org.springframework.boot</groupId> | |
<artifactId>spring-boot-starter-amqp</artifactId> | |
</dependency> |
# 2、完善配置文件
spring.rabbitmq.host=127.0.0.1 | |
spring.rabbitmq.port=5673 | |
spring.rabbitmq.username=guest | |
spring.rabbitmq.password=guest |
以上几个配置参数是最基础的,基本上都会用到,注意端口和地址
# 3、rabbitMQ 管理界面配置
如果只是这样简单的配置,那么需要在 rabbitMQ 的管理界面中配置 Exchange、Binding、Queue,这样才能正常的推送消息。打开 rabbitMQ manage 的页面,默认的地址是 IP:15672 ,用户名和密码默认都是 guest
# 3.1 创建 Exchange
如图,在 Exchange 配置中,选择了创建了一个名叫 rabbit.test 的 exchange,并且指定类型为 topic 类型(可以根据实际情况进行修改和配置)
# 3.2 创建 Queue
这样,便创建了一个名叫 testque 的队列
# 3.3 Binding
选择刚才创建的 Exchange,点击进入,可以为 Exchange 绑定队列,并且指定 Binding 信息, *.a.*
,则例如 b.a.c
这样的路由键(routingKey)可以进行匹配
# 3.4 Coding
@Autowired | |
RabbitTemplate rabbitTemplate; | |
@Test | |
public void testMQ() { | |
rabbitTemplate.setExchange("rabbit.test"); // 设置交换机 | |
rabbitTemplate.setRoutingKey("b.a.c"); // 设置路由键 | |
for (int i = 0; i < 10000; i++) { | |
rabbitTemplate.convertAndSend("发送消息" + i); | |
} | |
} |
可以看到已经成功的把数据发送到对应的队列中了。
# 4、总结
以上其实是一个相对简单的方法,实现了发送消息到对应的队列,尽量使用了 rabbitMQTemplate 的默认配置,缺点是,必须要在使用前先在管理界面中创建和设置对应的交换机,队列,路由键等信息。其实结合 Spring 的 @Configuration
和 @Bean
和 rabbiMQ 的 API,可以不用事先进行创建和设置(等我研究明白了补充)。