本文整理汇总了Java中org.apache.kafka.clients.producer.Partitioner类的典型用法代码示例。如果您正苦于以下问题:Java Partitioner类的具体用法?Java Partitioner怎么用?Java Partitioner使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Partitioner类属于org.apache.kafka.clients.producer包,在下文中一共展示了Partitioner类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: testPartitionSpread
import org.apache.kafka.clients.producer.Partitioner; //导入依赖的package包/类
@Test
public void testPartitionSpread() throws Exception {
Multiset<Integer> results = TreeMultiset.create();
Cluster c = Cluster.empty();
try (Partitioner p = new DefaultPartitioner()) {
PartitionKeyGenerator pkg = new PartitionKeyGenerator();
mockPartitions(c);
for (int i = 0; i < messages; i++) {
results.add(p.partition("test", null, pkg.next(), null, null, c));
}
int expected = messages / partitions;
double threshold = expected * 0.05;
for (Multiset.Entry<Integer> e : results.entrySet()) {
int offBy = Math.abs(e.getCount() - expected);
assertTrue("Partition " + e.getElement() + " had " + e.getCount() + " elements, expected " + expected + ", threshold is " + threshold,
offBy < threshold);
}
}
}
示例2: getProducerPartition
import org.apache.kafka.clients.producer.Partitioner; //导入依赖的package包/类
private int getProducerPartition(StatEventKey statEventKey, int numPartitions) {
Partitioner partitioner = new StatEventKeyPartitioner();
int partition = partitioner.partition(topic, statEventKey, statEventKey.getBytes(), null, null, cluster);
Assertions.assertThat(partition).isNotNegative();
Assertions.assertThat(partition).isLessThan(numPartitions);
return partition;
}