Interface Partitioner
- All Superinterfaces:
AutoCloseable
,Closeable
,Configurable
- All Known Implementing Classes:
RoundRobinPartitioner
,UniformStickyPartitioner
public interface Partitioner extends Configurable, Closeable
Partitioner Interface
-
Method Summary
Modifier and Type Method Description void
close()
This is called when partitioner is closed.default void
onNewBatch(String topic, Cluster cluster, int prevPartition)
Notifies the partitioner a new batch is about to be created.int
partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster)
Compute the partition for the given record.Methods inherited from interface org.apache.kafka.common.Configurable
configure
-
Method Details
-
partition
int partition(String topic, Object key, byte[] keyBytes, Object value, byte[] valueBytes, Cluster cluster)Compute the partition for the given record.- Parameters:
topic
- The topic namekey
- The key to partition on (or null if no key)keyBytes
- The serialized key to partition on( or null if no key)value
- The value to partition on or nullvalueBytes
- The serialized value to partition on or nullcluster
- The current cluster metadata
-
close
void close()This is called when partitioner is closed.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
onNewBatch
Notifies the partitioner a new batch is about to be created. When using the sticky partitioner, this method can change the chosen sticky partition for the new batch.- Parameters:
topic
- The topic namecluster
- The current cluster metadataprevPartition
- The partition previously selected for the record that triggered a new batch
-