当经纪人不可用时,Kafka Consumer没有例外或警告

时间:2019-04-15 21:08:05

标签: kafka-consumer-api spring-kafka

我已经使用Spring Kafka设置了许多Kafka消费者,效果很好。但是,偶然地,我发现当一个使用者崩溃时,我看不到任何异常进入错误日志。我只在catalina.out中看到以下内容:

2019-04-13 02:07:37.008  INFO 17875 --- [alconDataRiver1] o.a.k.c.c.internals.AbstractCoordinator  : [Consumer clientId=consumer-6, groupId=dataRiver1] Group coordinator xxx-xx2x1-xxx-xxx.xxxxxx.com:38900 (id: 2147483646 rack: null) is unavailable or invalid, will attempt rediscovery
......
2019-04-13 02:07:38.014  INFO 17875 --- [ntainer#2-0-C-1] o.a.kafka.clients.FetchSessionHandler    : [Consumer clientId=consumer-2, groupId=dataRiver1] Error sending fetch request (sessionId=1593042214, epoch=92705) to node 1: org.apache.kafka.common.errors.DisconnectException.

我不知道为什么在这种情况下没有抛出异常。

我正在为项目使用Spring Boot。

这是我设置消费者的方式:

@Bean
public ConsumerFactory<String, GenericData.Record> fasConsumerFactoryFirst() {

    Map<String, Object> dataRiverProps = getFasDataRiverProps();
    dataRiverProps.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, env.getProperty("fas1.bootstrap.servers"));
    dataRiverProps.put(KafkaAvroDeserializerConfig.SCHEMA_REGISTRY_URL_CONFIG, env.getProperty("fas1.schema.registry.url"));
    return new DefaultKafkaConsumerFactory<>(dataRiverProps);
}

@KafkaListener(topics = "#{'${" + PROP_KAFKA_FAS_TOPICS + "}'.split(',')}", containerFactory = "fasKafkaListenerContainerFactoryFirst")
    public void consumeAvroFirst(List<Message<GenericData.Record>> list) {
        consumeJsonMessageBatch(convertAvroToJsonBatch(list), KAFKA_CONSUMER_FAS_1);
}

我想知道是否有任何遗漏的配置可以在这种情况下帮助生成异常(或警告),并将其写入错误日志中,以便我可以轻松地进行监视。谢谢!

0 个答案:

没有答案