列出我所有的kafka消费者信息
Listing all my kafka consumers informations
我想列出我所有的kafka消费者并检查他们的状态,组...
在我只使用 spring-kafka 之前,我做了以下操作并且它有效
private final KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
var listenerContainers = kafkaListenerEndpointRegistry.getAllListenerContainers();
listenerContainers.forEach(mlc -> {
var isRunning = mlc.isRunning();
var group = mlc.getGroupId()
// other checks
但是现在当我将 spring-cloud-stream 与 kafka 一起使用时,listenerContainers
是一个空列表!
我怎样才能对 SCS 做同样的事情?
使用 Spring Cloud Stream,添加一个 ListenerContainerCustomizer
bean 并捕获每个侦听器容器(例如,将它们存储在列表中)。
List<AbstractMessageListenerContainer<?, ?>> containers = new ArrayList<>();
@Bean
ListenerContainerCustomizer<AbstractMessageListenerContainer<?, ?>> customizer() {
return (container, dest, group) -> this.containers.add(container);
}
我想列出我所有的kafka消费者并检查他们的状态,组...
在我只使用 spring-kafka 之前,我做了以下操作并且它有效
private final KafkaListenerEndpointRegistry kafkaListenerEndpointRegistry;
var listenerContainers = kafkaListenerEndpointRegistry.getAllListenerContainers();
listenerContainers.forEach(mlc -> {
var isRunning = mlc.isRunning();
var group = mlc.getGroupId()
// other checks
但是现在当我将 spring-cloud-stream 与 kafka 一起使用时,listenerContainers
是一个空列表!
我怎样才能对 SCS 做同样的事情?
使用 Spring Cloud Stream,添加一个 ListenerContainerCustomizer
bean 并捕获每个侦听器容器(例如,将它们存储在列表中)。
List<AbstractMessageListenerContainer<?, ?>> containers = new ArrayList<>();
@Bean
ListenerContainerCustomizer<AbstractMessageListenerContainer<?, ?>> customizer() {
return (container, dest, group) -> this.containers.add(container);
}