kafkatemplate无法注入_Spring-Kafka(三)-KafkaTemplate发送消息及结果回调

2023-11-17

我们使用KafkaTemplate.send(String data)这个方法发送消息到Kafka中,显然这个方法并不能满足我们系统的需求,那我们需要查看一下KafkaTemplate所实现的接口,看看还提供了什么方法。

当我们发送消息到Kafka后,我们又怎么去确认消息是否发送成功呢?这就涉及到KafkaTemplate的发送回调方法了。

接下来我们开始正式讲解

查看发送接口

首先我们Ctrl+鼠标左键进入KafkaTemplate的源代码中查看一下,可以看到有关发送的接口如下。

这里的参数还是比较简单的,值得一提的事,方法中有个Long类型的时间戳(timestamp)参数,这是Kafka0.10版本提供的新功能,主要用来使用时间索引进行查询数据以及日志切分清除策略。

还有一个ProducerRecord参数,这个类其实就是整合了topic、partition、data等数据的消费实体类。

topic:这里填写的是Topic的名字

partition:这里填写的是分区的id,其实也是就第几个分区,id从0开始。表示指定发送到该分区中

timestamp:时间戳,一般默认当前时间戳

key:消息的键

data:消息的数据

ProducerRecord:消息对应的封装类,包含上述字段

Message>:Spring自带的Message封装类,包含消息及消息头

ListenableFuture>sendDefault(V data);

ListenableFuture>sendDefault(K key, V data);

ListenableFuture>sendDefault(Integer partition, K key, V data);

ListenableFuture>sendDefault(Integer partition, Long timestamp, K key, V data);

ListenableFuture>send(String topic, V data);

ListenableFuture>send(String topic, K key, V data);

ListenableFuture>send(String topic, Integer partition, K key, V data);

ListenableFuture>send(String topic, Integer partition, Long timestamp, K key, V data);

ListenableFuture> send(ProducerRecordrecord);

ListenableFuture> send(Message> message);

View Code

使用sendDefault发送消息

首先在KafkaConfiguration编写一个带有默认Topic参数的KafkaTemplate,同时为另外一个KafkaTemplate加上@Primary注解,

@Primary注解的意思是在拥有多个同类型的Bean时优先使用该Bean,到时候方便我们使用@Autowired注解自动注入。

//这个是我们之前编写的KafkaTemplate代码,加入@Primary注解

@Beanpublic KafkaTemplatekafkaTemplate() {

KafkaTemplate template= new KafkaTemplate(producerFactory());returntemplate;

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

kafkatemplate无法注入_Spring-Kafka(三)-KafkaTemplate发送消息及结果回调 的相关文章

  • 蓝桥杯2021年第十二届真题第一场-砝码称重

    题目 题目链接 题解 动态规划 状态定义 dp i j 表示前i个砝码是否能称出重量为j的物品 状态转移 对于第i个砝码 选和不选两种情况 对于选又可以分为放在左边和放在右边 看样例 存在加和减的情况 也就是放在左边和右边的情况 我们规定放
  • 爬虫日常-12306自动购票程序

    文章目录 前言 页面分析 代码设计 前言 hello兄弟们 最近在钻研新鲜知识 一不留神没想起来更新 今天我们顺着前面几篇文章完整的写出一篇12306的自动购票软件 首先把我们已经写完的前期步骤代码再顺一遍 from selenium we
  • IDEA常用快捷键集合(详解)

    keymap中定义的快捷键实在是太多了 全部记住几乎不可能 但在项目开发或调试的工程中 快捷键是绝对的效率工具 查询快捷键 CTRL N 查找类 CTRL SHIFT N 查找文件 CTRL SHIFT ALT N 查 找类中的方法或变量
  • msvcp140.dll缺失重新安装的方法【msvcp140.dll修复工具下载安装】

    如果您在使用某些应用程序或游戏时遇到了 msvcp140 dll丢失 的错误提示 那么您需要采取一些措施来解决这个问题 以下是几种解决msvcp140 dll丢失的方法 msvcp140 dll解决方法一 1 在浏览器顶部网页搜索 dll修
  • 【vue】实现首屏加载等待动画 避免首次加载白屏尴尬

    原文链接 在线体验 width 100 height 443 src jsfiddle net kajweb qrno8s0g 9 embedded html css result allowfullscreen allowfullscre
  • a foreign key constraint fails

    可能由两种原因导致 1 设置的外键和对应的另一个表的主键值不匹配 解决方法 找出不匹配的值修改 或者清空两表数据 2 字符集和排序规则的差异引起 如果确认外键和主键一致 使用如下方式解决 代码前段插入 SET OLD CHARACTER S
  • iOS 15 越狱情报

    关注后回复 进群 拉你进程序员交流群 作者丨小集 来源丨小集 ID zsxjtip iOS 15 正式版本已经发布了 而 iOS 15 1 beta 版本也在近期发布 在普通用户和开发者追更各个 beta 版和正式版时 另一个神秘群体也没有
  • 架构 但服务多租户_华为以AI和混合云实现多租户数据中心架构转型

    华为采用全球直播的方式以 你好 智能世界 为主题举办行业数字化转型大会 把原计划在巴塞罗那现场举办的活动时间不变 2月24日 27日 搬到线上 针对互联网服务行业数字化 专门举办的MTDC 多租户数据中心论坛 于北京时间27日开启全球线上直
  • 外包干了2个月,技术退步明显...

    先说一下自己的情况 大专生 18年通过校招进入湖南某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 调用halcon函数时的错误处理

    注 以下材料来自halcon帮助文档 因水平有限 难免有误 欢迎指正 0 概述 在遇到一个运行时错误时 HALCON C 会以默认的方式给出错误信息 并终止程序 然而 在某些情况下 我们并不希望按照这样的规则来处理错误 例如 当一个程序允许
  • centos7.8从卸载python2,安装python3

    因为目前所有环境都是python2 7 5 但是项目上使用的是python3 7 5 迫切需要使用python3 7 5验证 安装遇到困难 记录一下 首先卸载python2 如果不想卸载python2的可以跳过 这里卸载python2和其依
  • 信息图:iOS 7开发者需要知道的事

    如果你想为iOS 设备开发app 你需要知道如何与软件交互 如何设计 你还要知道苹果独特的开发理念和开发工具 真正的能力还需要成功地从其他行业领域借鉴核心概念 最后把所有这些东西糅合进你的信息库中 所以我们画了一张iOS 7开发者应该的知识
  • iOS开发:使用大图+脚本,生成各种size的app icon和图片素材

    美术UI在公司是宝贵的资源 集各种项目宠爱于一身 为了努力完成好老板的进度需求 不给UI添麻烦 程序员开始忙活了 在iOS里面 我们使用image assert来管理素材和app icon 为什么呢 因为方便 按照image assert要
  • 怎样在前端遍历后端服务器传递来的json字符串中的集合?

    怎样在前端遍历后端服务器传递来的json字符串中的集合 后端把一个List类型的集合先转换成json字符串然后返回给通过ajax返回给前端 如下图 后端服务器中的代码如下图 紧着着前端页面遍历 后端传递来的json字符串中的集合数据 先来看
  • 读论文(二) - BERT

    Introduction 预训练的语言模型 在改进自然语言处理任务方面非常有效 包括句子级别的任务 自然语言推理和释义 也包括分词级别的任务 NER和问答 将预训练的语言表示应用于下游任务有两种现有策略 基于特征 feature based
  • 循环神经网络(RNN)的基本原理及LSTM的基本结构

    来源于课上实验 结果清晰 遂上传于此 实验环境TensorFlow1 14 该课件仅用于教学 请勿用于其他用途 详细参考 实验笔记 实验视频 一 实验目的 学习掌握循环神经网络 RNN 的基本原理及LSTM的基本结构 掌握利用LSTM神经元
  • vulfocus靶场安装教程

    背景 漏洞把场是目前每个安全人员以及想学习信息安全的人必备的东西 但目前商业化产品居多 还有一些类似dwwa sqlilabs这类的开源项目 但是漏洞环境比较固定 使用完一次后就失去其作用 搭建的成本过高 每次启动的流程会比较繁锁 甚至很多
  • 【react】对state的理解

    state是类创建的实例对象上的一个状态属性 想要改变类的实例对象的值 就要用到构造器 但由于类组件都是继承的React内置的Component类 继承的类 要写构造器的话 就必须写super 改变state this state xxx

随机推荐

  • TIP Spring-boot健康检查查看详细信息

    Spring boot提供了健康检查的手段 定期检查应用各个组件的状态 并提供了一些通用组件的检查 比如MySQL Redis等 可以使用下面的命令查看应用的健康状态 curl localhost port health 如果应用有异常 会
  • GhostNetV2学习笔记

    GhostNetV2学习笔记 GhostNetV2 Enhance Cheap Operation with Long Range Attention Abstract 轻量级卷积神经网络 CNNs 是专为在移动设备上具有较快推理速度的应用
  • Deployment Controller 典型使用场景

    1 重新调度 Rescheduling 不管想运行 1 个副本还是 1000 个副本 副本控制器都能确保指定数量的副本存在于集群中 即使发生节点故障或 Pod 副本被终止运行等意外状况 2 弹性伸缩 Scaling 手动或者通过自动扩容代理
  • 【科普】CRC校验(一)什么是CRC校验?

    目录 CRC 循环冗余校验 CRC 校验码的生成 CRC 的发送方与接收方 发送方 接收方 除法异或运算示意图 CRC 循环冗余校验 CRC Cyclic Redundancy Check 循环冗余检验 是一种用于检测数字数据错误的技术 作
  • 不用JS,教你只用纯HTML做出几个实用网页效果

    转载请注明出处 葡萄城官网 葡萄城为开发者提供专业的开发工具 解决方案和服务 赋能开发者 原文出处 https blog bitsrc io pure html widgets for your web application c90155
  • Python - 遍历列表

    方法1 for循环直接遍历 lists m1 1900 m2 2000 for item in lists print item 注 同JAVA中的foreach循环一样 用for循环遍历列表 并不能改变列表中的数据项的值 lists m1
  • 校验密码复杂度(规则:长度8-30,必须包含数字、字母、特殊符号)、校验用户名(规则:长度4-19,包含数字、字母,不包含特殊字符)

    校验密码复杂度 规则 长度8 30 必须包含数字 字母 特殊符号 校验用户名 规则 长度4 19 包含数字 字母 不包含特殊字符
  • RHEL8网络管理

    RHEL8网络管理服务 NetworkManager早期的设计目的是为了统一网络配置 表示以后所有的网络相关的配置都使用NetworkManager来实现 NetworkManager服务提供了3种工具用来配置网卡参数 都不需要去手动修改网
  • 【每日多题之贪心】

    文章目录 1 分割平衡字符串 1 1 题目描述 1 2 题目分析 1 3 代码实现 2 最少操作数使数组递增 2 1 题目描述 2 2 题目分析 2 3 代码实现 3 卡车上的最大单元数 3 1 题目描述 3 2 题目分析 3 3 代码实现
  • 使用UML编写Java应用程序

    引言 统一建模语言 Unified Modeling Language 简写为UML 是一种通用的模拟语言 它可以用于确定 展示和记录软件系统的设计过程 统一建模语言中的图形标记 尤其是用于面向对象的软件设计 它有两大优点 1 UML是国际
  • iframe添加loading效果

    问题 当一个页面嵌入iframe时 iframe加载会有延迟 即在iframe元素展现前 嵌入iframe的父页面会有一段白屏情况 用户感知不到iframe页面在加载 体验效果不是很好 解决方法 为了提升用户体验 让用户感知到当前页面在加载
  • FISCO BCOS离线搭建单机单群组4节点

    系列文章目录 第一章 FISCO BCOS在线搭建单机单群组4节点 文章目录 系列文章目录 前言 一 安装准备 1 安装依赖包 2 创建操作目录 3 下载脚本 三 搭建单群组4节点联盟链 1 暂停并清除FISCO BCOS 2 搭建区块链
  • Python实战

    逆向完美世界登录 js代码调试阶段 1 查看密码关键字段 2 Ctrl shift f全局搜索 password 找到相关js文件 3 从代码的setpublickey encrypt关键字可以看出 使用了非对称加密算法 4 此处打断点 再
  • ubuntu 使用FFTW快速计算离散傅里叶变换

    FFTW the Faster Fourier Transform in the West 是一个快速计算离散傅里叶变换的标准C语言程序集 其由MIT的M Frigo 和S Johnson 开发 可计算一维或多维实和复数据以及任意规模的DF
  • 解决Xilinx_ISE 14.7在Win10下选择“open project”崩溃闪退的问题

    解决Xilinx ISE 14 7在Win10下选择 open project 崩溃闪退的问题 问题描述 ISE 14 7对win10无法完美支持 在使用64位ISE时点击OPEN之类的东西时程序都会崩溃 虽然使用32位不会有这个问题 但是
  • nvidia-docker容器迁移导致GPU启动失败解决方案

    引言 起因是最近发现一个很有趣的问题 当我的docker容器迁移到另一台服务器去 因为GPU版本不一致导致项目启动是会报错为 CUDA error CUDA ERROR NO DEVICE no CUDA capable device is
  • Python爬虫如何获取页面内所有URL链接?本文详解

    如何获取一个页面内所有URL链接 在Python中可以使用urllib对网页进行爬取 然后利用Beautiful Soup对爬取的页面进行解析 提取出所有的URL 什么是Beautiful Soup Beautiful Soup提供一些简单
  • mxnet.ndarray.slice_axis 沿给定轴切片

    mxnet ndarray slice axis data None axis Null begin Null end Null out None name None kwargs 作用 沿给定轴切片 返回沿给定轴从开始索引到结束索引的数组
  • 论文笔记-2019-Object Detection in 20 Years: A Survey

    Object Detection in 20 Years A Survey Zhengxia Zou Zhenwei Shi Member IEEE Yuhong Guo and Jieping Ye Senior Member IEEE论
  • kafkatemplate无法注入_Spring-Kafka(三)-KafkaTemplate发送消息及结果回调

    我们使用KafkaTemplate send String data 这个方法发送消息到Kafka中 显然这个方法并不能满足我们系统的需求 那我们需要查看一下KafkaTemplate所实现的接口 看看还提供了什么方法 当我们发送消息到Ka