【Kafka】Java整合Kafka
1.引入依赖
<dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.3.1</version></dependency>
2.搭建生产者
package com.wen.kafka;import org.apache.kafka.clients.producer.*;
import org.apache.kafka.common.serialization.StringSerializer;import java.util.Properties;
import java.util.concurrent.ExecutionException;public class MyProducer {public static void main(String[] args) throws ExecutionException, InterruptedException {//配置信息Properties prop = new Properties();prop.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "192.168.117.80:9092");prop.put(ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());prop.put(ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG, StringSerializer.class.getName());//创建生产者Producer<String,String> producer = new KafkaProducer<String, String>(prop);//创建消息ProducerRecord<String,String> record = new ProducerRecord<>("test", "hello kafka-client");//同步发送消息
// RecordMetadata metadata = producer.send(record).get();
// System.out.println("同步消息——topic:"+metadata.topic()+"partition"+metadata.partition()+"offset"+metadata.offset());//异步发送消息producer.send(record, new Callback() {@Overridepublic void onCompletion(RecordMetadata recordMetadata, Exception e) {if (e != null) {System.out.println(e.getMessage());}if (recordMetadata != null) {System.out.println("异步消息——topic:"+recordMetadata.topic()+"partition"+recordMetadata.partition()+"offset"+recordMetadata.offset());}}});Thread.sleep(1000);}
}
3.搭建消费者
package com.wen.kafka;import org.apache.kafka.clients.consumer.*;
import org.apache.kafka.common.serialization.StringDeserializer;import java.time.Duration;
import java.util.Arrays;
import java.util.Properties;public class MyConsumer {public static void main(String[] args) {//参数信息Properties prop = new Properties();prop.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG,"192.168.117.80:9092");prop.put(ConsumerConfig.GROUP_ID_CONFIG,"testGroup");prop.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());prop.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG,StringDeserializer.class.getName());//创建消费者Consumer<String,String> consumer = new KafkaConsumer<String, String>(prop);//订阅主题consumer.subscribe(Arrays.asList("test"));//拉取消息while (true){ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(1000));for (ConsumerRecord<String, String> record : records) {System.out.println(record.value());}}}
}
相关文章:
【Kafka】Java整合Kafka
1.引入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-clients</artifactId><version>2.3.1</version></dependency> 2.搭建生产者 package com.wen.kafka;import org.apache.kafka.clients.produ…...
所里网连不上,我服了
所里网连不上,我服了所里网连不上,我服了所里网连不上,我服了...
Yakit工具篇:WebFuzzer模块之热加载技术
简介 官方定义: 什么是热加载? 广义上来说,热加载是一种允许在不停止或重启应用程序的情况下,动态加载或更新特定组件或模块的功能。这种技术常用于开发过程中,提高开发效率和用户体验。 在Yakit 的Web Fuzzer中&…...
Linux基本指令(前篇)
目录 1.ls指令 2.pwd指令 3.cd 指令 4.touch指令 5.mkdir指令(重要) 6.rmdir指令 && rm 指令(重要) 7.man指令(重要) 1.ls指令 ls 选项 目录或文件 对于目录,该命令列出该目录下的所…...
[网鼎杯 2020 青龙组]singal
一道VM题目 可以看到长度是15 跟踪调用read函数的函数 分析一下switch中每个指令的含义、 在scanf下面打断点 在关键跳转处下断点 打开Ponce插件 GitHub - illera88/Ponce: IDA 2016 plugin contest winner! Symbolic Execution just one-click away! 然后开始动调 输入15个…...
Qt/QML编程学习之心得:一个QML工程的学习笔记(十)
前言: 到底什么是Qt Quick呢?因为Qt Quick是Qt新引入的,Qt Quick由Qt Quick模块提供,它是一个编写QML应用的标准库。Qt Quick模块提供了两种接口:使用QML语言创建应用的QML接口和使用C++语言扩展QML的C++接口。使用Qt Quick模块,设计人员和开发人员可以轻松地构建流畅的…...
LeetCode OJ循环队列(C语言)
1.题目的初步分析 我们分析上述题目的时候会发现题目非常的长,不好整理思路,我这里可以大致的将本题的几个核心点说出来: 1.队列的思路 循环队列说来说去不还是队列嘛,那么队列的基本操作增删查改、以及队列的基本结构肯定都是不能…...
打码平台之图鉴的使用步骤
打码平台之图鉴 背景: 今天给大家推荐一个我一直使用的验证码识别平台,图鉴,我没有收费,我只是觉得这个网站使用方便,支持验证码种类多,好了,话不多说,上教程! 注册…...
站群服务器与普通服务器有哪些区别?
站群服务器"通常指一组被单个实体或组织控制的网络站点,用于提高特定站点在搜索引擎中的排名。在讨论站群服务器与普通服务器的区别时,可能涉及到以下方面: 1. IP地址: 站群服务器: 站群服务器可能涉及多个站点&a…...
Java-使用poi-tl根据word模板动态生成word
作者wangsz,想写一些关于word的工具,所以就写了这篇文章 1.首先,先导入所需要的依赖(poi相关依赖即可) <!-- POI --><dependency><groupId>org.apache.poi</groupId><artifactId>poi&l…...
计算机毕业设计 基于SpringBoot的物业管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解
博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…...
UI for Apache Kafka
文章Overview of UI Tools for Monitoring and Management of Apache Kafka Clusters | by German Osin | Towards Data Science中介绍了8种常见的kafka UI工具,这些产品的核心功能对比信息如下图所示, 通过对比发现 UI for Apache Kafka 功能齐全且免费,因此可以作为我们的首…...
iview table 默认排序字段不高亮解决办法
iview treeSelect 组件封装 1、表格增加排序时触发的方法2、定义三个变量,sortColumnDefaultStyle存放默认的样式,定义页面默认的列以及顺序3、显示的列加上 sortable, 和样式4、使用下面这块代表默认选中5、点击时清除掉默认的排序6、把排序的字段查询时…...
系列七、ThreadLocal为什么会导致内存泄漏
一、ThreadLocal为什么会导致内存泄露 1.1、ThreadLocalMap的基本结构 ThreadLocalMap是ThreadLocal的内部类,没有实现Map接口,用独立的方式实现了Map的功能,其内部的Entry也是独立实现的。源码如下: 1.2、ThreadLocal引用示意图…...
如何避免死锁
程序员的公众号:源1024,获取更多资料,无加密无套路! 最近整理了一波电子书籍资料,包含《Effective Java中文版 第2版》《深入JAVA虚拟机》,《重构改善既有代码设计》,《MySQL高性能-第3版》&…...
HTML新特性【缩放图像、图像切片、平移、旋转、缩放、变形、裁切路径、时钟、运动的小球】(二)-全面详解(学习总结---从入门到深化)
目录 绘制图像_缩放图像 绘制图像_图像切片 Canvas状态的保存和恢复 图形变形_平移 图形变形_旋转 图形变形_缩放 图形变形_变形 裁切路径 动画_时钟 动画_运动的小球 引入外部SVG 绘制图像_缩放图像 ctx.drawImage(img, x, y, width, height) img …...
C/C++ 开发SCM服务管理组件
SCM(Service Control Manager)服务管理器是 Windows 操作系统中的一个关键组件,负责管理系统服务的启动、停止和配置。服务是一种在后台运行的应用程序,可以在系统启动时自动启动,也可以由用户或其他应用程序手动启动。…...
springboot程序启动成功后执行的方法
//实现该接口,run方法既程序启动成功后将要执行的方法 // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) //package org.springframework.boot;FunctionalInterface public interface CommandLineRunner {…...
STM32 寄存器配置笔记——USART配置 打印
一、概述 本文主要介绍如何配置USART,并通过USART打印验证结果。以stm32f10为例,将PA9、PA10复用为USART功能,使用HSE PLL输出72MHZ时钟 APB2 clk不分频提供配置9600波特率。波特率计算公式如下: fck即为APB2 clk参考计算…...
Spine深入学习 —— 数据
atlas数据的处理 作用 图集,描述了spine使用的图片信息。 结构 page 页块 页块包含了页图像名称, 以及加载和渲染图像的相关信息。 page1.pngsize: 640, 480format: RGBA8888filter: Linear, Linearrepeat: nonepma: truename: 首行为该页中的图像名称. 图片位…...
从串联到全桥:一张图看懂开关电源四大拓扑怎么选(含设计实例)
从串联到全桥:开关电源四大拓扑实战选型指南 电源工程师的桌面上总摆着几本翻烂的参考书,而最常被折角的那页必定是拓扑结构对比图。记得刚入行时,我的导师在实验室白板上画下四个方框:"选错拓扑就像给跑车装拖拉机引擎——…...
别再搞混了!Ubuntu 20.04上`ssh`和`sshd`服务的区别,以及systemctl的正确操作姿势
Ubuntu 20.04中SSH服务管理的深度解析:从混淆到精通 在Linux系统管理中,SSH服务无疑是日常操作中最常打交道的组件之一。但许多中级用户甚至部分资深开发者,在面对Ubuntu系统中ssh和sshd的命名差异时,仍会陷入困惑。这种困惑不仅体…...
终极指南:10分钟掌握FanControl,让你的电脑风扇智能又安静
终极指南:10分钟掌握FanControl,让你的电脑风扇智能又安静 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/Git…...
从一次‘背锅’经历讲起:我是如何用VRRP+静态路由搞定小型企业网络冗余的
从一次‘背锅’经历讲起:我是如何用VRRP静态路由搞定小型企业网络冗余的 那是个周一的早晨,市场部的电话直接打爆了我的手机——CRM系统集体掉线,正在进行的客户演示被迫中断。当我气喘吁吁跑到机房时,老旧的边缘路由器指示灯正在…...
AGI发明人署名权正在消失:当LLM贡献度超65%,谁才是法律意义上的“发明人”?——国家知识产权局内部研讨纪要节选(限2024Q3前获取)
第一章:AGI的知识产权与专利分析 2026奇点智能技术大会(https://ml-summit.org) 通用人工智能(AGI)的研发正加速进入全球知识产权博弈的核心地带。与传统AI不同,AGI系统涉及跨模态认知架构、自主目标建模、元学习推理引擎等高度…...
专业PCB逆向分析利器:OpenBoardView深度实战指南
专业PCB逆向分析利器:OpenBoardView深度实战指南 【免费下载链接】OpenBoardView View .brd files 项目地址: https://gitcode.com/gh_mirrors/op/OpenBoardView OpenBoardView是一款专业的开源PCB文件查看器,专注于.brd电路板文件的逆向分析和可…...
2026最权威的五大AI科研平台实测分析
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 追随人工智能技术的广泛应用,借助AI辅助学术写作变成了高效研究的关键办法。本文…...
Gitleaks介绍(开源的Git仓库敏感信息扫描工具,用于检测代码中是否包含潜在secrets)密钥扫描、敏感信息扫描、自定义规则Regex、SARIF、质量门禁、Trivy、SAST
文章目录使用 Gitleaks 防止代码仓库泄露敏感信息一、什么是 Gitleaks?二、为什么需要 Gitleaks?1. Git 是“永久记录”2. 自动化开发带来的风险3. 安全合规要求三、Gitleaks 的核心能力1. 基于规则的检测(Rule-based Detection)2…...
别再死记硬背了!用Arduino和STM32的实例,带你搞懂冯诺依曼与哈佛结构到底差在哪
从Arduino到STM32:动手实验揭开哈佛与冯诺依曼架构的神秘面纱 第一次接触嵌入式开发时,我对着Arduino Uno和STM32开发板发呆——为什么同样的闪烁LED代码,在两种板子上会有不同的性能表现?直到某天用逻辑分析仪捕捉到内存访问波形…...
终极键盘鼠标控制器:Mouseable如何彻底改变你的工作效率
终极键盘鼠标控制器:Mouseable如何彻底改变你的工作效率 【免费下载链接】mouseable Mouseable is intended to replace a mouse or trackpad. 项目地址: https://gitcode.com/gh_mirrors/mo/mouseable 在当今数字化工作环境中,鼠标已经成为我们日…...
