Interface Partitioner

    • 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.
    • 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 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 java.lang.AutoCloseable
        Specified by:
        close in interface java.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 name
        cluster - The current cluster metadata
        prevPartition - The partition previously selected for the record that triggered a new batch