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 name
      key - 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 null
      valueBytes - The serialized value to partition on or null
      cluster - The current cluster metadata
    • close

      void close()
      This is called when partitioner is closed.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable
    • 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 name
      cluster - The current cluster metadata
      prevPartition - The partition previously selected for the record that triggered a new batch