当前位置: 首页 > 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

在这里插入图片描述


http://www.mrgr.cn/news/1308.html

相关文章:

  • VTK—vtkImplicitFunction 隐函数
  • uiapp+vue3具名插槽使用
  • 机器学习:knn算法实现图像识别
  • Transformer2
  • 【JavaEE】JVM 内存区域划分,以及 Java 垃圾回收机制引用计数器,可达性分析等
  • Java-分割list并执行多线程任务的工具类
  • 简洁清新个人博客网页模板演示学习
  • 解决springboot中Aspect注解不生效问题
  • 快速解析数据挖掘,最短时间明白什么是数据挖掘------下
  • 【网络】 arp 命令 得到网段内所有物理设备ip
  • 使用Docker-compose一键部署Wordpress平台
  • Springboot邮件发送:如何配置SMTP服务器?
  • ISCC-2024--WP
  • pytorch自动微分
  • RabbitMQ-消息队列-centos7
  • 【Redis】有序集合(Zset)详解及实际应用场景分析:从命令操作到内部编码
  • 封装的 JavaScript 函数,用于判断一个变量是否为空,适用于不同类型的变量:
  • 【Hot100】LeetCode—21. 合并两个有序链表
  • 这是啥设计模式-适配模式
  • 数据结构----栈