springboot集成rabbitMQ-1

springboot集成RabbitMQ -1

RabbitMQTemplate

在springboot中,用的比较多是rabbitMQTemplate。通过rabbitMQTemplate结合spring的bean管理,可以比较方便的进行开发。

1、导入依赖

1
2
3
4
5
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

2、完善配置文件

1
2
3
4
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

1
2
3
4
5
6
7
8
9
10
11
12
@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,可以不用事先进行创建和设置(等我研究明白了补充)。


springboot集成rabbitMQ-1
http://yoursite.com/2022/09/18/springboot集成rabbitMQ-1/
作者
yangchen
发布于
2022年9月18日
许可协议