当前位置: 首页 > news >正文

springboot集成RabbitMQ

springboot集成RabbitMQ

  • 1. 添加 Maven 依赖
  • 2. 配置 RabbitMQ
  • 3. 创建消息生产者
  • 4. 创建消息消费者
  • 5. 运行和测试

1. 添加 Maven 依赖

首先,你需要在你的 pom.xml 文件中添加 Spring Boot RabbitMQ Starter 的依赖。

<dependencies>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-amqp</artifactId>  </dependency>    
</dependencies>

2. 配置 RabbitMQ

在 application.properties 或 application.yml 文件中添加 RabbitMQ 的配置信息。

spring.rabbitmq.host=localhost  
spring.rabbitmq.port=5672  
spring.rabbitmq.username=guest  
spring.rabbitmq.password=guest

3. 创建消息生产者

创建一个服务类来发送消息到 RabbitMQ 队列。

import org.springframework.amqp.rabbit.core.RabbitTemplate;  
import org.springframework.beans.factory.annotation.Autowired;  
import org.springframework.stereotype.Service;  @Service  
public class MessageProducerService {  @Autowired  private RabbitTemplate rabbitTemplate;  public void sendMessage(String queueName, String message) {  rabbitTemplate.convertAndSend(queueName, message);  }  
}

4. 创建消息消费者

创建一个类来监听 RabbitMQ 队列并处理接收到的消息。

import org.springframework.amqp.rabbit.annotation.RabbitListener;  
import org.springframework.stereotype.Component;  @Component  
public class MessageConsumerService {  @RabbitListener(queues = "myQueue")  public void receiveMessage(String message) {  System.out.println("Received message: " + message);  }  
}

5. 运行和测试

创建一个简单的 REST API 或使用 Spring Boot 的命令行运行器来测试 RabbitMQ 的集成。

import org.springframework.boot.CommandLineRunner;  
import org.springframework.boot.SpringApplication;  
import org.springframework.boot.autoconfigure.SpringBootApplication;  
import org.springframework.context.annotation.Bean;  @SpringBootApplication  
public class RabbitmqApplication {  public static void main(String[] args) {  SpringApplication.run(RabbitmqApplication.class, args);  }  @Bean  public CommandLineRunner run(MessageProducerService producer) {  return args -> {  producer.sendMessage("myQueue", "Hello RabbitMQ!");  };  }  
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 16进制转换-系统架构师(三十九)
  • 2023 RoboCom CAIP本科组决赛-RC-u3 兰州拉面派餐系统
  • vulhub:Apache解析漏洞CVE-2017-15715
  • 计网:从输入URL到网页显示期间发生了什么
  • 打包python脚本(flask、jinja2)为exe文件
  • 【Unity】RPG2D龙城纷争(十九)流程与UI界面(终章)
  • Docker安装Nginx
  • fastapi教程(六):依赖注入
  • SpringSecurity+Mysql数据库实现用户安全登录认证
  • MySQL入门学习-运维与架构.主从复制
  • Shell 编程的高级技巧和实战应用
  • 《雅思口语真经总纲1.0》话题实战训练笔记part1——5. Bus or taxi
  • 等待唤醒机制两种实现方法-阻塞队列
  • 【OpenCV C++20 学习笔记】图像缩放-高斯金字塔
  • Stable Diffusion绘画 | 文生图-高分辨率修复-Hires.fix
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • 08.Android之View事件问题
  • CSS3 聊天气泡框以及 inherit、currentColor 关键字
  • Druid 在有赞的实践
  • gcc介绍及安装
  • httpie使用详解
  • Web Storage相关
  • 初识 beanstalkd
  • 创建一种深思熟虑的文化
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 利用jquery编写加法运算验证码
  • 区块链将重新定义世界
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 微信小程序填坑清单
  • 译有关态射的一切
  • CMake 入门1/5:基于阿里云 ECS搭建体验环境
  • Hibernate主键生成策略及选择
  • puppet连载22:define用法
  • ​你们这样子,耽误我的工作进度怎么办?
  • ​十个常见的 Python 脚本 (详细介绍 + 代码举例)
  • # include “ “ 和 # include < >两者的区别
  • # 利刃出鞘_Tomcat 核心原理解析(七)
  • #Linux(make工具和makefile文件以及makefile语法)
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (26)4.7 字符函数和字符串函数
  • (C语言)字符分类函数
  • (pytorch进阶之路)扩散概率模型
  • (分布式缓存)Redis分片集群
  • (分布式缓存)Redis哨兵
  • (附源码)apringboot计算机专业大学生就业指南 毕业设计061355
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (转)http-server应用
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)scrum常见工具列表
  • (转)拼包函数及网络封包的异常处理(含代码)
  • (转载)hibernate缓存
  • .[hudsonL@cock.li].mkp勒索病毒数据怎么处理|数据解密恢复
  • .htaccess配置重写url引擎
  • .md即markdown文件的基本常用编写语法