Interface Partitioner
-
- All Superinterfaces:
AutoCloseable,Closeable,Configurable
- All Known Implementing Classes:
RoundRobinPartitioner,UniformStickyPartitioner
public interface Partitioner extends Configurable, Closeable
Partitioner Interface
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidclose()This is called when partitioner is closed.default voidonNewBatch(String topic, Cluster cluster, int prevPartition)Notifies the partitioner a new batch is about to be created.intpartition(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 Detail
-
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:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
onNewBatch
default void onNewBatch(String topic, Cluster cluster, int prevPartition)
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
-
-