2016-10-10 2 views
1

я есть создать простой производитель, что считывать данные из текстового файла и отправить его Кафканажимные данные из текстового файла Кафка постоянно

try(BufferedReader br = new BufferedReader(new  FileReader(getInputFileName()))) { 
     String line = br.readLine(); 
     while (line != null) { 
      KeyedMessage<String, String> data = new KeyedMessage<String, String>(getTopic(), null, line); 
      producer.send(data); 
      System.out.println(line); 
      //Thread.sleep(200l); 
      line = br.readLine(); 

и он прекрасно работает, но только буфер данных в то время и отправить он, поэтому, если кто-то изменит текстовый файл и добавит новую строку, эти новые данные не будут отправлены в kafka.

Мне нужно знать, могу ли я сделать что-то, что будет непрерывно захватывать новые строки, вставленные в текстовый файл и отправьте его автоматически на kafka.

любая помощь?

+0

ли вы рассмотреть возможность использования Кафка Connect: http://kafka.apache.org/documentation#connect –

ответ

0

С версии 0.9, Kafka Connect является частью Apache Kafka.

Также по умолчанию он поддерживает FileStreamSource как один из разъемов источника.

Для подробного примера проверить это link

Смежные вопросы