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.

Reply via email to