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.hqwc.cn/news/539185.html

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

相关文章

【Leetcode每日一刷】顺/逆时针旋转矩阵 |48. 旋转图像、矩阵的螺旋遍历 |54. 螺旋矩阵

一、48. 旋转图像 1.1&#xff1a;题目 48. 旋转图像 1.2&#xff1a;解题思路 题型&#xff1a;顺/逆时针旋转矩阵&#xff1b; ❗❗核心思想/ 关键&#xff1a;不可暴力模拟&#xff0c;先镜像&#xff0c;后水平翻转 这题的意思很简单&#xff0c;就是让我们把矩阵顺时…

[云原生] Prometheus自动服务发现部署

一、部署服务发现 1.1 基于文件的服务发现 基于文件的服务发现是仅仅略优于静态配置的服务发现方式&#xff0c;它不依赖于任何平台或第三方服务&#xff0c;因而也是最为简单和通用的实现方式。 Prometheus Server 会定期从文件中加载 Target 信息&#xff0c;文件可使用 YAM…

Suervisor http://localhost:9001 refused connection

(desk_env) rootvdi:/opt/pyenv/desk_env/bin# supervisorctl http://localhost:9001 refused connection当后台启动supervisord后&#xff0c;使用supervisorctl命令进行任务管理时&#xff0c; 一、报错原因&#xff1a; http://localhost:9001 refused connection 显示拒绝连…

低代码与AI:构建面向未来的智能化应用

引言 在当今数字时代&#xff0c;技术的快速发展为各行各业带来了前所未有的机遇和挑战。企业和组织面临着如何迅速开发和交付高质量应用的需求&#xff0c;同时还需要应对日益复杂的业务需求和用户期望。在这样的背景下&#xff0c;低代码与人工智能&#xff08;AI&#xff0…

Vue3基础笔记(1)模版语法 属性绑定 渲染

Vue全称Vue.js是一种渐进式的JavaScript框架&#xff0c;采用自底向上增量开发的设计&#xff0c;核心库只关注视图层。性能丰富&#xff0c;完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用&#xff0c;适用于场景丰富的web前端框架。灵活性和可逐步集成…

适用于系统版本:CentOS 6/7/8的基线安全检测脚本

#!/bin/bash #适用于系统版本&#xff1a;CentOS 6/7/8 echo "----------------检测是否符合密码复杂度要求----------------" #把minlen&#xff08;密码最小长度&#xff09;设置为8-32位&#xff0c;把minclass&#xff08;至少包含小写字母、大写字母、数字、特殊…

vscode 向下复制当前行(即visual studio 中的Ctrl + D)功能快捷键

参考:https://blog.csdn.net/haihui1996/article/details/87937912 打开vscode左下角键盘快捷键设置&#xff0c;找到copy line down&#xff0c;即可查看当前默认快捷键为“shift Alt ↓” 双击快捷键&#xff0c;输入自己想要的快捷组合&#xff0c;如CtrlD&#xff0c;然…

Spring基础——使用注解开发SpringMVC

目录 配置SpringMVC的初始化信息配置ServletWebApplicationContext配置RootWebApplicationContext配置ServletContext 创建Controller控制器配置Controller响应路径接收用户传递参数接收JSON数据接收简单类型对象封装参数 接收数组类型 Restful 文章源码仓库&#xff1a;Spring…

JavaEE之多线程(创建线程的五种写法)详解

&#x1f63d;博主CSDN主页: 小源_&#x1f63d; &#x1f58b;️个人专栏: JavaEE &#x1f600;努力追逐大佬们的步伐~ 目录 1. 前言 2. 操作系统"内核" 3. 创建线程的五种写法 (我们重点要掌握最后一种写法!!) 3.1 继承 Thread, 重写 run 3. 2 实现 Runnabl…

【Flink SQL】Flink SQL 基础概念:SQL 的时间属性

Flink SQL 基础概念&#xff1a;SQL 的时间属性 1.Flink 三种时间属性简介2.Flink 三种时间属性的应用场景2.1 事件时间案例2.2 处理时间案例2.3 摄入时间案例 3.SQL 指定时间属性的两种方式4.SQL 事件时间案例5.SQL 处理时间案例 与离线处理中常见的时间分区字段一样&#xff…

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

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

opencv中的图像高斯双边模糊—bilateralFilter函数

高斯双边滤波&#xff08;Bilateral Filtering&#xff09;是一种非线性的滤波方法&#xff0c;用于平滑图像&#xff0c;同时保留边缘。与传统的高斯模糊不同&#xff0c;双边滤波在平滑图像的同时&#xff0c;能够避免模糊边缘。这是通过考虑像素值的差异来实现的&#xff1a…