Class ProducerRecord<K,​V>


  • public class ProducerRecord<K,​V>
    extends Object
    A key/value pair to be sent to Kafka. This consists of a topic name to which the record is being sent, an optional partition number, and an optional key and value.

    If a valid partition number is specified that partition will be used when sending the record. If no partition is specified but a key is present a partition will be chosen using a hash of the key. If neither key nor partition is present a partition will be assigned in a round-robin fashion. Note that partition numbers are 0-indexed.

    The record also has an associated timestamp. If the user did not provide a timestamp, the producer will stamp the record with its current time. The timestamp eventually used by Kafka depends on the timestamp type configured for the topic.

  • If the topic is configured to use CreateTime, the timestamp in the producer record will be used by the broker.
  • If the topic is configured to use LogAppendTime, the timestamp in the producer record will be overwritten by the broker with the broker local time when it appends the message to its log.
  • In either of the cases above, the timestamp that has actually been used will be returned to user in RecordMetadata