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 void
close()
This is called when partitioner is closed.default void
onNewBatch(java.lang.String topic, Cluster cluster, int prevPartition)
Notifies the partitioner a new batch is about to be created.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.-
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:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in 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
-
-