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

spring boot 接收第三方mq消息

文章目录

  • 前言
  • 一、pom
  • 二、配置
  • 三、RabbitMQListener
  • 总结


前言

mq 用的很少,简单记录一下。
需求:数据提供方采用mq的方式推送数据,我方接收数据后,入库。

一、pom

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

二、配置

spring.rabbitmq.host=
spring.rabbitmq.port=
spring.rabbitmq.username=
spring.rabbitmq.password=
spring.rabbitmq.publisher-returns=true
spring.rabbitmq.virtual-host=virtual
spring.rabbitmq.listener.simple.acknowledge-mode=manual
spring.rabbitmq.listener.simple.concurrency=1
spring.rabbitmq.listener.simple.max-concurrency=1
spring.rabbitmq.listener.simple.retry.enabled=true
  1. spring.rabbitmq.host=
    描述:指定 RabbitMQ 服务器的主机名或 IP 地址。通常是 localhost 或者服务器的远程地址。
  2. spring.rabbitmq.port=
    描述:指定 RabbitMQ 服务器的端口号。默认情况下,RabbitMQ 使用 5672 端口。
  3. spring.rabbitmq.username=
    描述:用于连接 RabbitMQ 的用户名。RabbitMQ 需要进行身份验证,因此需要提供有效的用户名。
  4. spring.rabbitmq.password=
    描述:用于连接 RabbitMQ 的密码。与用户名配合使用进行身份验证。
  5. spring.rabbitmq.publisher-returns=true
    描述:启用消息发布确认。如果设置为 true,当发布的消息无法路由到任何队列时,将触发回调。适用于需要确保消息已正确发送的场景。
  6. spring.rabbitmq.virtual-host=virtual
    描述:指定 RabbitMQ 的虚拟主机。虚拟主机用于逻辑上的隔离,可以在同一个 RabbitMQ 实例中创建多个虚拟主机,每个虚拟主机

三、RabbitMQListener

@Component
@Slf4j
@RabbitListener(queues = "test")
public class RabbitMQListener {@RabbitHandlerpublic void onMessage(HashMap<String, Object> baseMap, Channel channel, @Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {try {String messageType = (String) baseMap.get("messageType");log.info(messageType);// 业务同步// 确认已经成功处理的消息,确保 RabbitMQ 从队列中将其移除,以避免重复消费channel.basicAck(deliveryTag, false);} catch (Exception e) {log.info("接收消息失败,重新放回队列");try {// 否认消息并重新入队channel.basicNack(deliveryTag, false, true);} catch (IOException ie) {ie.printStackTrace();}}}
}

总结

  1. 判断mq是否可以联通 telnet ip port

在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 基于JAVA美容院管理系统(源码+论文+讲解等)
  • Windows利用ssh免密码登录Linux
  • 应急响应-DDOS-典型案例
  • Jmeter接口测试断言详解
  • Windows 系统下 MongoDB和PostgreSQL数据库数据的备份和恢复
  • 使用Redis记录错误次数、序列号锁定和冻结时间的实现步骤示例[超详细]
  • WUP-MY-LABEL-PRINTER 旻佑热敏打印机标签打印uniapp插件使用说明
  • 革新测试管理:集远程、协同、自动化于一身的统一测试管理平台
  • Depth Anything: Unleashing the Power of Large-Scale Unlabeled Data精读
  • Prometheus+Grafana保姆笔记(2)——监控Spring Boot微服务程序
  • 基于VS2022+Qt5+C++的串口助手开发
  • MySQL:复杂查询(二)——联合查询02
  • C语言之指针高级--指针操作二维整型、字符型数组、函数指针
  • vscode远程开发
  • C++:std::memory_order_relaxed(宽松内存序)
  • 【Amaple教程】5. 插件
  • CSS 三角实现
  • Effective Java 笔记(一)
  • JavaScript 奇技淫巧
  • SQLServer之创建数据库快照
  • Vue.js 移动端适配之 vw 解决方案
  • 高性能JavaScript阅读简记(三)
  • 函数式编程与面向对象编程[4]:Scala的类型关联Type Alias
  • 理解在java “”i=i++;”所发生的事情
  • 力扣(LeetCode)22
  • 免费小说阅读小程序
  • 如何正确理解,内页权重高于首页?
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (03)光刻——半导体电路的绘制
  • (day 2)JavaScript学习笔记(基础之变量、常量和注释)
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (八)Flink Join 连接
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (一)python发送HTTP 请求的两种方式(get和post )
  • (转)Google的Objective-C编码规范
  • (转)Linux整合apache和tomcat构建Web服务器
  • .FileZilla的使用和主动模式被动模式介绍
  • .mysql secret在哪_MYSQL基本操作(上)
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .NET 应用架构指导 V2 学习笔记(一) 软件架构的关键原则
  • .NET 直连SAP HANA数据库
  • .NET6 命令行启动及发布单个Exe文件
  • .netcore 获取appsettings
  • .net生成的类,跨工程调用显示注释
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • @angular/cli项目构建--http(2)
  • @Transactional类内部访问失效原因详解
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945
  • [20171106]配置客户端连接注意.txt
  • [2024-06]-[大模型]-[Ollama] 0-相关命令
  • [Android 13]Input系列--获取触摸窗口
  • [Android] Amazon 的 android 音视频开发文档
  • [Angular] 笔记 18:Angular Router
  • [Bugku] web-CTF靶场系列系列详解⑥!!!
  • [BZOJ5250][九省联考2018]秘密袭击(DP)