跳到主要内容
版本:5.0.1

KafkaBindingRebalanceListener

DeepSeek V3 中英对照 KafkaBindingRebalanceListener

应用程序可能希望在分区最初分配时,将主题/分区定位到任意偏移量,或在消费者上执行其他操作。从版本2.1开始,如果在应用程序上下文中提供一个单独的KafkaBindingRebalanceListener bean,它将被连接到所有Kafka消费者绑定中。

public interface KafkaBindingRebalanceListener {

/**
* Invoked by the container before any pending offsets are committed.
* @param bindingName the name of the binding.
* @param consumer the consumer.
* @param partitions the partitions.
*/
default void onPartitionsRevokedBeforeCommit(String bindingName, Consumer<?, ?> consumer,
Collection<TopicPartition> partitions) {

}

/**
* Invoked by the container after any pending offsets are committed.
* @param bindingName the name of the binding.
* @param consumer the consumer.
* @param partitions the partitions.
*/
default void onPartitionsRevokedAfterCommit(String bindingName, Consumer<?, ?> consumer, Collection<TopicPartition> partitions) {

}

/**
* Invoked when partitions are initially assigned or after a rebalance.
* Applications might only want to perform seek operations on an initial assignment.
* @param bindingName the name of the binding.
* @param consumer the consumer.
* @param partitions the partitions.
* @param initial true if this is the initial assignment.
*/
default void onPartitionsAssigned(String bindingName, Consumer<?, ?> consumer, Collection<TopicPartition> partitions,
boolean initial) {

}

}

当您提供重平衡监听器时,不能将消费者属性 resetOffsets 设置为 true。