关于springboot创建kafkaTopic

工具类提供,方法名见名知意。使用kafka admin


import org.apache.kafka.clients.admin.*;
import org.apache.kafka.common.KafkaFuture;import java.util.*;
import java.util.concurrent.ExecutionException;import org.apache.kafka.clients.admin.AdminClient;
import org.apache.kafka.clients.admin.AdminClientConfig;
import org.apache.kafka.clients.admin.ListTopicsOptions;
import org.apache.kafka.clients.admin.TopicDescription;
import org.apache.kafka.common.KafkaFuture;
import org.apache.kafka.common.TopicPartitionInfo;import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ExecutionException;
/*** @author: zhoumo* @data: 2024/6/24 16:37* @descriptions:*/
public class KafkaTopicInfo {final static String ip="127.0.0.1:9090";public static void main(String[] args) {getListDetail();}public static void createTopic(String topicName) throws ExecutionException, InterruptedException {// Kafka 配置Properties props = new Properties();// Kafka 服务器地址和端口props.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, ip);// 创建 AdminClient 实例try (AdminClient adminClient = AdminClient.create(props)) {// 创建一个新的主题// 指定分区数量// 指定复制因子int numPartitions = 2;short replicationFactor = 1;NewTopic newTopic = new NewTopic(topicName, numPartitions, replicationFactor);// 创建主题adminClient.createTopics(Collections.singletonList(newTopic)).all().get();System.out.println("Topic created successfully: " + topicName);} catch (Exception e) {e.printStackTrace();}}public static void deleteTopic(String topicName) {// Kafka 配置Properties props = new Properties();props.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, ip);try (AdminClient adminClient = AdminClient.create(props)) {// 要删除的主题名称//   String topicName = "myTopic";// 删除主题DeleteTopicsResult deleteResult = adminClient.deleteTopics(Collections.singletonList(topicName));deleteResult.all().get();System.out.println("Topic deleted successfully: " + topicName);} catch (ExecutionException | InterruptedException e) {e.printStackTrace();}}public static void getList() {// Kafka 配置Properties props = new Properties();props.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, ip);try (AdminClient adminClient = AdminClient.create(props)) {// 列出所有主题ListTopicsOptions options = new ListTopicsOptions();// 是否包括内部主题,默认为 falseoptions.listInternal(true);ListTopicsResult topicsResult = adminClient.listTopics(options);Set<String> topics = topicsResult.names().get();System.out.println("Existing topics:");for (String topic : topics) {System.out.println(topic);}} catch (ExecutionException | InterruptedException e) {e.printStackTrace();}}public static void getListDetail() {// Kafka 配置Properties props = new Properties();props.put(AdminClientConfig.BOOTSTRAP_SERVERS_CONFIG, ip);try (AdminClient adminClient = AdminClient.create(props)) {// 列出所有主题ListTopicsOptions options = new ListTopicsOptions();// 是否包括内部主题,默认为 falseoptions.listInternal(true);KafkaFuture<Set<String>> topics = adminClient.listTopics(options).names();System.out.println("Existing topics:");for (String topic : topics.get()) {System.out.println(topic);// 获取主题的详细信息(包括分区情况)/*回退jdk1.8 版本KafkaFuture<TopicDescription> topicDescription = adminClient.describeTopics(Set.of(topic)).values().get(topic);printTopicDetails(topicDescription.get());*/Set<String> topicSet = new HashSet<>();topicSet.add(topic);KafkaFuture<TopicDescription> topicDescriptionFuture = adminClient.describeTopics(topicSet).values().get(topic);TopicDescription topicDescription = topicDescriptionFuture.get();printTopicDetails(topicDescription);}} catch (ExecutionException | InterruptedException e) {e.printStackTrace();}}private static void printTopicDetails(TopicDescription topicDescription) {System.out.println("Topic: " + topicDescription.name());System.out.println("Partitions:");for (TopicPartitionInfo partition : topicDescription.partitions()) {System.out.printf("  Partition %d, Leader: %d, Replicas: %s, Isrs: %s%n",partition.partition(),partition.leader().id(),partition.replicas(),partition.isr());}System.out.println();}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/34180.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

pdf压缩大小,PDF压缩大小不影响清晰度

你是否曾为PDF文件过大而烦恼&#xff1f;想要分享或上传文件时&#xff0c;却因为它的体积而束手无策&#xff1f;别担心&#xff0c;今天我将为大家分享一些简单实用的 PDF 压缩技巧&#xff0c;让你的文件轻松压缩pdf。 打开“轻云处理pdf官网”&#xff0c; 的网站。然后上…

Android Studio修改Standard到Custom模式的方法

这次安装Android Studio时没有照着教程安装&#xff0c;在选择setup模式的时候选择了Standard模式&#xff0c;之后C盘差点爆炸&#xff0c;尝试卸载之后下载重新选择Custom模式&#xff0c;发现不出现弹窗。 修改方法&#xff1a; 1.在C:\Users\用户名\AppData\Roaming\Goog…

架构篇(spring、springMVC、springBoot、myBatis)

spring中的bean是线程安全的吗&#xff1f; 不是线程安全的。若bean中有可以修改的成员变量&#xff0c;是要考虑线程安全问题的。若bean中没有可修改的成员变量&#xff08;无状态bean&#xff09;&#xff0c;是不需要考虑线程安全问题的。 说一下spring&#xff1f; spri…

优先级队列模拟实现

目录 1.堆的概念 2.堆性质堆中的某个元素小于或大于他的左右孩子 3.小根堆实例 4.堆创建 4.1调整思路 4.2向下调整思路 4.3代码实现&#xff08;大根堆&#xff09; 5.堆的删除 6.堆的插入 7.常用接口 7.1PriorityQueue和PriorityBlockingQueue 1.堆的概念 如果有一…

湖南省物联网挑战赛教学平台使用说明文档

1物联网教学平台硬件连接 1.1硬件介绍 1&#xff09;物联网教学平台实验箱 2&#xff09;物联网硬件平台 3&#xff09;无线传感器节点 4&#xff09;智能烧录平台 1.2连线 注&#xff1a;智能烧录平台上的USB接口必须与物联网硬件平台“开关”那一面最右侧USB接口连接 1.3修…

[Angew]:调整单原子 Pt1/CeO2催化剂中铂的局部环境以实现稳定的低温 CO 氧化

通过热冲击合成调整孤立 Pt2+的局部环境,开发出一种用于 CO 氧化的高活性和坚固的单原子 Pt1/CeO2催化剂(见图)。惰性气氛中的超快冲击波在非对称 Pt1O4结构中产生 Pt 单原子,从而大大增强了低温活性,并且在氧化条件下仍能保持活性。 摘要:通过原子捕获(AT,800C空气中…

Electron 整理文档

Electron 简介 Electron 是一个使用 JavaScript、 HTML 和 CSS 构建桌面应用程序的框架。通过将 Chromium 和 Node.js 嵌入到它的二进制文件中&#xff0c;Electron 允许你维护一个 JavaScript 代码库&#xff0c;并创建可以在 Windows、 macOS 和 Linux 上运行的跨平台应用程序…

Fastly的新API有望提高ChatGPT的可访问性

该公司报告称&#xff0c;Fastly AI在其 Edge Cloud Platform 上运行并利用语义缓存&#xff0c;加快了 AI 聊天机器人的访问时间&#xff0c;促进了代码生成和调试等开发人员服务。 该公司暗示&#xff0c;它可能会通过扩展这一专门的 API 来拓宽其 AI 战略&#xff0c;以便未…

ONLYOFFICE 桌面编辑器 8.1 发布:全新 PDF 编辑器、幻灯片版式、增强 RTL 支持及更多本地化选项

目录 什么是ONLYOFFICE&#xff1f; ONLYOFFICE 主要特点包括&#xff1a; 官网信息&#xff1a; 1. 功能齐全的 PDF 编辑器 1.1 编辑 PDF 文本 1.2 插入和修改对象 1.3 创建和填写表单 2. 幻灯片版式功能 2.1 快速应用幻灯片版式 2.2 动画窗格的改进 3. 文档编辑、…

同元软控智能电动汽车数字化解决方案亮相CICV 2024

2024年6月18日-20日&#xff0c;由中国汽车工程学会、国家智能网联汽车创新中心、清华大学车辆与运载学院、清华大学智能绿色车辆与交通全国重点实验室举办的第十一届国际智能网联汽车技术年会&#xff08;CICV 2024&#xff09;在北京召开。苏州同元软控信息技术有限公司&…

冻干食品市场飙升至新高度,预计到 2030 年将达到 717 亿美元

冻干食品市场&#xff0c;近年来经历了显著增长&#xff0c;2021 年价值 372 亿美元&#xff0c;预计到 2030 年将达到 717 亿美元。 从2022年到2030年&#xff0c;这一强劲的扩张是由7.7%的复合年增长率推动的&#xff0c;这是由于多种因素造成的&#xff0c;包括食品加工行…

营销复盘秘籍,6步法让你的活动效果翻倍

在营销的世界中&#xff0c;每一次活动都是一次探险&#xff0c;而复盘就是探险后的宝藏图&#xff0c;指引我们发现问题、提炼经验、优化策略。 想要学习如何复盘&#xff0c;只要了解以下复盘六大步骤&#xff0c;即可不断总结&#xff0c;逐渐走向卓越。 第一步&#xff1…

超级内卷时代,这样做,刻不容缓

分享一个月入十万的赚钱项目 别再抱怨手上项目不好做&#xff0c;生意不好做了&#xff0c;这只是个开始&#xff0c;长远来看&#xff0c;2024应该是未来几年中经济环境最好的一年&#xff0c;我们所有人都已经进入到“超级内卷”时代&#xff01; 随着竞争环境越来越激烈&…

clickhouse分页使用mybatis-plus

需求&#xff1a;使用clickhouse时需要用到分页。 解决办法&#xff1a;mybatis-plus3.X已经支持ClickHouse数据库&#xff0c;只需正确配置其他用法跟用mysql一样。 (注&#xff1a;使用3.2.0版本并不支持clickhouse,需要更高版本) 参考博客&#xff1a;https://blog.csdn.net…

斯坦福大学 AI 研究部门推出的“7 周人工智能学习计划”

①AI Python 基础&#xff0c;包括计算机原理、语法、判断语句等&#xff1b; ②AI Python 进阶&#xff0c;涉及 Linux 命令、多任务编程等&#xff1b; ③机器学习&#xff0c;涵盖算法、数据结构等&#xff1b; ④计算机视觉与图像处理&#xff0c;包含图像分类、目标检测…

软件工程体系概念

软件工程 软件工程是应用计算机科学、数学及 管理科学等原理开发软件的工程。它借鉴 传统工程的原则、方法&#xff0c;以提高质量&#xff0c;降 低成本为目的。 一、软件生命周期 二、软件开发模型 1.传统模型 瀑布模型、V模型、W模型、X 模型、H 模型 (1)瀑布模型 瀑布…

我原以为政务类网站不追求漂亮,打脸啦,漂亮得颠覆你认知。

我原本以为政务类网站一定时沉稳、工整、信息量大的&#xff0c;这些和漂流都关联不上&#xff0c;直到最近看了一些网站&#xff0c;发现我的认识狭隘了。 政务类网站的设计风格通常需要注重以下几个方面&#xff1a; 稳重和专业感&#xff1a; 政务类网站需要给人以稳重、正…

【JavaScript】typeof返回值

typeof 用于返回数据类型&#xff0c;共六种返回值&#xff1a; 1.number, 2.string, 3.boolean, 4.object(object, array, null的返回值都为object), 5.function, 6.undefined。 let a hello let b [1, 2, 3] console.log(typeof NaN)//number console.log(typeof (NaN))//…

如何备份和恢复 Docker Desktop 数据

如何备份和恢复 Docker Desktop 数据 在使用 Docker Desktop 进行开发和部署时&#xff0c;备份和恢复 Docker 数据是非常重要的。本文将详细介绍如何在 Docker Desktop 中备份和恢复数据&#xff0c;确保您的容器和相关数据在任何情况下都能得到保护。 为什么需要备份和恢复…