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
    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