iis服务器助手广告
返回顶部
首页 > 资讯 > 精选 >Springboot 2.x集成kafka 2.2.0的方法
  • 178
分享到

Springboot 2.x集成kafka 2.2.0的方法

2023-06-30 10:06:32 178人浏览 八月长安
摘要

本文小编为大家详细介绍“SpringBoot 2.x集成kafka 2.2.0的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot 2.x集成kafka 2.2.0的方法”文章能

本文小编为大家详细介绍“SpringBoot 2.x集成kafka 2.2.0的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“springboot 2.x集成kafka 2.2.0的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

    引言

    kafka近几年更新非常快,也可以看出kafka在企业中是用的频率越来越高,在springboot中集成kafka还是比较简单的,但是应该注意使用的版本和kafka中基本配置,这个地方需要信心,防止进入坑中。

    基本环境

    springboot版本2.1.4

    kafka版本2.2.0

    jdk 1.8

    代码编写

    1、基本引用pom

    <?xml version="1.0" encoding="UTF-8"?><project xmlns="Http://Maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.1.4.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.example</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>kafkademo</name><description>Demo project for Spring Boot</description> <properties><java.version>1.8</java.version></properties> <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-WEB</artifactId></dependency> <dependency><groupId>mysql</groupId><artifactId>Mysql-connector-java</artifactId><scope>runtime</scope></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency> <dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><version>2.2.0.RELEASE</version></dependency> <dependency><groupId>com.Google.code.gson</groupId><artifactId>gson</artifactId><version>2.7</version></dependency> </dependencies> <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build> </project>

    2、基本配置

    spring.kafka.bootstrap-servers=2.1.1.1:9092spring.kafka.consumer.group-id=test-consumer-groupspring.kafka.consumer.key-deserializer=org.apache.kafka.common.serialization.StringDeserializerspring.kafka.consumer.value-deserializer=org.apache.kafka.common.serialization.StringDeserializerspring.kafka.producer.key-serializer=org.apache.kafka.common.serialization.StringSerializerspring.kafka.producer.value-serializer=org.apache.kafka.common.serialization.StringSerializer #logging.level.root=debug

    3、实体类

    package com.example.demo.model; import java.util.Date; public class Messages {     private Long id;     private String msg;     private Date sendTime;     public Long getId() {        return id;    }     public void setId(Long id) {        this.id = id;    }     public String getMsg() {        return msg;    }     public void setMsg(String msg) {        this.msg = msg;    }     public Date getSendTime() {        return sendTime;    }     public void setSendTime(Date sendTime) {        this.sendTime = sendTime;    }}

    4、生产者端

    package com.example.demo.service; import com.example.demo.model.Messages;import com.google.gson.Gson;import com.google.gson.GsonBuilder;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.kafka.core.KafkaTemplate;import org.springframework.kafka.support.SendResult;import org.springframework.stereotype.Service;import org.springframework.util.concurrent.ListenableFuture; import java.util.Date;import java.util.UUID; @Servicepublic class KafkaSender {     @Autowired    private KafkaTemplate<String, String> kafkaTemplate;     private Gson gson = new GsonBuilder().create();     public void send() {        Messages message = new Messages();        message.setId(System.currentTimeMillis());        message.setMsg("123");        message.setSendTime(new Date());        ListenableFuture<SendResult<String, String>> test0 = kafkaTemplate.send("newtopic", gson.toJSON(message));    }}

    5、消费者

    package com.example.demo.service; import org.apache.kafka.clients.consumer.ConsumerRecord;import org.springframework.kafka.annotation.KafkaListener;import org.springframework.stereotype.Service; import java.util.Optional; @Servicepublic class KafkaReceiver {     @KafkaListener(topics = {"newtopic"})    public void listen(ConsumerRecord<?, ?> record) {        Optional<?> kafkaMessage = Optional.ofNullable(record.value());        if (kafkaMessage.isPresent()) {            Object message = kafkaMessage.get();            System.out.println("record =" + record);            System.out.println("message =" + message);         }    }    }

    6、测试

    在启动方法中模拟消息生产者,向kafka中发送消息

    package com.example.demo; import com.example.demo.service.KafkaSender;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.context.ConfigurableApplicationContext; @SpringBootApplicationpublic class KafkademoApplication { public static void main(String[] args) {ConfigurableApplicationContext context = SpringApplication.run(KafkademoApplication.class, args); KafkaSender sender = context.getBean(KafkaSender.class);for (int i = 0; i <1000; i++) {sender.send(); try {Thread.sleep(300);} catch (InterruptedException e) {e.printStackTrace();}}  } }

    效果展示

    Springboot 2.x集成kafka 2.2.0的方法

    命令行直接消费消息

    Springboot 2.x集成kafka 2.2.0的方法

    遇到的问题

    生产端连接kafka超时

    at org.apache.kafka.common.network.NetworkReceive.readFrom(NetworkReceive.java:119)

    解决方案:

    修改kafka中的server.properties中的下面配置,将原来的默认配置替换成下面ip+端口的形式,重启kafka

    Springboot 2.x集成kafka 2.2.0的方法

    读到这里,这篇“Springboot 2.x集成kafka 2.2.0的方法”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

    --结束END--

    本文标题: Springboot 2.x集成kafka 2.2.0的方法

    本文链接: https://www.lsjlt.com/news/328351.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    本篇文章演示代码以及资料文档资料下载

    下载Word文档到电脑,方便收藏和打印~

    下载Word文档
    猜你喜欢
    • Springboot 2.x集成kafka 2.2.0的方法
      本文小编为大家详细介绍“Springboot 2.x集成kafka 2.2.0的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot 2.x集成kafka 2.2.0的方法”文章能...
      99+
      2023-06-30
    • 解决springboot 2.x集成log4j2调试日志无法关闭的问题
      springboot2.x集成log4j2时,始终无法关闭log4j2自身的日志输出 已经做了如下配置: 在log4j2.xml的配置文件中,配置configuration的stat...
      99+
      2024-04-02
    • spring集成kafka的方法是什么
      Spring集成Kafka的方法如下: 引入依赖:在项目的pom.xml文件中添加spring-kafka依赖。 <dep...
      99+
      2023-10-20
      spring kafka
    • springboot 1.5.2 集成kafka的示例分析
      这篇文章主要介绍springboot 1.5.2 集成kafka的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!具体如下:随着spring boot 1.5版本的发布,在spring项目中与kafka集成更为...
      99+
      2023-05-30
      springboot kafka
    • springboot集成dubbo的方法
      这篇“springboot集成dubbo的方法”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“springboot集成dubb...
      99+
      2023-06-29
    • springboot集成elasticsearch7的图文方法
      目录1.创建项目2.创建配置文件3.测试4.更新文档5.删除文档1.创建项目 修改依赖版本 2.创建配置文件 package com.huanmingj...
      99+
      2024-04-02
    • Spring boot2.0 实现日志集成的方法(2)
      目录前言:logback.xml配置文件定义引用自定义logback.xml文件附加说明前言: 上一章Spring boot2.0 日志集成方法分享(1)讲解了s...
      99+
      2024-04-02
    • springboot集成ffmpeg的方法是什么
      要在Spring Boot中集成FFmpeg,你可以使用Java-FFmpeg库来实现。下面是一些集成FFmpeg的步骤: 添加J...
      99+
      2023-10-23
      springboot ffmpeg
    • SpringBoot多数据源集成的方法
      这篇文章主要介绍了SpringBoot多数据源集成的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot多数据源集成的方法文章都会有所收获,下面我们一起来看看吧。一、多数据源使用场景与弊端1....
      99+
      2023-06-30
    • SpringBoot集成tomcat的方法是什么
      这篇文章主要介绍“SpringBoot集成tomcat的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SpringBoot集成tomcat的方法是什么”文章能帮助大家解决问题。spring...
      99+
      2023-07-05
    • springboot集成teams的方法是什么
      本篇内容主要讲解“springboot集成teams的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“springboot集成teams的方法是什么”吧!添加依赖<dependen...
      99+
      2023-06-28
    • Springboot集成lombok.jar的方法是什么
      本文小编为大家详细介绍“Springboot集成lombok.jar的方法是什么”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot集成lombok.jar的方法是什么”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一...
      99+
      2023-07-06
    • springboot集成mybatis的方法是什么
      要在Spring Boot中集成MyBatis,可以按照以下步骤进行操作: 添加MyBatis和MyBatis-Spring的依赖...
      99+
      2024-03-07
      springboot mybatis
    • springboot集成hadoop的方法是什么
      Spring Boot集成Hadoop的方法是通过在Spring Boot应用程序中使用HDFS客户端来访问和操作Hadoop集群。...
      99+
      2024-03-14
      hadoop springboot
    • SpringBoot集成Kafka配置工具类的详细代码
      目录1、单播模式,只有一个消费者组2、广播模式,多个消费者组spring-kafka 是基于 java版的 kafka client与spring的集成,提供了 KafkaTempl...
      99+
      2024-04-02
    • SpringBoot集成slf4j日志配置的方法
      目录前言 1、slf4j概述 2、pom.xml的日志依赖 3、application.yml的日志配置 4、logback.xml配置文件定义 5、logback.xml配置文件解...
      99+
      2024-04-02
    • SpringBoot项目集成FTP的方法步骤
      目录写在前面FTP相关软件安装开始集成引入相关jar包引入FTPUtils.java和FTPHelper.java如何使用写在前面 FTP是一个文件传输协议,被开发人员广泛用于在互...
      99+
      2024-04-02
    • springboot集成spark并使用spark-sql的方法
      这篇文章主要介绍“springboot集成spark并使用spark-sql的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot集成spark并使用spark-sql的方法”文章...
      99+
      2023-06-29
    • springboot集成线程池的方法是什么
      在Spring Boot中集成线程池可以通过以下方法进行: 添加依赖:在pom.xml文件中添加以下依赖: org.s...
      99+
      2023-10-21
      springboot
    • SpringBoot集成H2内存数据库的方法
      目录前言准备技术栈目录结构pom.xml实体类 UserAddressRepositoryapplication.yml连接配置数据初始化配置h2 web consloe配置代码下载...
      99+
      2024-04-02
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作