java kafka客户端何时设置的kafka消费者默认值

kafka为什么有些属性没有配置却能正常工作,那是因为kafka-clients对有些消费者设置了默认值,具体看下ConsumerConfig类的静态模块,具体如下所示:

kafka为什么有些属性没有配置却能正常工作,那是因为kafka-clients对有些消费者设置了默认值,具体看下ConsumerConfig类的静态模块,具体如下所示:static {CONFIG = new ConfigDef().define(BOOTSTRAP_SERVERS_CONFIG,Type.LIST,Collections.emptyList(),new ConfigDef.NonNullValidator(),Importance.HIGH,CommonClientConfigs.BOOTSTRAP_SERVERS_DOC).define(CLIENT_DNS_LOOKUP_CONFIG,Type.STRING,ClientDnsLookup.USE_ALL_DNS_IPS.toString(),in(ClientDnsLookup.DEFAULT.toString(),ClientDnsLookup.USE_ALL_DNS_IPS.toString(),ClientDnsLookup.RESOLVE_CANONICAL_BOOTSTRAP_SERVERS_ONLY.toString()),Importance.MEDIUM,CommonClientConfigs.CLIENT_DNS_LOOKUP_DOC).define(GROUP_ID_CONFIG, Type.STRING, null, Importance.HIGH, GROUP_ID_DOC).define(GROUP_INSTANCE_ID_CONFIG,Type.STRING,null,Importance.MEDIUM,GROUP_INSTANCE_ID_DOC).define(SESSION_TIMEOUT_MS_CONFIG,Type.INT,10000,Importance.HIGH,SESSION_TIMEOUT_MS_DOC).define(HEARTBEAT_INTERVAL_MS_CONFIG,Type.INT,3000,Importance.HIGH,HEARTBEAT_INTERVAL_MS_DOC).define(PARTITION_ASSIGNMENT_STRATEGY_CONFIG,Type.LIST,Collections.singletonList(RangeAssignor.class),new ConfigDef.NonNullValidator(),Importance.MEDIUM,PARTITION_ASSIGNMENT_STRATEGY_DOC).define(METADATA_MAX_AGE_CONFIG,Type.LONG,5 * 60 * 1000,atLeast(0),Importance.LOW,CommonClientConfigs.METADATA_MAX_AGE_DOC).define(ENABLE_AUTO_COMMIT_CONFIG,Type.BOOLEAN,true,Importance.MEDIUM,ENABLE_AUTO_COMMIT_DOC).define(AUTO_COMMIT_INTERVAL_MS_CONFIG,Type.INT,5000,atLeast(0),Importance.LOW,AUTO_COMMIT_INTERVAL_MS_DOC).define(CLIENT_ID_CONFIG,Type.STRING,"",Importance.LOW,CommonClientConfigs.CLIENT_ID_DOC).define(CLIENT_RACK_CONFIG,Type.STRING,"",Importance.LOW,CommonClientConfigs.CLIENT_RACK_DOC).define(MAX_PARTITION_FETCH_BYTES_CONFIG,Type.INT,DEFAULT_MAX_PARTITION_FETCH_BYTES,atLeast(0),Importance.HIGH,MAX_PARTITION_FETCH_BYTES_DOC).define(SEND_BUFFER_CONFIG,Type.INT,128 * 1024,atLeast(CommonClientConfigs.SEND_BUFFER_LOWER_BOUND),Importance.MEDIUM,CommonClientConfigs.SEND_BUFFER_DOC).define(RECEIVE_BUFFER_CONFIG,Type.INT,64 * 1024,atLeast(CommonClientConfigs.RECEIVE_BUFFER_LOWER_BOUND),Importance.MEDIUM,CommonClientConfigs.RECEIVE_BUFFER_DOC).define(FETCH_MIN_BYTES_CONFIG,Type.INT,1,atLeast(0),Importance.HIGH,FETCH_MIN_BYTES_DOC).define(FETCH_MAX_BYTES_CONFIG,Type.INT,DEFAULT_FETCH_MAX_BYTES,atLeast(0),Importance.MEDIUM,FETCH_MAX_BYTES_DOC).define(FETCH_MAX_WAIT_MS_CONFIG,Type.INT,500,atLeast(0),Importance.LOW,FETCH_MAX_WAIT_MS_DOC).define(RECONNECT_BACKOFF_MS_CONFIG,Type.LONG,50L,atLeast(0L),Importance.LOW,CommonClientConfigs.RECONNECT_BACKOFF_MS_DOC).define(RECONNECT_BACKOFF_MAX_MS_CONFIG,Type.LONG,1000L,atLeast(0L),Importance.LOW,CommonClientConfigs.RECONNECT_BACKOFF_MAX_MS_DOC).define(RETRY_BACKOFF_MS_CONFIG,Type.LONG,100L,atLeast(0L),Importance.LOW,CommonClientConfigs.RETRY_BACKOFF_MS_DOC).define(AUTO_OFFSET_RESET_CONFIG,Type.STRING,"latest",  //in("latest", "earliest", "none"),Importance.MEDIUM,AUTO_OFFSET_RESET_DOC).define(CHECK_CRCS_CONFIG,Type.BOOLEAN,true,Importance.LOW,CHECK_CRCS_DOC).define(METRICS_SAMPLE_WINDOW_MS_CONFIG,Type.LONG,30000,atLeast(0),Importance.LOW,CommonClientConfigs.METRICS_SAMPLE_WINDOW_MS_DOC).define(METRICS_NUM_SAMPLES_CONFIG,Type.INT,2,atLeast(1),Importance.LOW,CommonClientConfigs.METRICS_NUM_SAMPLES_DOC).define(METRICS_RECORDING_LEVEL_CONFIG,Type.STRING,Sensor.RecordingLevel.INFO.toString(),in(Sensor.RecordingLevel.INFO.toString(), Sensor.RecordingLevel.DEBUG.toString(), Sensor.RecordingLevel.TRACE.toString()),Importance.LOW,CommonClientConfigs.METRICS_RECORDING_LEVEL_DOC).define(METRIC_REPORTER_CLASSES_CONFIG,Type.LIST,Collections.emptyList(),new ConfigDef.NonNullValidator(),Importance.LOW,CommonClientConfigs.METRIC_REPORTER_CLASSES_DOC).define(KEY_DESERIALIZER_CLASS_CONFIG,Type.CLASS,Importance.HIGH,KEY_DESERIALIZER_CLASS_DOC).define(VALUE_DESERIALIZER_CLASS_CONFIG,Type.CLASS,Importance.HIGH,VALUE_DESERIALIZER_CLASS_DOC).define(REQUEST_TIMEOUT_MS_CONFIG,Type.INT,30000,atLeast(0),Importance.MEDIUM,REQUEST_TIMEOUT_MS_DOC).define(DEFAULT_API_TIMEOUT_MS_CONFIG,Type.INT,60 * 1000,atLeast(0),Importance.MEDIUM,CommonClientConfigs.DEFAULT_API_TIMEOUT_MS_DOC).define(SOCKET_CONNECTION_SETUP_TIMEOUT_MS_CONFIG,Type.LONG,CommonClientConfigs.DEFAULT_SOCKET_CONNECTION_SETUP_TIMEOUT_MS,Importance.MEDIUM,CommonClientConfigs.SOCKET_CONNECTION_SETUP_TIMEOUT_MS_DOC).define(SOCKET_CONNECTION_SETUP_TIMEOUT_MAX_MS_CONFIG,Type.LONG,CommonClientConfigs.DEFAULT_SOCKET_CONNECTION_SETUP_TIMEOUT_MAX_MS,Importance.MEDIUM,CommonClientConfigs.SOCKET_CONNECTION_SETUP_TIMEOUT_MAX_MS_DOC)/* default is set to be a bit lower than the server default (10 min), to avoid both client and server closing connection at same time */.define(CONNECTIONS_MAX_IDLE_MS_CONFIG,Type.LONG,9 * 60 * 1000,Importance.MEDIUM,CommonClientConfigs.CONNECTIONS_MAX_IDLE_MS_DOC).define(INTERCEPTOR_CLASSES_CONFIG,Type.LIST,Collections.emptyList(),new ConfigDef.NonNullValidator(),Importance.LOW,INTERCEPTOR_CLASSES_DOC).define(MAX_POLL_RECORDS_CONFIG,Type.INT,500,atLeast(1),Importance.MEDIUM,MAX_POLL_RECORDS_DOC).define(MAX_POLL_INTERVAL_MS_CONFIG,Type.INT,300000,atLeast(1),Importance.MEDIUM,MAX_POLL_INTERVAL_MS_DOC).define(EXCLUDE_INTERNAL_TOPICS_CONFIG,Type.BOOLEAN,DEFAULT_EXCLUDE_INTERNAL_TOPICS,Importance.MEDIUM,EXCLUDE_INTERNAL_TOPICS_DOC).defineInternal(LEAVE_GROUP_ON_CLOSE_CONFIG,Type.BOOLEAN,true,Importance.LOW).defineInternal(THROW_ON_FETCH_STABLE_OFFSET_UNSUPPORTED,Type.BOOLEAN,false,Importance.LOW).define(ISOLATION_LEVEL_CONFIG,Type.STRING,DEFAULT_ISOLATION_LEVEL,in(IsolationLevel.READ_COMMITTED.toString().toLowerCase(Locale.ROOT), IsolationLevel.READ_UNCOMMITTED.toString().toLowerCase(Locale.ROOT)),Importance.MEDIUM,ISOLATION_LEVEL_DOC).define(ALLOW_AUTO_CREATE_TOPICS_CONFIG,Type.BOOLEAN,DEFAULT_ALLOW_AUTO_CREATE_TOPICS,Importance.MEDIUM,ALLOW_AUTO_CREATE_TOPICS_DOC)// security support.define(SECURITY_PROVIDERS_CONFIG,Type.STRING,null,Importance.LOW,SECURITY_PROVIDERS_DOC).define(CommonClientConfigs.SECURITY_PROTOCOL_CONFIG,Type.STRING,CommonClientConfigs.DEFAULT_SECURITY_PROTOCOL,Importance.MEDIUM,CommonClientConfigs.SECURITY_PROTOCOL_DOC).withClientSslSupport().withClientSaslSupport();
}

像auto.offset.reset这个配置默认值为latest一样,再看下ConsumerConfig的几个构造方法

    public ConsumerConfig(Properties props) {super(CONFIG, props);}public ConsumerConfig(Map<String, Object> props) {super(CONFIG, props);}

是的,所有的ConsumerConfig构造方法都将上面的默认配置CONFIG传入了构造方法,将下来的处理就是如果显式配置了对应的配置项就使用显式配置数据,没有则使用CONFIG里面的默认配置。

PS:

上面的默认配置除了有一些配置的默认配置,一些枚举属性还有其可选值,比如

auto.offset.reset的可选项

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

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

相关文章

AJAX 02 案例、Bootstrap框架

AJAX 学习 AJAX 2 综合案例黑马 API01 图书管理Bootstrap 官网Bootstrap 弹框图书管理-渲染列表图书管理-添加图书图书管理-删除图书图书管理 - 编辑图书 02 图片上传03 更换图片04 个人信息设置信息渲染头像修改补充知识点&#xff1a;label扩大表单的范围 AJAX 2 综合案例 黑…

【FPGA】DDR3学习笔记(二)丨从SDRAM到DDR3的IP核设计

本篇文章包含的内容 一、DDR SDRAM1.1 基本概述1.2 工作时序&#xff08;以读取为例&#xff09; 二、DDR2 SDRAM2.1 基本概述2.2 工作时序 三、DDR3 SDRAM3.1 基本概述3.2 硬件设计3.3 读写时序3.4 MIG IP核设计3.5 读写代码设计 开发板&#xff1a;正点原子的达芬奇开发板&am…

【Leetcode每日一题】 递归 - 合并两个有序链表(难度⭐)(35)

1. 题目解析 题目链接&#xff1a;21. 合并两个有序链表 这个问题的理解其实相当简单&#xff0c;只需看一下示例&#xff0c;基本就能明白其含义了。 2.算法原理 1. 递归函数定义与功能 递归函数的主要任务是将两个有序链表合并成一个新的有序链表&#xff0c;并返回合并后…

Git 学习笔记 三个区域、文件状态、分支、常用命令

Git 学习 GitGit概念VS Code中使用仓库&#xff08;repository&#xff09;示例 Git 使用时的三个区域示例 Git 文件状态示例 Git 暂存区示例 Git 回退版本删除文件忽略文件示例 分支分支的使用分支的合并与删除分支的合并冲突 Git常用命令Git远程仓库 (HTTP)步骤远程仓库 克隆…

【Linux】Linux命令速查表

Linux 命令列表 – 目录 文件和目录操作命令 文件权限命令文件压缩和归档命令进程管理命令系统信息命令 联网命令 IO重定向命令环境变量命令 用户管理命令 快捷键命令列表 Bash 快捷键命令 Nano 快捷键命令 VI 快捷键命令 Vim 快捷键命令Linux 命令备忘单常见问题解答 1. 文件和…

[linux]信号处理:信号编码、基本API、自定义函数和集合操作的详解

一、信号的概述 1、定义 信号是 Linux 进程间通信的最古老的方式。信号是软件中断&#xff0c;它是在软件层次 上对中断机制的一种模拟&#xff0c;是一种异步&#xff08;不等待&#xff09;通信的方式 。信号可以导致一个正在运行的进程被 另一个正在运行的异步进程中断&a…

PyCharm创建一个简单的Django项目

1.Django简介 Django 是一个开放源代码的 Web 应用程序框架&#xff0c;由 Python 编写而成。它遵循 MVC&#xff08;模型-视图-控制器&#xff09;的软件设计模式&#xff0c;采用了 MTV&#xff08;模型-模板-视图&#xff09;的架构。Django 的设计目标是使开发复杂的、数据…

【MATLAB源码-第162期】基于matlab的MIMO系统的MMSE检测,软判决和硬判决误码率曲线对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 MIMO系统(Multiple-Input Multiple-Output&#xff0c;多输入多输出系统)是现代无线通信技术中的关键技术之一&#xff0c;它能够显著增加通信系统的容量和频谱效率&#xff0c;而不需要增加额外的带宽或发射功率。在MIMO系统…

边缘计算全面概述

什么是边缘计算&#xff1f; 边缘计算是一种分布式计算概念&#xff0c;将智能集成到边缘设备&#xff08;边缘节点&#xff09;中&#xff0c;使数据能够在数据采集源附近实时处理和分析。由于边缘计算在网络边缘本地处理数据&#xff0c;而不是在云端或集中式数据中心&#…

云端巨擘:大数据与云计算的时代航向

文章目录 大数据时代大数据特点(4v1C大数据与云计算的关系 云计算云计算定义云计算特点云计算分类&#xff08;服务类型&#xff09;云计算实现机制云计算体系结构云计算的管理中间件层 大数据时代 大数据定义&#xff1a;海量数据或巨量数据&#xff0c;其规模巨大到无法通过…

学生时期学习资源同步-1 第一学期结业考试题9

原创作者&#xff1a;田超凡&#xff08;程序员田宝宝&#xff09; 版权所有&#xff0c;引用请注明原作者&#xff0c;严禁复制转载

ArrayList 是如何进行扩容的?

典型回答 ArrayList 在添加元素时&#xff0c;会自动进行扩容操作&#xff0c;它的执行步骤如下&#xff1a; 当 ArrayList 的内部数组空间不足以容纳新增的元素时&#xff0c;会触发扩容机制。ArrayList 会创建一个新的更大的数组&#xff0c;通常是当前数组长度的 1.5倍 (可…

LAMP网站部署(Discuz论坛网站部署)

目录 mysql命令 语法 选项 参数 实例 安装php 安装Mariadb 关掉防火墙和selinux 启动HTTP服务 初始化数据库 查看数据库是否创建成功 修改HTTP的配置文件 浏览器打开 将以下所有目录都加上权限 最后首页效果 mysql命令 是MySQL数据库服务器的客户端工具&#xff0c;它工作在命…

从根到叶:深度理解哈希表

​​​​​​​ 一.哈希表的概念 关于查找元素时&#xff1a; 在顺序结构以及平衡树 中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在 查找一个元素时&#xff0c;必须要经过关键 码的多次比较 。 顺序查找时间复杂度为 O(N) &#xff0c;平衡树中…

Acwing-基础算法课笔记之动态规划(背包问题)

Acwing-基础算法课笔记之动态规划&#xff08;背包问题&#xff09; 一、01背包问题1、概述2、过程模拟 二、完全背包问题1、概述2、闫氏dp分析完全背包问题3、过程模拟代码模板 三、多重背包问题1、概述2、过程模拟3、多重背包问题的优化版本 分组背包问题1、概述2、过程模拟3…

修改vscode的相对路径计算逻辑

vscode的相对路径计算逻辑是&#xff0c;"./"表示当前项目的文件夹&#xff0c;而不是当前文件所在的文件夹 做出如下修改&#xff1a; File-->Preferences-->settings 搜索Execute in File Dir , 然后取消勾选

粒子群算法对pi控制器进行参数优化,随时优化pi参数以控制直流无刷电机转速。

粒子群算法对pi控制器进行参数优化&#xff0c;随时优化pi参数以取得设定直流无刷电机转速。 PSO优化PID&#xff0c;用于BLDC速度控制 仿真平台为&#xff1a;MATLAB 采用的是Simulinkm程序相配合 仿真结果以及程序示例&#xff1a;

如何配置Apache的反向代理

目录 前言 一、反向代理的工作原理 二、Apache反向代理的配置 1. 安装Apache和相关模块 2. 配置反向代理规则 3. 重启Apache服务器 三、常见的使用案例 1. 负载均衡 2. 缓存 3. SSL加密 总结 前言 随着Web应用程序的不断发展和扩展&#xff0c;需要处理大量的请求和…

Excel第26享:模糊查找之Hlookup函数与通配符的嵌套

1、需求描述 如下图所示&#xff0c;现第一行有三个参考值&#xff1a;人S、羊E、猪3&#xff0c;在第三行有5个字&#xff1a;马、牛、人、羊、猪&#xff0c;每个字如果出现在第一行的三个参考值中&#xff0c;就返回该单元格的数值。如&#xff0c;人&#xff0c;就返回“人…

【SpringCloud微服务实战08】RabbitMQ 消息队列

MQ异步通信优缺点: 优点: 吞吐量提升:无需等待订阅者处理完成,响应更快速 故障隔离:服务没有直接调用,不存在级联失败问题 调用间没有阻塞,不会造成无效的资源占用 耦合度极低,每个服务都可以灵活插拔,可替换 流量削峰:不管发布事件的流量波动多大,都由Broker接收,…