Hi, I try executing the code
Properties props = new Properties(); props.put("bootstrap.servers", "localhost:2181"); props.put("metadata.broker.list","localhost:9092"); props.put("request.required.acks", "1"); props.put("retries", 4); // props.put("batch.size", 16384); // props.put("linger.ms", 1); // props.put("buffer.memory", 33554432); props.put("key.serializer", "org.apache.kafka.common.serialization.StringSerializer"); props.put("value.serializer", "org.apache.kafka.common.serialization.StringSerializer"); Producer<String, String> producer = new KafkaProducer(props); int maxMessages = 1000; int count = 0; while(count < maxMessages) { producer.send(new ProducerRecord<String, String>("test", "message --- #"+count++)).get(); System.out.println("Message send.."+count); } producer.close(); but I get Caused by: org.apache.kafka.common.errors.TimeoutException: Failed to update metadata after 60000 ms. But when I do, // Properties properties = new Properties(); // properties.put("metadata.broker.list","localhost:9092"); // properties.put("serializer.class","kafka.serializer.StringEncoder"); // properties.put("partitioner.class", "SimplePartitioner"); // properties.put("request.required.acks", "1"); // ProducerConfig producerConfig = new ProducerConfig(properties); // kafka.javaapi.producer.Producer<String,String> producer = new kafka.javaapi.producer.Producer<String, String>(producerConfig); // SimpleDateFormat sdf = new SimpleDateFormat(); // KeyedMessage message =new KeyedMessage("test","1","After Restart210"); // System.out.println(message.key()); // producer.send(message); // producer.close(); // System.out.println("done"); It works fine. Regards. Bhargav.