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

Spring Boot 集成 Kafka 消息发送方案

一、引言

在 Spring Boot 项目中,Kafka 是常用的消息队列,可实现高效的消息传递。本文介绍三种在 Spring Boot 中使用 Kafka 发送消息的方式,分析各自优缺点,并给出对应的 pom.xml 依赖。

二、依赖引入

在 pom.xml 中添加以下依赖:

<dependencies>
    <!-- Spring Boot Starter for Kafka -->
    <dependency>
        <groupId>org.springframework.kafka</groupId>
        <artifactId>spring-kafka</artifactId>
        <version>3.0.8</version>
    </dependency>
    <!-- JSON 处理库,这里使用的是 org.json -->
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20231013</version>
    </dependency>
</dependencies>

若要进行测试,可添加 spring-kafka-test 依赖:

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka-test</artifactId>
    <scope>test</scope>
</dependency>

三、三种消息发送方式

(一)自定义 KafkaMessageSender 类

1. 代码示例
import org.apache.kafka.clients.producer.*;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.Properties;

class TsSign {
   
    private int id;
    private String deviceId;

    public TsSign(int id, String deviceId) {
   
        this.id = id;
        this.deviceId = deviceId;
    }
}

class TsSignSerializer {
   
    // 序列化逻辑
}

public class KafkaMessageSender {
   
    private static final Logger log = LoggerFactory.getLogger(KafkaMessageSender.class);
    private final Producer<
http://www.dtcms.com/a/79473.html

相关文章:

  • idea配置gitee
  • QT 实现信号源实时采集功能支持频谱图,瀑布图显示
  • 【Linux进程】——进程的程序地址空间
  • B树与B+树在MySQL中的应用:索引
  • 华为OD机试-租车骑绿道-双指针(Java 2023 B卷 100分)
  • 【二分查找 并集查找】P6004 [USACO20JAN] Wormhole Sort S|普及+
  • vector和list的区别是什么
  • Golang 老题,生产者和消费者模型,先后关闭通道的问题
  • k8s主要控制器简述(二)DaemonSet|Job|CronJob
  • 蓝桥杯备考----》暴力枚举---金盏花
  • springboot实现文件上传到服务器上,并通过url访问
  • Spring Boot + Spring Integration整合MQTT打造双向通信客户端
  • flowable适配达梦7 (2.1)
  • 【C++】:使用ACL给你的文件夹加锁
  • 直线画法-Bresenham‘s algorithm原理和最优实现
  • SSRF 攻击与防御:从原理到落地实践
  • 什么是Ecovadis认证(埃科瓦迪斯认证)?​Ecovadis认证(埃科瓦迪斯认证)的等级划分!
  • 【Zephyr】【二】学习笔记【RTOS系统架构】
  • VLAN综合实验
  • Linux|fork命令及其使用的写时拷贝技术
  • HyperAD:学习弱监督音视频暴力检测在双曲空间中的方法
  • id: ‘dev.flutter.flutter-plugin-loader‘, version: ‘1.0.0‘怎么解决
  • The Illustrated Stable Diffusion
  • [贪心算法]买卖股票的最佳时机 买卖股票的最佳时机Ⅱ K次取反后最大化的数组和 按身高排序 优势洗牌(田忌赛马)
  • 基础篇结束纪念——Java抽象类 模板类 static接口
  • 基于springboot的校园周边美食探索及分享平台(021)
  • 基于生成对抗网络(GAN)的图像超分辨率重建:技术与应用
  • 【深度】JADC2的层级结构以及全域Mesh网络
  • K8S集群新增和删除Node节点(K8s Cluster Adds and Removes Node Nodes)
  • 【动态规划】矩阵连乘问题 C++(附代码实例和复杂度分析)