如何使kafkaproducer持续运行

uubf1zoe  于 2021-06-07  发布在  Kafka
关注(0)|答案(2)|浏览(275)

我已经用java编写了kafkaproducer来读取日志。但是在读取日志的过程完成之后,如何使kafkaproducer继续运行,我不希望kafkaproducer在读取日志之后停止。

h6my8fg2

h6my8fg21#

使用kafka日志附加器将日志重新定向到中央代理。
https://logging.apache.org/log4j/2.x/manual/appenders.html#kafkaappender

xtfmy6hx

xtfmy6hx2#

该逻辑与Kafka无关,但您需要持续监听文件中的数据,如下所示:

BufferedReader br = new BufferedReader(
            new FileReader("/path/to/log.txt"));

    String line = null;
    while (true ) {
        line = br.readLine();
        if (line == null) {
            //wait till more data is appended to file
            Thread.sleep(1000);
        }
        else {
            //send data to Kafka
            producer.send(new ProducerRecord<String, String>("my-topic", "my-key", line));
        }
    }

相关问题