对于最新稳定版本,请使用 Spring for Apache Kafka 4.0.0spring-doc.cadn.net.cn

信息听众

使用消息监听器容器时,必须提供监听器来接收数据。 目前支持八种消息监听器接口。 以下列表展示了这些接口:spring-doc.cadn.net.cn

public interface MessageListener<K, V> { (1)

    void onMessage(ConsumerRecord<K, V> data);

}

public interface AcknowledgingMessageListener<K, V> { (2)

    void onMessage(ConsumerRecord<K, V> data, Acknowledgment acknowledgment);

}

public interface ConsumerAwareMessageListener<K, V> extends MessageListener<K, V> { (3)

    void onMessage(ConsumerRecord<K, V> data, Consumer<?, ?> consumer);

}

public interface AcknowledgingConsumerAwareMessageListener<K, V> extends MessageListener<K, V> { (4)

    void onMessage(ConsumerRecord<K, V> data, Acknowledgment acknowledgment, Consumer<?, ?> consumer);

}

public interface BatchMessageListener<K, V> { (5)

    void onMessage(List<ConsumerRecord<K, V>> data);

}

public interface BatchAcknowledgingMessageListener<K, V> { (6)

    void onMessage(List<ConsumerRecord<K, V>> data, Acknowledgment acknowledgment);

}

public interface BatchConsumerAwareMessageListener<K, V> extends BatchMessageListener<K, V> { (7)

    void onMessage(List<ConsumerRecord<K, V>> data, Consumer<?, ?> consumer);

}

public interface BatchAcknowledgingConsumerAwareMessageListener<K, V> extends BatchMessageListener<K, V> { (8)

    void onMessage(List<ConsumerRecord<K, V>> data, Acknowledgment acknowledgment, Consumer<?, ?> consumer);

}
1 使用此接口处理个体消费者记录从卡夫卡消费者那里收到的实例poll()在使用自动提交或容器管理提交方法时进行作。
2 使用此接口处理个体消费者记录从卡夫卡消费者那里收到的实例poll()在使用手动提交方法时的作。
3 使用此接口处理个体消费者记录从卡夫卡消费者那里收到的实例poll()在使用自动提交或容器管理提交方法时进行作。 通往消费者提供对象。
4 使用此接口处理个体消费者记录从卡夫卡消费者那里收到的实例poll()在使用手动提交方法时的作。 通往消费者提供对象。
5 使用该接口处理所有消费者记录从卡夫卡消费者那里收到的实例poll()在使用自动提交或容器管理提交方法时进行作。AckMode.RECORD使用该接口时不支持,因为监听者获得了完整的批次。
6 使用该接口处理所有消费者记录从卡夫卡消费者那里收到的实例poll()在使用手动提交方法时的作。
7 使用该接口处理所有消费者记录从卡夫卡消费者那里收到的实例poll()在使用自动提交或容器管理提交方法时进行作。AckMode.RECORD使用该接口时不支持,因为监听者获得了完整的批次。 通往消费者提供对象。
8 使用该接口处理所有消费者记录从卡夫卡消费者那里收到的实例poll()在使用手动提交方法时的作。 通往消费者提供对象。
消费者对象不安全。 你只需在调用监听者的线程上调用其方法。
你不应该执行任何事消费者<?, ?>影响消费者位置或承诺在听者中相移量的方法;容器需要管理这些信息。