博客
关于我
SpringBoot之RabbitMQ的简单使用的Demo
阅读量:336 次
发布时间:2019-03-04

本文共 2314 字,大约阅读时间需要 7 分钟。

Spring Boot 与 RabbitMQ 快速入门指南

1. 基本声明

本文旨在提供使用 RabbitMQ 的基本操作指导,基于 Spring Boot 框架进行配置和使用。本文将从环境搭建、依赖管理、配置文件设置、消息发送与接收等方面进行详细说明。

2. RabbitMQ 账户配置

在使用 RabbitMQ 之前,需要先创建一个测试账户。注意:在创建账户时,虚拟主机host 必须设置为 /,否则可能会导致连接失败。这里以 root 作为测试账户。

3. 项目依赖管理

在项目的 pom.xml 文件中添加必要的依赖项:

org.springframework.boot
spring-boot-starter-parent
1.5.2.RELEASE
/
com.example
SpringBoot-RabbitMQ
0.0.1-SNAPSHOT
jar
http://maven.apache.org
UTF-8
UTF-8
1.8
org.springframework.boot
spring-boot-starter-amqp
org.springframework.boot
spring-boot-starter-actuator
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-maven-plugin

4. 应用配置

在项目根目录下创建 application.properties 文件,并添加以下内容:

spring.application.name=rabbitmq-helloserver.port=8080spring.rabbitmq.host=localhostspring.rabbitmq.port=5672spring.rabbitmq.username=rootspring.rabbitmq.password=root

5. 主程序实现

创建 RabbitMQApplication.java 文件:

@RestController@SpringBootApplicationpublic class RabbitMQApplication {    @Autowired    private AmqpTemplate amqpTemplate;    @RequestMapping("/send")    public String send(String msg) {        amqpTemplate.convertAndSend("test", msg);        return "发送消息成功:" + msg;    }    public static void main(String[] args) {        SpringApplication.run(RabbitMQApplication.class, args);    }    @Bean    public Queue queue() {        return new Queue("test");    }    @Component    @RabbitListener(queues = "test")    public class MsgCustomer {        @RabbitHandler        public void handlerMsg(String msg) {            System.out.println("消息消费者消费:" + msg);        }    }}

6. 测试与验证

发送消息:

  • 访问 http://localhost:8080/send,输入消息内容,点击发送。
  • 打开 RabbitMQ 管理界面,查看消息队列,确认消息已成功发送至 test 队列。

消息消费:

  • 在 RabbitMQ 的管理界面中,确认 test 队列有无消费者接收消息。
  • 消息会自动由 MsgCustomer 类的 handlerMsg 方法处理,输出在控制台。

7. 总结与建议

本文详细介绍了如何在 Spring Boot 项目中集成 RabbitMQ,实现了消息的发布与订阅功能。通过本文,您可以快速上手 RabbitMQ 的使用,进行消息队列开发。对于更复杂的场景,可以参考 RabbitMQ 的官方文档或相关技术博客,进一步优化消息系统的性能和可靠性。

转载地址:http://rwrh.baihongyu.com/

你可能感兴趣的文章
python----线程、进程、协程的区别及多线程详解
查看>>
python---5
查看>>
python---使用celery分布式系统异步发送短信(云通讯)来验证登录
查看>>
python--003--百分号字符串拼接、format
查看>>
Python--10、线程
查看>>
Python--Redis实战:第四章:数据安全与性能保障:第4节:复制
查看>>
python--基本代码规范
查看>>
Python--抽象类接口类
查看>>
PYTHON--欧拉习题二
查看>>
python--高级应用总结
查看>>
python-520表白代码,我看谁说程序员不懂浪漫,送你几套表白代码,一步到位
查看>>
Python-Asyncio TypeError:无法在‘;等待‘;表达式中使用对象DICT
查看>>
Python-AttributeError:‘;dict&39;对象没有属性‘;序列‘;
查看>>
Python-ldap:是否可以在不显式写入密码的情况下进行绑定?
查看>>
python出现 unknown encoding: idna 的处理方法
查看>>
Python出现 RuntimeError: dictionary changed size during iteration 的解决方法
查看>>
Python-numpy(2)数组的操作
查看>>
Python-Numpy的tile函数用法
查看>>
python-open函数
查看>>
Python-Pandas-将特定函数应用于给定级别-多索引数据框架
查看>>