博客
关于我
SpringBoot之RabbitMQ的简单使用的Demo
阅读量:335 次
发布时间: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/

你可能感兴趣的文章
No mapping found for HTTP request with URI [/logout.do] in DispatcherServlet with name 'springmvc'
查看>>
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No static resource favicon.ico.
查看>>
no such file or directory AndroidManifest.xml
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
no1
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NOAA(美国海洋和大气管理局)气象数据获取与POI点数据获取
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
node exporter完整版
查看>>
node HelloWorld入门篇
查看>>