Kafka producer sync send
Earlier example, we have sent a message without knowing the result of a sent message.
In this example will send a message will wait until the result comes(either success or failure),this mechanism called as a synchronous message send
producer synchronous example
Copied
import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;
public class KafkaSyncSend {
public static void main(String[] args) {
ProducerRecord<String , String> record = new ProducerRecord<>("Producer","Producer");
try {
Properties props = new Properties();
props.put("bootstrap.servers", "localhost:9092");
props.put("client.id", "KafkaProducer");
props.put("key.serializer", StringSerializer.class.getName());
props.put("value.serializer", StringSerializer.class.getName());
Producer<String , String> producer=new KafkaProducer(props);
RecordMetadata metadata=producer.send(record).get();
} catch (Exception e) {
e.printStackTrace();
}
}
}
The above example will wait until the result appears, it can be either a success or a failure.