2016-09-08 8 views
0

Ich habe kafkaproducer in Java geschrieben, um Protokolle zu lesen. Aber nach dem Lesen von Protokollen wird der Prozess beendet, wie kann ich Kafkaproducer dazu bringen, kontinuierlich zu laufen. Ich möchte nicht, dass Kafkaproducer nach dem Lesen von Protokollen angehalten wird.wie man kafkaproducer kontinuierlich laufen lässt

+0

Lassen Sie mich wissen, wenn unten Antwort ist, was Sie suchen. –

+0

Haben Sie einen Blick in Kafka-Connect geworfen: http://docs.confluent.io/3.0.1/connect/index.html Es sollte liefern, was Sie wollen, ohne selbst den Code selbst zu schreiben. –

Antwort

1

Die Logik ist nicht auf Kafka verwandt, aber Sie müssen kontinuierlich Daten in die Datei hören, wie folgt:

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)); 
     } 
    } 
Verwandte Themen