手動確認

此範例說明如何在消費者應用程式中手動確認偏移量。

此範例要求將 spring.cloud.stream.kafka.bindings.input.consumer.ackMode 設定為 MANUAL。針對您的範例使用對應的輸入通道名稱。

@SpringBootApplication
public class ManuallyAcknowdledgingConsumer {

 public static void main(String[] args) {
     SpringApplication.run(ManuallyAcknowdledgingConsumer.class, args);
 }

 @Bean
 public Consumer<Message<?>> process() {
    return message -> {
        Acknowledgment acknowledgment = message.getHeaders().get(KafkaHeaders.ACKNOWLEDGMENT, Acknowledgment.class);
        if (acknowledgment != null) {
         System.out.println("Acknowledgment provided");
         acknowledgment.acknowledge();
        }
    };
}