监听器容器属性

表 1. ContainerProperties 个属性
属性 默认 描述

ackCountspring-doc.cadn.net.cn

1spring-doc.cadn.net.cn

在提交待处理偏移量之前记录的条目数量,当ackModeCOUNTCOUNT_TIME时。spring-doc.cadn.net.cn

adviceChainspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

一个由Advice个对象组成的链(例如MethodInterceptor个围绕通知的包装器),按顺序调用消息监听器,包装器在调用链中依次执行。spring-doc.cadn.net.cn

ackModespring-doc.cadn.net.cn

批处理spring-doc.cadn.net.cn

控制偏移量偏移提交的频率 - 请参阅 提交偏移量spring-doc.cadn.net.cn

ackTimespring-doc.cadn.net.cn

5000spring-doc.cadn.net.cn

ackModeTIMECOUNT_TIME时,待处理偏移量在多少毫秒后提交。spring-doc.cadn.net.cn

assignmentCommitOptionspring-doc.cadn.net.cn

LATEST_ONLY _NO_TXspring-doc.cadn.net.cn

是否在分配时提交初始位置;默认情况下,只有当ConsumerConfig.AUTO_OFFSET_RESET_CONFIGlatest时,初始偏移才会被提交,并且即使存在事务管理器,也不会在事务中运行。 有关ContainerProperties.AssignmentCommitOption的更多信息,请参见JavaDocs中的可用选项。spring-doc.cadn.net.cn

asyncAcksspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

启用乱序提交(参见 手动提交偏移量);消费者处于暂停状态,提交被推迟直到填补了间隙。spring-doc.cadn.net.cn

authExceptionRetryIntervalspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

当不为 null 时,在 Kafka 客户端 抛出 1 或 2 时,两次轮询之间休眠 0 秒。 当为 null 时,此类异常被视为致命,容器将停止。spring-doc.cadn.net.cn

batchRecoverAfterRollbackspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

设置为 true 以启用批量恢复,参见 回滚后处理器spring-doc.cadn.net.cn

clientIdspring-doc.cadn.net.cn

(empty string)spring-doc.cadn.net.cn

一个用于 client.id 消费者属性 的前缀。 重写消费者工厂 client.id 属性;在一个并发容器中,-n 作为每个消费者实例的后缀添加。spring-doc.cadn.net.cn

checkDeserExWhenKeyNullspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

true设置为在接收到nullkey时始终检查DeserializationException头。 当消费者代码无法确定已配置ErrorHandlingDeserializer(例如使用委托反序列化器时)时很有用。spring-doc.cadn.net.cn

checkDeserExWhenValueNullspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

true设置为在接收到nullvalue时始终检查DeserializationException头。 当消费者代码无法确定已配置ErrorHandlingDeserializer(例如使用委托反序列化器时)时很有用。spring-doc.cadn.net.cn

commitCallbackspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

当存在且参数为 syncCommits 时且 falsefalse,则在提交完成后调用回调。spring-doc.cadn.net.cn

commitLogLevelspring-doc.cadn.net.cn

DEBUGspring-doc.cadn.net.cn

提交偏移量日志的记录级别。spring-doc.cadn.net.cn

consumerRebalanceListenerspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

一个重新平衡监听器;参见 重新平衡监听器spring-doc.cadn.net.cn

commitRetriesspring-doc.cadn.net.cn

3spring-doc.cadn.net.cn

设置重试次数为 RetriableCommitFailedException 当使用 syncCommits 且设置为 true。 默认 3(总计 4 次尝试)。spring-doc.cadn.net.cn

consumerStartTimeoutspring-doc.cadn.net.cn

30sspring-doc.cadn.net.cn

在消费者开始之前等待的超时时间(以毫秒为单位);例如,当你使用线程数不足的任务执行器时,可能会发生这种情况。spring-doc.cadn.net.cn

deliveryAttemptHeaderspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

配送尝试表头spring-doc.cadn.net.cn

eosModespring-doc.cadn.net.cn

V2spring-doc.cadn.net.cn

Exactly Once Semantics 模式;请参见 Exactly Once Semanticsspring-doc.cadn.net.cn

fixTxOffsetsspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

当消费由事务性生产者产生的记录时,如果消费者位于分区的末尾,由于用于表示事务提交/回滚的伪记录,以及可能存在的已回滚记录,可能会错误地报告滞后值大于0。这在功能上不影响消费者,但一些用户表达了对“滞后”非零的担忧。 将此属性设置为true,容器将更正此类错误报告的偏移量。 该检查在下一次poll之前进行,以避免在提交处理中增加显著的复杂性。 截至撰写本文,只有当消费者配置为isolation.level=read_committedmax.poll.records大于1时,才会更正滞后值。 有关更多信息,请参见KAFKA-10683spring-doc.cadn.net.cn

groupIdspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

覆盖消费者 group.id 属性;由 @KafkaListener idgroupId 属性自动设置。spring-doc.cadn.net.cn

idleBeforeDataMultiplierspring-doc.cadn.net.cn

5.0spring-doc.cadn.net.cn

在未接收到任何记录之前应用于idleEventInterval的倍乘因子。 在接收到一条记录后,该倍乘因子不再应用。 该功能自2.8版本起可用。spring-doc.cadn.net.cn

idleBetweenPollsspring-doc.cadn.net.cn

0spring-doc.cadn.net.cn

用于在轮询之间让线程休眠以减慢传递速度。 处理一批记录所需时间加上此值必须小于max.poll.interval.ms消费者属性。spring-doc.cadn.net.cn

idleEventIntervalspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

当设置时,启用发布 0s,参见 应用程序事件检测空闲和无响应消费者。 另请参见 idleBeforeDataMultiplierspring-doc.cadn.net.cn

idlePartitionEventIntervalspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

当设置为 true 时,启用发布 0 值,参见 应用程序事件检测空闲和无响应消费者spring-doc.cadn.net.cn

kafkaConsumerPropertiesspring-doc.cadn.net.cn

spring-doc.cadn.net.cn

用于覆盖在消费者工厂上配置的任意消费者属性。spring-doc.cadn.net.cn

kafkaAwareTransactionManagerspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

事务spring-doc.cadn.net.cn

listenerTaskExecutorspring-doc.cadn.net.cn

SimpleAsyncTaskExecutorspring-doc.cadn.net.cn

一个用于运行消费者线程的任务执行器。 默认的执行器创建的线程命名为 <name>-C-n;使用 KafkaMessageListenerContainer 时,名称为 bean 名称;使用 ConcurrentMessageListenerContainer 时,名称为 bean 名称后接 -m,其中 m 会在每个子容器中递增。参见 容器线程命名spring-doc.cadn.net.cn

logContainerConfigspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

设置为 true 会将所有容器属性记录在 INFO 级别。spring-doc.cadn.net.cn

messageListenerspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

消息监听器。spring-doc.cadn.net.cn

micrometerEnabledspring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

是否维护用于消费者线程的 Micrometer 定时器。spring-doc.cadn.net.cn

micrometerTagsspring-doc.cadn.net.cn

空白spring-doc.cadn.net.cn

一个静态标签到 Micrometer 指标标签的映射。spring-doc.cadn.net.cn

micrometerTagsProviderspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

一个根据消费者记录动态提供标签的函数。spring-doc.cadn.net.cn

missingTopicsFatalspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

当属性设置为 true 时,如果配置的主题(s) 在 broker 上不存在,容器将被防止启动。spring-doc.cadn.net.cn

monitorIntervalspring-doc.cadn.net.cn

30sspring-doc.cadn.net.cn

多久检查一次消费者线程中的0状态。 查看代码1和2。spring-doc.cadn.net.cn

noPollThresholdspring-doc.cadn.net.cn

3.0spring-doc.cadn.net.cn

乘以 pollTimeOut 来确定是否发布一个 NonResponsiveConsumerEvent。 查看 monitorIntervalspring-doc.cadn.net.cn

observationConventionspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

当设置时,根据消费者记录中的信息,为定时器和跟踪添加动态标签。spring-doc.cadn.net.cn

observationEnabledspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

设置为 true 以通过 Micrometer 进行观察。spring-doc.cadn.net.cn

offsetAndMetadataProviderspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

一个提供程序用于 OffsetAndMetadata;默认情况下,提供程序会创建一个偏移量和带有空元数据的元数据。该提供程序提供了一种自定义元数据的方式。spring-doc.cadn.net.cn

onlyLogRecordMetadataspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

设置为 false 以在错误、调试日志等中记录完整的消费者记录,而不是只记录 topic-partition@offsetspring-doc.cadn.net.cn

pauseImmediatespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

When 容器被暂停时,在处理完当前轮次的记录后停止处理,而不是处理完上一轮次的所有记录;剩余的记录会保留在内存中,在容器恢复时传递给监听器。spring-doc.cadn.net.cn

pollTimeoutspring-doc.cadn.net.cn

5000spring-doc.cadn.net.cn

超时以毫秒为单位传递到Consumer.poll()spring-doc.cadn.net.cn

pollTimeoutWhilePausedspring-doc.cadn.net.cn

100spring-doc.cadn.net.cn

在容器处于暂停状态时传入到 Consumer.poll()(以毫秒为单位)的超时时间。spring-doc.cadn.net.cn

restartAfterAuthExceptionsspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果容器因授权/认证异常而停止,则设置为 true 可以重启容器。spring-doc.cadn.net.cn

schedulerspring-doc.cadn.net.cn

ThreadPoolTaskSchedulerspring-doc.cadn.net.cn

一个用于运行消费者监控任务的调度器。spring-doc.cadn.net.cn

shutdownTimeoutspring-doc.cadn.net.cn

10000spring-doc.cadn.net.cn

在发布容器已停止事件之前,阻塞stop()方法的最大时间(以毫秒为单位),直到所有消费者都停止。spring-doc.cadn.net.cn

stopContainerWhenFencedspring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

如果抛出 ProducerFencedException,则停止监听器容器。有关详细信息,请参阅回滚后处理器spring-doc.cadn.net.cn

stopImmediatespring-doc.cadn.net.cn

falsespring-doc.cadn.net.cn

容器停止时,在当前记录处理完毕后停止处理,而不是在处理完之前轮询的所有记录之后再停止。spring-doc.cadn.net.cn

subBatchPerPartitionspring-doc.cadn.net.cn

参见描述。spring-doc.cadn.net.cn

使用批处理侦听器时,如果此值为true,则会将轮询的结果拆分为子批次,并按每个分区调用一次侦听器。
默认值为falsespring-doc.cadn.net.cn

syncCommitTimeoutspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

syncCommits时使用的超时时间为true。如果不设置,容器将尝试确定default.api.timeout.ms消费者属性并使用该属性;否则将使用60秒。spring-doc.cadn.net.cn

syncCommitsspring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

偏移量提交是使用同步还是异步方式;请参阅commitCallbackspring-doc.cadn.net.cn

topics topicPattern topicPartitionsspring-doc.cadn.net.cn

n/aspring-doc.cadn.net.cn

配置的主题、主题模式或显式分配的主题/分区。
互斥;必须提供至少一个;由ContainerProperties构造函数强制执行。spring-doc.cadn.net.cn

transactionManagerspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

从 3.2 版本开始不推荐使用,请参阅 [kafkaAwareTransactionManager]其他事务管理器spring-doc.cadn.net.cn

表2. AbstractMessageListenerContainer 属性
属性 默认 描述

afterRollbackProcessorspring-doc.cadn.net.cn

DefaultAfterRollbackProcessorspring-doc.cadn.net.cn

事务回滚后要调用的 AfterRollbackProcessorspring-doc.cadn.net.cn

applicationEventPublisherspring-doc.cadn.net.cn

应用程序上下文spring-doc.cadn.net.cn

事件发布者。spring-doc.cadn.net.cn

batchErrorHandlerspring-doc.cadn.net.cn

参见描述。spring-doc.cadn.net.cn

已弃用 - 请参阅commonErrorHandlerspring-doc.cadn.net.cn

batchInterceptorspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

在调用批处理监听器之前设置一个BatchInterceptor;对记录监听器不适用。
另请参阅interceptBeforeTxspring-doc.cadn.net.cn

beanNamespring-doc.cadn.net.cn

Bean 名称spring-doc.cadn.net.cn

容器的bean名称;对于子容器,后缀为-nspring-doc.cadn.net.cn

commonErrorHandlerspring-doc.cadn.net.cn

参见描述。spring-doc.cadn.net.cn

DefaultErrorHandlernull当提供transactionManager时使用DefaultAfterRollbackProcessor
请参阅容器错误处理程序spring-doc.cadn.net.cn

containerPropertiesspring-doc.cadn.net.cn

ContainerPropertiesspring-doc.cadn.net.cn

容器属性实例。spring-doc.cadn.net.cn

groupIdspring-doc.cadn.net.cn

参见描述。spring-doc.cadn.net.cn

如果存在,则为containerProperties.groupId,否则为消费者工厂中的group.id属性。spring-doc.cadn.net.cn

interceptBeforeTxspring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

确定在事务开始前还是后调用recordInterceptorspring-doc.cadn.net.cn

listenerIdspring-doc.cadn.net.cn

参见描述。spring-doc.cadn.net.cn

用户配置容器或@KafkaListenerid属性的bean名称。spring-doc.cadn.net.cn

listenerInfospring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

要填充到 KafkaHeaders.LISTENER_INFO 头部的值。
使用 @KafkaListener,此值从 info 属性获取。
该头部可在各种地方使用,例如作为 RecordInterceptorRecordFilterStrategy 和监听器代码本身。spring-doc.cadn.net.cn

pauseRequestedspring-doc.cadn.net.cn

(只读)spring-doc.cadn.net.cn

如果请求了消费者暂停,则为 True。spring-doc.cadn.net.cn

recordInterceptorspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

设置RecordInterceptor在调用记录监听器之前调用;对批处理监听器不适用。
另请参阅interceptBeforeTxspring-doc.cadn.net.cn

topicCheckTimeoutspring-doc.cadn.net.cn

30sspring-doc.cadn.net.cn

missingTopicsFatal容器属性为true时,等待describeTopics操作完成的秒数。spring-doc.cadn.net.cn

表 3. KafkaMessageListenerContainer 属性
属性 默认 描述

assignedPartitionsspring-doc.cadn.net.cn

(只读)spring-doc.cadn.net.cn

分配给此容器(显式或隐式)的分区。spring-doc.cadn.net.cn

clientIdSuffixspring-doc.cadn.net.cn

nullspring-doc.cadn.net.cn

由并发容器用于为每个子容器的消费者提供唯一的client.idspring-doc.cadn.net.cn

containerPausedspring-doc.cadn.net.cn

n/aspring-doc.cadn.net.cn

如果已请求暂停且消费者实际上已经暂停,则为 True。spring-doc.cadn.net.cn

表4. ConcurrentMessageListenerContainer 属性
属性 默认 描述

alwaysClientIdSuffixspring-doc.cadn.net.cn

truespring-doc.cadn.net.cn

concurrency仅为1时,设置为false以禁止向client.id消费者属性添加后缀。spring-doc.cadn.net.cn

assignedPartitionsspring-doc.cadn.net.cn

(只读)spring-doc.cadn.net.cn

此容器的子节点 KafkaMessageListenerContainer(显式或不显式)当前分配的分区总数。spring-doc.cadn.net.cn

concurrencyspring-doc.cadn.net.cn

1spring-doc.cadn.net.cn

要管理的子节点KafkaMessageListenerContainer的数量。spring-doc.cadn.net.cn

containerPausedspring-doc.cadn.net.cn

n/aspring-doc.cadn.net.cn

如果已请求暂停并且所有子容器的消费者实际上已经暂停,则为 True。spring-doc.cadn.net.cn

containersspring-doc.cadn.net.cn

n/aspring-doc.cadn.net.cn

对所有子级KafkaMessageListenerContainer的引用。spring-doc.cadn.net.cn