Я написал этого производителя Kafka и прочитал файл с рабочего стола, а затем выдвинул данные в файл как значение и сгенерировал ключ самостоятельно, добавляя по одному при каждом чтении каждой строки.Это правильный путь, или я сделал то, чего не должен был делать ??Пожалуйста, нужен совет.Я вижу сообщение в своей теме, но каждое из них связано с ключом, поэтому, если у меня есть сценарий использования, я могу отправить любые данные журнала, подобные этим, если я читаю их извне.Могу ли я использовать данные журнала в качестве значения или есть совершенно другая логика, к которой я должен подходить.Пожалуйста, помогите
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Properties;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;
public class SyncProducer {
public static void main(String[] args) throws IOException {
File file = new File("/Users/adityaverma/Desktop/ParseData.txt");
BufferedReader br = new BufferedReader(new FileReader(file));
Properties properties = new Properties();
properties.setProperty("bootstrap.servers","127.0.0.1:9092");
properties.setProperty("key.serializer",StringSerializer.class.getName()); // our key and values are String
properties.setProperty("value.serializer",StringSerializer.class.getName());
properties.setProperty("acks", "1");
properties.setProperty("retries", "3");
properties.setProperty("linger.ms", "1");
Producer<String,String> producer = new org.apache.kafka.clients.producer.KafkaProducer<String,String>(properties);
// these will go in random partition as we increment the key
String line = " ";
int key = 0;
while((line = br.readLine()) != null){
// System.out.println(line);
ProducerRecord<String,String> producerRecord = new ProducerRecord<String,String>("try_Buffered3Part",Integer.toString(key),line);
key++;
System.out.println(key);
producer.send(producerRecord);
}
producer.close();
System.out.println("exit");
}
}