簡體   English   中英

spring cloud stream kafka binder 以編程方式將 kafka 主題(多個分區)偏移量重置為任意數字

[英]spring cloud stream kafka binder resetting a kafka topic(multiple partitions) offset to an arbitrary number programatically

我需要將偏移量重置為一個數字。

詳細要求:我的應用程序正在使用來自 kafka 主題的消息並將其轉儲到 DB 中,假設 DB 在處理消耗的消息(偏移量 = 10)時關閉,直到 DB 關閉時應用程序消耗消息直到偏移量 20。

現在 DB 在處理第 20 個偏移消息時再次出現,現在我想再次將偏移重置為 10,以便我可以將數據保存在數據庫中。

我可以以編程方式實現(彈簧啟動)嗎? 我正在使用 spring 雲流粘合劑 kafka。

如果數據庫關閉,為什么還要繼續接收消息?

只需將偵聽器容器配置為不斷重試當前記錄,直到數據庫再次可用。

@Bean
ListenerContainerCustomizer<AbstractMessageListenerContainer<?, ?>> listenerContainerCustomizer() {
    return (container, topic, group) -> {
        container.setErrorHandler(...);
    };
}

https://docs.spring.io/spring-kafka/docs/current/reference/html/#seek-to-current

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM