2017-07-17 95 views
1

我使用註釋@KafkaListener來消費我的應用程序中的主題。我的問題是,如果我在卡夫卡創建了一個新話題,但我的消費者已經在運行,似乎消費者不會選擇新話題,即使它與我正在使用的topicPattern相匹配。是否有辦法定期「刷新」訂閱的主題,以便在運行的消費者中挑選並重新平衡新主題?Spring Kafka - 運行時訂閱新主題

我使用Spring Kafka 1.2.2和Kafka 0.10.2.0。

Regards

回答

3

您不能在運行時動態添加主題;您必須停止/啓動容器才能開始聆聽新主題。

您可以@AutowireKafkaListenerEndpointRegistry和停止/開始聽衆id

您也可以通過在註冊表本身上調用stop()/start()來停止/啓動所有收聽者。

+0

太棒了!它適用於主題!相同的邏輯是否適用於主題上的新分區,或者Spring Kafka是否捕獲了運行時的分區? –

+0

是的;它會工作;所有主題分配由經紀人完成;容器只是訂閱並獲取經紀人分配的任何內容。 –