Spring boot快速集成RabbitMQ
2019-03-22 15:48
330 查看
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sessionsong/article/details/88743077
Spring boot快速集成RabbitMQ
本篇文章记录在现有的spring boot 项目里面,快速的基础rabbitmq
- pom 文件中添加对 spring-boot-starter-amqp 的支持
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-amqp</artifactId> </dependency>
- 在application.yml 配置文件中添加rabbitmq的配置信息
spring: rabbitmq: host: 127.0.0.1 port: 5672 username: guest password: guest
- RabbitMQ配置
@Configuration public class RabbitMQConfig { public static final String TEST_QUEUE = "test"; @Bean Queue workbenchQueue() { // new Queue 如果参数完全一致,会直接返回成功,不创建,不一致返回创建失败,不存在会新建 return new Queue(TEST_QUEUE); } }
- 实现一个简单的对外提供发送消息的接口。 通过postman 调接口发送消息
@RestController() public class Sender { @Autowired private AmqpTemplate rabbitmqTemplate; @GetMapping("/sendMsg") public String sendMsg(String msg) { System.out.println("Sender:" +msg + " : " + Instant.now()); this.rabbitmqTemplate.convertAndSend(RabbitMQConfig.TEST_QUEUE,msg); return "SUCCESS"; } }
- 消息接收,处理
/** * @author songxl * @create 2019-03-21 16:28 * @desc 接听 **/ @Component @RabbitListener(queues = RabbitMQConfig.TEST_QUEUE) public class Receiver { @RabbitHandler public void process(String msg){ try { Thread.sleep(10000); // 为了更好的看到效果 做了10s 的延时 System.out.println("Receiver:" + msg + " : " + Instant.now()); } catch (InterruptedException e) { e.printStackTrace(); } } }
- 测试及验证
使用postman 手动调用上面暴露出来的接口,能后登录rabbitmq的后台 http://localhost:15672/#/queues 查看是不是有消息插入,同时10s 后是不是消失了
控制台打印
RabbitListener 和@RabbitHandler 的区别
RabbitListener 可以标注在类上,也可以标注在方法上。
如果标注在方法上,表示有此方法来处理
如果标注在类上,表示由当前类来处理消息,具体的处理方法则由 RabbitHandler 来指定。
注:如果同时标注了多个方法,表示mq 消息 的content_type有多种,则通过MessageConverter 转换后的参数类型决定执行那个方法
以上只是自己做的一个简短的总结,如果想要更深入的了解rabbitmq的使用和原理,推荐看以下两篇文章
Spring Boot(八):RabbitMQ 详解
RabbitMQ中 exchange、route、queue的关系
相关文章推荐
- SpringBoot 快速集成RabbitMQ
- Spring Boot系列教程之7步集成RabbitMQ的方法
- 第5篇 RabbitMQ集成SpringBoot实现Direct模式
- spring boot 集成 RabbitMQ
- MyBatis 在Spring boot项目中快速集成mybatis和mysql
- Spring Boot 快速上手(八)集成Thymeleaf
- idea快速创建maven集成spring-boot项目
- Java SpringBoot集成RabbitMq实战和总结
- 携程Apollo(阿波罗)配置中心在Spring Boot项目快速集成
- springboot中rabbitmq集成——多项目
- Spring Boot(十三)RabbitMQ安装与集成
- Spring Boot(十三)RabbitMQ安装与集成
- springboot中rabbitmq集成——单项目
- RabbitMq在spring boot中集成和应用
- spring-boot 集成 rabbitmq
- 85. Spring Boot集成RabbitMQ【从零开始学Spring Boot】
- Spring boot集成Quartz与RabbitMQ
- Java SpringBoot集成RabbitMq实战和总结
- Spring Boot (十三)集成RabbitMQ
- SpringBoot 集成RabbitMq