簡體   English   中英

SpringXD和Spring集成:每隔X分鍾從kafka主題讀取一次,然后發送給另一個主題

[英]SpringXD and Spring Integration: Read from kafka topic every X minutes, then send to another Topic

我正在嘗試實現一種解決方案,以創建由kafka源,橋模塊和kafka接收器組成的SpringXD流。

所以我有這樣的事情:

<channel id="pollable">
    <queue />
</channel>

<bridge input-channel="pollable" output-channel="executorChannel">
    <poller max-messages-per-poll="5" fixed-rate="5000" />
</bridge>

我的問題是我想以某種方式避免輪詢程序。 基本上是因為當這些消息在隊列中時,我想避免將消息保留在內存中。 我希望每隔X分鍾從kafka讀取一次,只從隊列中獲取Y消息,然后將這些消息發送到下一個主題。

看起來我無法擺脫隊列,但是我的問題是:還有其他選擇嗎? 我不希望將任何內容保留在內存中,但我也不想使用此選項: http : //docs.spring.io/spring-integration/reference/html/system-management-chapter.html#message -商店

將數據保存在內存中並不是一個好主意。

您可以根據需要stop()start()通道適配器( KafkaMessageDrivenChannelAdapter )。 重新啟動時,它將從中斷處繼續取回。

但是,kafka源代碼使用的是spring-integration-kafka(1.3.x)的非常舊的版本。

如果您創建自定義源以使用spring-integration-kafka 2.1.0(使用kafka 0.10.1.x客戶端),則可以設置kafka屬性max.poll.records來限制獲取的記錄數。

暫無
暫無

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

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