此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring for Apache Kafka 3.3.0spring-doc.cn

侦听器容器属性

表 1. 性能ContainerProperties
财产 违约 描述

ackCountspring-doc.cn

1spring-doc.cn

当 is 或 .ackModeCOUNTCOUNT_TIMEspring-doc.cn

adviceChainspring-doc.cn

nullspring-doc.cn

对象链(例如 around 建议)包装消息侦听器,按顺序调用。AdviceMethodInterceptorspring-doc.cn

ackModespring-doc.cn

Batchspring-doc.cn

控制 offset 的提交频率 - 请参阅 Committing Offsetsspring-doc.cn

ackTimespring-doc.cn

5000spring-doc.cn

在 is 或 .ackModeTIMECOUNT_TIMEspring-doc.cn

assignmentCommitOptionspring-doc.cn

LATEST_ONLY _NO_TXspring-doc.cn

是否在分配时提交初始位置;默认情况下,初始偏移量仅在 is 时提交,并且即使存在事务管理器,它也不会在事务中运行。 有关可用选项的更多信息,请参阅 JavaDocs。ConsumerConfig.AUTO_OFFSET_RESET_CONFIGlatestContainerProperties.AssignmentCommitOptionspring-doc.cn

asyncAcksspring-doc.cn

falsespring-doc.cn

启用无序提交(请参阅 手动提交偏移量);使用者将暂停,提交将延迟,直到填补间隙。spring-doc.cn

authExceptionRetryIntervalspring-doc.cn

nullspring-doc.cn

如果不是 null,则当 Kafka 客户端抛出 or 时,将在轮询之间休眠。 当 null 时,此类异常被视为致命异常,容器将停止。DurationAuthenticationExceptionAuthorizationExceptionspring-doc.cn

batchRecoverAfterRollbackspring-doc.cn

falsespring-doc.cn

设置为 以启用批量恢复,请参见回滚处理器之后truespring-doc.cn

clientIdspring-doc.cn

(空字符串)spring-doc.cn

consumer 属性的前缀。 覆盖 Consumer Factory 属性;在 concurrent 容器中,将添加为每个使用者实例的后缀。client.idclient.id-nspring-doc.cn

checkDeserExWhenKeyNullspring-doc.cn

spring-doc.cn

设置为 在收到 a 时始终检查标头。 当使用者代码无法确定 an 是否已配置时(例如,当使用委托反序列化器时)很有用。trueDeserializationExceptionnullkeyErrorHandlingDeserializerspring-doc.cn

checkDeserExWhenValueNullspring-doc.cn

spring-doc.cn

设置为 在收到 a 时始终检查标头。 当使用者代码无法确定 an 是否已配置时(例如,当使用委托反序列化器时)很有用。trueDeserializationExceptionnullvalueErrorHandlingDeserializerspring-doc.cn

commitCallbackspring-doc.cn

nullspring-doc.cn

如果存在,并且是在提交完成后调用的回调。syncCommitsfalsespring-doc.cn

commitLogLevelspring-doc.cn

调试spring-doc.cn

与提交偏移量相关的日志的日志记录级别。spring-doc.cn

consumerRebalanceListenerspring-doc.cn

nullspring-doc.cn

再平衡侦听器;请参阅 重新平衡侦听器spring-doc.cn

commitRetriesspring-doc.cn

3spring-doc.cn

将 set 设置为 true 时设置重试次数。 默认 3 (总共 4 次尝试)。RetriableCommitFailedExceptionsyncCommitsspring-doc.cn

consumerStartTimeoutspring-doc.cn

30 秒spring-doc.cn

在记录错误之前等待使用者启动的时间;例如,如果您使用的 Task Executor 线程不足,则可能会发生这种情况。spring-doc.cn

deliveryAttemptHeaderspring-doc.cn

falsespring-doc.cn

请参阅 Delivery Attempts 标头spring-doc.cn

eosModespring-doc.cn

V2spring-doc.cn

Exactly Once 语义模式;请参阅 Exactly Once 语义spring-doc.cn

fixTxOffsetsspring-doc.cn

falsespring-doc.cn

当使用事务创建者生成的记录时,如果使用者位于分区的末尾,则滞后可能会错误地报告为大于零,因为伪记录用于指示事务提交/回滚,并且可能存在回滚记录。 这在功能上不会影响消费者,但一些用户表示担心 “滞后” 不为零。 将此属性设置为,容器将更正此类误报的偏移量。 该检查在下一次轮询之前执行,以避免增加提交处理的复杂性。 在撰写本文时,只有当使用者配置了 1 且大于 1 时,才会纠正滞后。 有关更多信息,请参阅 KAFKA-10683trueisolation.level=read_committedmax.poll.recordsspring-doc.cn

groupIdspring-doc.cn

nullspring-doc.cn

覆盖 consumer 属性;由 or 属性自动设置。group.id@KafkaListeneridgroupIdspring-doc.cn

idleBeforeDataMultiplierspring-doc.cn

5.0spring-doc.cn

该 Multiplier 在收到任何记录之前应用。 收到记录后,将不再应用乘数。 自 2.8 版起可用。idleEventIntervalspring-doc.cn

idleBetweenPollsspring-doc.cn

0spring-doc.cn

用于通过在轮询之间休眠线程来减慢投放速度。 处理一批记录的时间加上此值必须小于 consumer 属性。max.poll.interval.msspring-doc.cn

idleEventIntervalspring-doc.cn

nullspring-doc.cn

设置后,将启用发布 s,请参阅 应用程序事件检测空闲和无响应的使用者。 另请参阅 。ListenerContainerIdleEventidleBeforeDataMultiplierspring-doc.cn

idlePartitionEventIntervalspring-doc.cn

nullspring-doc.cn

设置后,将启用发布 s,请参阅 应用程序事件检测空闲和无响应的使用者ListenerContainerIdlePartitionEventspring-doc.cn

kafkaConsumerPropertiesspring-doc.cn

没有spring-doc.cn

用于覆盖在 Consumer Factory 上配置的任何任意 Consumer 属性。spring-doc.cn

kafkaAwareTransactionManagerspring-doc.cn

nullspring-doc.cn

请参阅 事务spring-doc.cn

listenerTaskExecutorspring-doc.cn

SimpleAsyncTaskExecutorspring-doc.cn

用于运行使用者线程的任务执行程序。 默认执行程序创建名为 ;使用 ,名称是 bean 名称;其中 name 是 Bean 名称,后缀为 其中 n 对于每个子容器递增。<name>-C-nKafkaMessageListenerContainerConcurrentMessageListenerContainer-nspring-doc.cn

logContainerConfigspring-doc.cn

falsespring-doc.cn

设置为 在 INFO 级别记录所有容器属性。truespring-doc.cn

messageListenerspring-doc.cn

nullspring-doc.cn

消息侦听器。spring-doc.cn

micrometerEnabledspring-doc.cn

truespring-doc.cn

是否维护使用者线程的 Micrometer 计时器。spring-doc.cn

micrometerTagsspring-doc.cn

spring-doc.cn

要添加到微米度量的静态标签的映射。spring-doc.cn

micrometerTagsProviderspring-doc.cn

nullspring-doc.cn

一个基于使用者记录提供动态标签的函数。spring-doc.cn

missingTopicsFatalspring-doc.cn

falsespring-doc.cn

如果代理上不存在配置的主题,则为 true 时将阻止容器启动。spring-doc.cn

monitorIntervalspring-doc.cn

30 秒spring-doc.cn

检查 s 的使用者线程状态的频率。 请参阅 和 。NonResponsiveConsumerEventnoPollThresholdpollTimeoutspring-doc.cn

noPollThresholdspring-doc.cn

3.0spring-doc.cn

乘以来确定是否发布 . 看。pollTimeOutNonResponsiveConsumerEventmonitorIntervalspring-doc.cn

observationConventionspring-doc.cn

nullspring-doc.cn

设置后,根据使用者记录中的信息向计时器和跟踪添加动态标记。spring-doc.cn

observationEnabledspring-doc.cn

falsespring-doc.cn

设置为 enable observation via Micrometer.truespring-doc.cn

offsetAndMetadataProviderspring-doc.cn

nullspring-doc.cn

的提供程序 ;默认情况下,提供程序会创建具有空元数据的偏移量和元数据。提供程序提供了一种自定义元数据的方法。OffsetAndMetadataspring-doc.cn

onlyLogRecordMetadataspring-doc.cn

falsespring-doc.cn

设置为 以记录完整的使用者记录(错误、调试日志等),而不仅仅是 .falsetopic-partition@offsetspring-doc.cn

pauseImmediatespring-doc.cn

falsespring-doc.cn

当容器暂停时,在当前记录之后停止处理,而不是在处理上一次轮询的所有记录之后停止处理;其余记录保留在内存中,并将在容器恢复时传递给侦听器。spring-doc.cn

pollTimeoutspring-doc.cn

5000spring-doc.cn

传入的超时时间(以毫秒为单位)。Consumer.poll()spring-doc.cn

pollTimeoutWhilePausedspring-doc.cn

100spring-doc.cn

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

restartAfterAuthExceptionsspring-doc.cn

spring-doc.cn

如果容器因授权/身份验证异常而停止,则为 True,则重新启动容器。spring-doc.cn

schedulerspring-doc.cn

ThreadPoolTaskSchedulerspring-doc.cn

要在其上运行使用者监视器任务的计划程序。spring-doc.cn

shutdownTimeoutspring-doc.cn

10000spring-doc.cn

在所有使用者停止之前和发布容器停止事件之前阻止方法的最长时间(以毫秒为单位)。stop()spring-doc.cn

stopContainerWhenFencedspring-doc.cn

falsespring-doc.cn

如果引发 a,则停止侦听器容器。 有关更多信息,请参阅 After-rollback ProcessorProducerFencedExceptionspring-doc.cn

stopImmediatespring-doc.cn

falsespring-doc.cn

当容器停止时,请在当前记录之后停止处理,而不是在处理上一次轮询的所有记录之后停止处理。spring-doc.cn

subBatchPerPartitionspring-doc.cn

见 desc.spring-doc.cn

使用批处理侦听器时,如果为 ,则调用侦听器,并将轮询结果拆分为子批处理,每个分区一个子批处理。 违约。truefalsespring-doc.cn

syncCommitTimeoutspring-doc.cn

nullspring-doc.cn

当 为 时要使用的超时。 如果未设置,容器将尝试确定 consumer 属性并使用该属性;否则将使用 60 秒。syncCommitstruedefault.api.timeout.msspring-doc.cn

syncCommitsspring-doc.cn

truespring-doc.cn

是否对偏移量使用 sync 或 async commits;看。commitCallbackspring-doc.cn

主题主题模式主题分区spring-doc.cn

不适用spring-doc.cn

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

transactionManagerspring-doc.cn

nullspring-doc.cn

自 3.2 起已移除,请参阅 [kafkaAwareTransactionManager]其他事务管理器spring-doc.cn

表 2. 性能AbstractListenerContainer
财产 违约 描述

afterRollbackProcessorspring-doc.cn

DefaultAfterRollbackProcessorspring-doc.cn

在事务回滚后调用。AfterRollbackProcessorspring-doc.cn

applicationEventPublisherspring-doc.cn

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

事件发布者。spring-doc.cn

batchErrorHandlerspring-doc.cn

见 desc.spring-doc.cn

已弃用 - 请参阅 。commonErrorHandlerspring-doc.cn

batchInterceptorspring-doc.cn

nullspring-doc.cn

将 a 设置为在调用批处理侦听器之前调用 ;不适用于 Record 侦听器。 另请参阅 。BatchInterceptorinterceptBeforeTxspring-doc.cn

beanNamespring-doc.cn

Bean 名称spring-doc.cn

容器的 Bean 名称;后缀为 子容器。-nspring-doc.cn

commonErrorHandlerspring-doc.cn

见 desc.spring-doc.cn

DefaultErrorHandler或者当 a 被提供时,当 a 被使用 时。 请参阅 容器错误处理程序nulltransactionManagerDefaultAfterRollbackProcessorspring-doc.cn

containerPropertiesspring-doc.cn

ContainerPropertiesspring-doc.cn

容器 properties 实例。spring-doc.cn

groupIdspring-doc.cn

见 desc.spring-doc.cn

如果存在,则为来自 Consumer Factory 的属性。containerProperties.groupIdgroup.idspring-doc.cn

interceptBeforeTxspring-doc.cn

truespring-doc.cn

确定是在事务开始之前还是之后调用 the 。recordInterceptorspring-doc.cn

listenerIdspring-doc.cn

见 desc.spring-doc.cn

用户配置的容器的 Bean 名称或 s 的属性。id@KafkaListenerspring-doc.cn

listenerInfospring-doc.cn

spring-doc.cn

要在标头中填充的值。 使用 ,此值是从属性获取的。 此标头可以在各种位置使用,例如 ,也可以在侦听器代码本身中使用。KafkaHeaders.LISTENER_INFO@KafkaListenerinfoRecordInterceptorRecordFilterStrategyspring-doc.cn

pauseRequestedspring-doc.cn

(只读)spring-doc.cn

如果已请求使用者暂停,则为 True。spring-doc.cn

recordInterceptorspring-doc.cn

nullspring-doc.cn

设置 a to 在调用记录侦听器之前调用 ;不适用于批处理侦听器。 另请参阅 。RecordInterceptorinterceptBeforeTxspring-doc.cn

topicCheckTimeoutspring-doc.cn

30 秒spring-doc.cn

当 container 属性为 时,等待操作完成的时间(以秒为单位)。missingTopicsFataltruedescribeTopicsspring-doc.cn

表 3. 性能KafkaMessageListenerContainer
财产 违约 描述

assignedPartitionsspring-doc.cn

(只读)spring-doc.cn

当前分配给此容器的分区(显式或不显式)。spring-doc.cn

assignedPartitionsByClientIdspring-doc.cn

(只读)spring-doc.cn

当前分配给此容器的分区(显式或不显式)。spring-doc.cn

clientIdSuffixspring-doc.cn

nullspring-doc.cn

由并发容器使用,为每个子容器的使用者提供唯一的 .client.idspring-doc.cn

containerPausedspring-doc.cn

不适用spring-doc.cn

如果已请求暂停,并且使用者实际上已暂停,则为 True。spring-doc.cn

表 4. 性能ConcurrentMessageListenerContainer
财产 违约 描述

alwaysClientIdSuffixspring-doc.cn

truespring-doc.cn

设置为 false 以禁止向 consumer 属性添加后缀,当 the 仅为 1 时。client.idconcurrencyspring-doc.cn

assignedPartitionsspring-doc.cn

(只读)spring-doc.cn

当前分配给此容器的子 s 的分区的聚合(显式或不显式)。KafkaMessageListenerContainerspring-doc.cn

assignedPartitionsByClientIdspring-doc.cn

(只读)spring-doc.cn

当前分配给此容器的子 s 的分区(显式或非显式),由子容器的 consumer 的属性作为键。KafkaMessageListenerContainerclient.idspring-doc.cn

concurrencyspring-doc.cn

1spring-doc.cn

要管理的子 s 的数量。KafkaMessageListenerContainerspring-doc.cn

containerPausedspring-doc.cn

不适用spring-doc.cn

如果已请求暂停,并且所有子容器的使用者实际上都已暂停,则为 True。spring-doc.cn

containersspring-doc.cn

不适用spring-doc.cn

对所有子 s 的引用。KafkaMessageListenerContainerspring-doc.cn