首页 > 解决方案 > Spring-Kafka 消费者不会自动接收消息

问题描述

我有一个spring boot kafka消费者和一个spring boot kafka生产者,当我在终端中启动消费者并启动生产者后,当且仅当我按下任何键盘键并且我不知道为什么时,消费者才会收到数据? 这是我的配置。

public ConsumerFactory<String, DataSet> dataSetConsumerFactory() { /* string group id */
        /* set up le consumer factory */
        String clientId = "pattern-" + groupid;
        Map<String, Object> props = new HashMap<>();
        props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, bootstrapAddress); /* kafka server */
        props.put(ConsumerConfig.GROUP_ID_CONFIG, groupid);/* group id */
        props.put(ConsumerConfig.CLIENT_ID_CONFIG, clientId); /* client id */
        props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "latest"); /* reset offset */
        return new DefaultKafkaConsumerFactory<>(props, new StringDeserializer(),
                new JsonDeserializer<>(DataSet.class));
    }

标签: javawindowscmdspring-kafka

解决方案


问题出在 Windows 中,当您在终端中选择某些内容时,正在运行的进程会停止,因此您必须按任意键盘键才能再次启动它。


推荐阅读