获取 ConcurrentMessageListenerContainer 当前正在处理的所有分区列表的推荐方法是什么
What is the recommended way to obtain a list of all partitions that a ConcurrentMessageListenerContainer is currently handling
我正在寻找 best/recommended 方法来获取 ConcurrentMessageListenerContainer
在阅读主题时正在使用的分区列表。目前我正在手动执行此操作,通过实现 ConsumerAwareRebalanceListener
来跟踪 assignments/revocations 但我想知道是否没有 better/simpler 方法来实现此目的。
目标是在应用程序中使用此信息,因此我始终需要最新的分区列表。查看 API 的
ConcurrentMessageListenerContainer
,我看是暴露了
getAssignedPartitions().
有人问过类似的问题here,但直到现在还没有公认的答案。
如果您的 ConcurrentMessageListenerContainer
由 KafkaListenerEndpointRegistry
管理,您可以使用 KafkaListenerEndpointRegistry
通过容器的 ID 获取有关您的侦听器容器的信息,并且您可以看到 ContainerProperties
, AssignedPartitions
,... 这个侦听器容器。
使用 KafkaListenerEndpointRegistry
的示例:https://docs.spring.io/spring-kafka/docs/current/reference/html/#pause-resume
我正在寻找 best/recommended 方法来获取 ConcurrentMessageListenerContainer
在阅读主题时正在使用的分区列表。目前我正在手动执行此操作,通过实现 ConsumerAwareRebalanceListener
来跟踪 assignments/revocations 但我想知道是否没有 better/simpler 方法来实现此目的。
目标是在应用程序中使用此信息,因此我始终需要最新的分区列表。查看 API 的
ConcurrentMessageListenerContainer
,我看是暴露了
getAssignedPartitions().
有人问过类似的问题here,但直到现在还没有公认的答案。
如果您的 ConcurrentMessageListenerContainer
由 KafkaListenerEndpointRegistry
管理,您可以使用 KafkaListenerEndpointRegistry
通过容器的 ID 获取有关您的侦听器容器的信息,并且您可以看到 ContainerProperties
, AssignedPartitions
,... 这个侦听器容器。
使用 KafkaListenerEndpointRegistry
的示例:https://docs.spring.io/spring-kafka/docs/current/reference/html/#pause-resume