Interface Partitioner
-
- All Superinterfaces:
java.lang.AutoCloseable,java.io.Closeable,Configurable
- All Known Implementing Classes:
RoundRobinPartitioner,UniformStickyPartitioner
public interface Partitioner extends Configurable, java.io.Closeable
Partitioner Interface is not supported.
-
-
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(java.lang.String topic, Cluster cluster, int prevPartition)Notifies the partitioner a new batch is about to be created.intpartition(java.lang.String topic, java.lang.Object key, byte[] keyBytes, java.lang.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(java.lang.String topic, java.lang.Object key, byte[] keyBytes, java.lang.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 interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-
onNewBatch
default void onNewBatch(java.lang.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
-
-