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

Kafka:springboot集成kafka收发消息

kafka环境搭建参考Kafka:安装和配置_moreCalm的博客-CSDN博客

1、springboot中引入kafka依赖

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!-- kafkfa --><dependency><groupId>org.springframework.kafka</groupId><artifactId>spring-kafka</artifactId><exclusions><exclusion><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId></dependency><dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId></dependency>
</dependencies>

2、配置application.yml

server:port: 9991
spring:application:name: kafka-demokafka:bootstrap-servers: 192.168.200.130:9092producer:retries: 10key-serializer: org.apache.kafka.common.serialization.StringSerializervalue-serializer: org.apache.kafka.common.serialization.StringSerializerconsumer:group-id: ${spring.application.name}-testkey-deserializer: org.apache.kafka.common.serialization.StringDeserializervalue-deserializer: org.apache.kafka.common.serialization.StringDeserializer

传递String类型的消息

3、controller实现消息发送接口

package com.heima.kafkademo.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@AutowiredKafkaTemplate<String,String> kafkaTemplate;@GetMapping("/hello")public String addMessage(){kafkaTemplate.send("lakers-topic","湖人总冠军!");return "ok";}
}

4、component中实现接收类HelloListener 

package com.heima.kafkademo.component;import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;@Component
public class HelloListener {@KafkaListener(topics = "lakers-topic")public void onMessage(String msg){System.out.println(msg);}}

5、测试

浏览器访问该接口并查看控制台

        接收成功

 

传递对象类型的消息

思路:在传递消息时,将对象转为json字符串,在接收时再解析

1、controller实现发送

package com.heima.kafkademo.controller;import com.alibaba.fastjson.JSON;
import com.heima.kafkademo.model.User;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.kafka.core.KafkaTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloController {@AutowiredKafkaTemplate<String,String> kafkaTemplate;@GetMapping("/hello")public String addMessage(){User user = new User();user.setName("勒布朗");user.setAge(37);user.setGender("男");user.setJob("NBA球员");kafkaTemplate.send("lakers-topic", JSON.toJSONString(user));return "ok";}
}

2、component实现接收类

package com.heima.kafkademo.component;import com.alibaba.fastjson.JSON;
import com.heima.kafkademo.model.User;
import org.springframework.kafka.annotation.KafkaListener;
import org.springframework.stereotype.Component;@Component
public class HelloListener {@KafkaListener(topics = "lakers-topic")public void onMessage(String msg){System.out.println(JSON.parseObject(msg, User.class));}}

3、打印测试结果

 

相关文章:

Kafka:springboot集成kafka收发消息

kafka环境搭建参考Kafka&#xff1a;安装和配置_moreCalm的博客-CSDN博客 1、springboot中引入kafka依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId><…...

本质矩阵E、基本矩阵F、单应矩阵H

1. E (归一化坐标对进行计算) t ^ R 为3*3的矩阵, 因为R,t共有6个自由度&#xff0c;又因为单目尺度等价性&#xff0c;所以实际上E矩阵共有5个自由度。因此至少需要5个点对来求解。 2. 基本矩阵F:根据两帧间匹配的像素点对儿计算 3*3且自由度为7的矩阵kF也为基础矩阵&#x…...

Oracle database Linux自建环境备份至远端服务器自定义保留天数

环境准备 linux下安装oracle 请看 oracle12c单节点部署 系统版本: CentOS 7 软件版本&#xff1a; Oracle12c 备份策略与实现方法 此次备份依赖Oracle自带命令exp与linux下crontab命令&#xff08;定时任务&#xff09; exp Oracle中exp命令是一个用于导出数据库数据和对象的…...

SpringBoot异步任务(2)|(线程池使用)

SpringBoot异步任务&#xff08;2&#xff09;|&#xff08;线程池使用&#xff09; 文章目录 SpringBoot异步任务&#xff08;2&#xff09;|&#xff08;线程池使用&#xff09;[TOC] 前言一、使用场景二、springboot添加异步任务1.配置线程池2.线程池的使用 总结 章节 第一章…...

解决Windows:Call to undefined function exif_imagetype()

很明显,是php安装时没有打开某些扩展,以致不能执行exif_imagetype()这个方法,因此需要打开。 网上很多人说需要打开下面这两个扩展: extension=php_exif.dll extension=php_mbstring.dll 但只说对了一半,我一开始也按照网上文章说的打开这两个扩展,但是还是同样错误。…...

【Spring】Spring AOP 初识及实现原理解析

博主简介&#xff1a;想进大厂的打工人博主主页&#xff1a;xyk:所属专栏: JavaEE进阶 目录 文章目录 一、初识AOP 1.1 什么是AOP&#xff1f; 1.2 AOP的组成 1.2.1 切面&#xff08;Aspect&#xff09; 1.2.2 切点&#xff08;Pointcut&#xff09; 1.2.3 连接点&…...

【Express.js】集成Redis

集成Redis 本节我们介绍在 express.js 中集成 redis. Redis是一个高性能的key-value内存数据库&#xff0c;支持事务、队列、持久化等特性&#xff0c;常用于高并发性能场景。 准备工作 创建一个 express.js 项目&#xff08;本文基于evp-express-cli&#xff09;在开发环境…...

StringBuilder创建的对象如何清空

要清空一个StringBuilder对象&#xff0c;可以使用其实例方法setLength(int newLength)来实现。将newLength参数设置为0&#xff0c;就可以将StringBuilder的内容清空。以下是一个示例代码&#xff1a; StringBuilder sb new StringBuilder(); // 添加一些内容到StringBuilde…...

mybatis-plus实现mysql自定义IKeyGenerator

1. IKeyGenerator主键生成 内置实现类&#xff0c;缺少mysql&#xff0c;因为mysql不支持序列&#xff0c;只能通过表模拟序列 H2KeyGenerator PostgreKeyGenerator KingbaseKeyGenerator 人大金仓的KES数据库 DB2KeyGenerator OracleKeyGenerator2. 新建表模拟序列 CREATE T…...

山西电力市场日前价格预测【2023-08-11】

日前价格预测 预测明日&#xff08;2023-08-11&#xff09;山西电力市场全天平均日前电价为367.15元/MWh。其中&#xff0c;最高日前电价为408.91元/MWh&#xff0c;预计出现在20: 00。最低日前电价为343.90元/MWh&#xff0c;预计出现在02: 30。 价差方向预测 1&#xff1a; 实…...

浏览器无法连接网络问题

问题描述 电脑其他程序都能正常联网&#xff0c;但是所有的浏览器都无法联网&#xff0c;同时外部网站都能ping通 问题诊断 查看电脑Internet连接的问题报告显示&#xff1a;该设备或资源(Web 代理)未设置为接受端口"7890"上的连接。 解决方案 经过检查发现不是IP地址…...

ZyjDataLink 全量MySQL同步程序 - 开发过程 01

开发过程由本人从 架构设计 到 代码实现 独立完成&#xff0c;通过该博客记录分享开发经验 ZyjDataLink 当前的目标是做到 MySQL大数据量的快速同步&#xff0c;后期希望扩展的功能 高度可操作性&#xff0c;融入增量数据库同步&#xff0c;跨数据库同步 ZyjDataLink 需求分析…...

为什么说Python股票接口是连接投资与编程的桥梁?

在现代金融领域&#xff0c;投资与技术的结合日益紧密&#xff0c;而Python作为一种强大的编程语言&#xff0c;为投资者提供了开发股票交易策略和分析市场数据的高效工具。 一、Python股票接口的重要性&#xff1a; Python作为一种易学易用的编程语言&#xff0c;逐渐成为金融…...

kubectl,helm安装到window

1、Windows创建目录和文件 创建文件到指定目录记得切换目录 安装到家目录 wangdachuD-M70K45QX-1544 MINGW64 ~ $ mkdir -p .kubewangdachuD-M70K45QX-1544 MINGW64 ~ $ vi configwangdachuD-M70K45QX-1544 MINGW64 ~ $ pwd /c/Users/wangdachu 2、Windows安装kubectl到当前…...

【BASH】回顾与知识点梳理(目录)

【BASH】回顾与知识点梳理&#xff08;目录&#xff09; 一. 认识与学习 BASH二. Shell 的变量功能三. 命令别名与历史命令四. Bash Shell 的操作环境五. 数据流重导向六. 管线命令 (pipe)七. 前六章知识点总结及练习八. 正则表达式&#xff08;正规表示法&#xff09;九. 扩展…...

TFRecords详解

内容目录 TFRecords 是什么序列化(Serialization)tf.data 图像序列化&#xff08;Serializing Images)tf.Example函数封装 小结 TFRecords 是什么 TPU拥有八个核心&#xff0c;充当八个独立的工作单元。我们可以通过将数据集分成多个文件或分片&#xff08;shards&#xff09;…...

【多维定向滤波器组和表面波】表面变换:用于高效表示多维 s 的多分辨率变换(Matlab代码实现)

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜密&#xff0c;逻辑清晰&#xff0c;为了方便读者。 ⛳️座右铭&a…...

45.113.201.X服务器远程不上是什么原因,有什么办法解决?

45.113.201.1远程登录不上可能有多种原因导致&#xff0c;以下是一些常见的问题和解决方法&#xff1a; 网络连接问题&#xff1a;确保本地网络连接正常&#xff0c;尝试通过其他设备或网络连接服务器&#xff0c;确认是否是网络问题导致无法远程登录。 IP地址或端口错误&…...

微信小程序 地图map(电子围栏圆形和多边形)

正常情况下是没有手机上画电子围栏的&#xff0c;公共平台上我也没找到&#xff0c;所以走了一个歪点子&#xff0c;就是给地图添加点击事件&#xff0c;记录点的位置&#xff0c;在画到电子围栏上就是添加电子围栏了&#xff0c;如果只是显示电子围栏就简单了 一、多边形电子…...

Dockerfile 文件

dockerfile是一个文本文件&#xff0c;包含一条条指令&#xff0c;每条指令都会构建一层镜,一般分为四部分&#xff1a;基础镜像信息、维护者信息、镜像操作指令和容器启动时执行指令&#xff0c;#为 Dockerfile 中的注释。 docker build 基于dockerfile制作镜像 OPTIONS参数 …...

Rockchip RK3588 Android平台UVC复合设备配置与调试实战

1. 环境准备与SDK移植 拿到RK3588开发板的第一件事&#xff0c;就是搭建开发环境。我使用的是RK3588 LP4X EVB开发板&#xff0c;配套的Android SDK是从Rockchip官方仓库获取的。这里有个小坑要注意&#xff1a;官方SDK通常需要企业邮箱申请权限&#xff0c;如果遇到下载问题可…...

cv_resnet101_face-detection效果实测:高精度人脸定位与多场景适应

cv_resnet101_face-detection效果实测&#xff1a;高精度人脸定位与多场景适应 最近在做一个智能相册管理的项目&#xff0c;需要从海量照片里快速、准确地找出所有人脸。试了好几个开源模型&#xff0c;要么对小脸、侧脸识别不准&#xff0c;要么在光线复杂或者有遮挡的情况下…...

GLM-4.1V-9B-Base惊艳效果:古诗词配图理解、AI绘画作品风格反推分析

GLM-4.1V-9B-Base惊艳效果&#xff1a;古诗词配图理解、AI绘画作品风格反推分析 1. 视觉多模态理解新标杆 GLM-4.1V-9B-Base是智谱最新开源的视觉多模态理解模型&#xff0c;在中文视觉理解领域展现出令人惊艳的能力。不同于常见的纯文本大模型&#xff0c;这款模型专精于图像…...

龙芯k - 走马观碑组VLLX驱动移植慌

一、什么是urllib3&#xff1f; urllib3 是一个用于处理 HTTP 请求和连接池的强大、用户友好的 Python 库。 它可以帮助你&#xff1a; 发送各种 HTTP 请求&#xff08;GET, POST, PUT, DELETE等&#xff09;。 管理连接池&#xff0c;提高网络请求效率。 处理重试和重定向。 支…...

WarcraftHelper:让经典魔兽争霸III在现代系统上重获新生

WarcraftHelper&#xff1a;让经典魔兽争霸III在现代系统上重获新生 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 你是否还记得那些在网吧通宵鏖战魔…...

【音视频流媒体进阶:从网络到 WebRTC】第14篇-QUIC/HTTP3 在流媒体中的应用

QUIC/HTTP3 在流媒体中的应用 前言 在前几篇文章中,我们学习了 HLS、DASH 这类基于 HTTP 的自适应流媒体协议,以及 SRT 这种基于 UDP 的低延迟传输方案。它们各自解决了流媒体分发链路上的不同痛点,但底层传输层的根本矛盾始终存在——TCP 有队头阻塞,UDP 要自建可靠性。…...

EcomGPT-7B在Unity引擎中的应用:打造沉浸式虚拟电商购物助手

EcomGPT-7B在Unity引擎中的应用&#xff1a;打造沉浸式虚拟电商购物助手 想象一下&#xff0c;你走进一个由Unity引擎构建的、光影绚丽的3D虚拟商场。货架上琳琅满目&#xff0c;商品细节纤毫毕现。这时&#xff0c;一位虚拟导购员微笑着向你走来&#xff0c;你随口问了一句&a…...

Graphormer模型在IDE中高效开发:IntelliJ IDEA集成与调试技巧

Graphormer模型在IDE中高效开发&#xff1a;IntelliJ IDEA集成与调试技巧 1. 引言 作为一名长期从事AI模型开发的工程师&#xff0c;我深知在分子模拟和药物发现领域&#xff0c;Graphormer这类图神经网络模型的重要性。但在实际开发过程中&#xff0c;很多研究者往往因为开发…...

Docker安装教程(CentOS)(包含compose和swarm)

参考资料&#xff1a; 参考视频 Docker官网安装教程&#xff08;CentOS 8&#xff09; CentOS 7安装Docker(本文主要参考教程&#xff0c;还有Ubuntu) CentOS 7安装Docker教程&#xff1a; 1.卸载旧版Docker sudo yum remove docker \docker-client \docker-client-latest…...

Arduino嵌入式状态机轻量库:零堆内存、确定性状态管理

1. 项目概述ArduinoStates是一个面向嵌入式状态机开发的轻量级辅助库&#xff0c;专为 Arduino 及兼容平台&#xff08;如 ESP32、ESP8266、STM32&#xff08;通过 Arduino Core&#xff09;、nRF52 等&#xff09;设计。其核心定位并非实现完整状态机框架&#xff08;如 UML S…...