Ale*_*lex 1 apache-kafka kafka-producer-api
我在理解ProducerRecord.
以前我是这样构建的ProducerRecord:
new ProducerRecord<String, String>("my-topic", "key", "value")
Run Code Online (Sandbox Code Playgroud)
我想另外传入一个时间戳,所以我决定检查文档并发现构造函数确实允许传递时间戳。但它也需要指定一个像这样的分区:
new ProducerRecord(String topic,
Integer partition,
Long timestamp,
K key,
V value)
Run Code Online (Sandbox Code Playgroud)
我对传递什么作为分区参数感到困惑,因为我之前使用的构造函数正在为我处理它。
您仍然可以毫无问题地使用此构造函数。您将在此构造函数中传递 partition null,并且 DefaultPartitioner 仍将负责分区分配。只需确保您使用的是新的 KafkaProducer API。时间戳不适用于旧的基于 Scala 的生产者。