2017-08-25 85 views
0

我无法理解ProducerRecord卡夫卡制片人时间戳

以前我是构建ProducerRecord这样的:

new ProducerRecord<String, String>("my-topic", "key", "value") 

我想时间戳通过附加所以我决定检查文档,发现该构造的确可以传递一个时间戳。但它也需要指定一个分区是这样的:

new ProducerRecord(String topic, 
       Integer partition, 
       Long timestamp, 
       K key, 
       V value) 

我很困惑什么是分区参数传递,因为我用以前的构造函数处理对我来说。

回答

2

您可以仍然使用这个构造函数没有任何问题。您将在此构造函数中传递分区null,并且DefaultPartitioner仍将关注分区器分配。只要确定您使用的是新的KafkaProducer API。时间戳不适用于旧的基于scala的制作人。