让Kafka消费者等待事件

时间:2018-08-29 18:44:33

标签: spring-kafka

我有一个用例,消费者需要收听主题T1上的一些事件(在主题T1中消费消息并搜索某些情况)。只有当它检测到某些事件后,才从主题T2开始进行消费并处理消息从T2检索到的。我们正在使用spring kafka 2.1.7。我现在看不到这样做的方法 因为消费者会从T2开始阅读,因为出现了kafkalistener bean。我正在寻找有关如何实现此目标的建议。

1 个答案:

答案 0 :(得分:0)

您的每个@KafkaListener都应依赖略有不同的ConcurrentKafkaListenerContainerFactory实例,其中应使用T2为主题setAutoStartup(false)配置一个实例。

因此,当满足{{1}的@KafkaListener中的条件时,您就调用第二个T1的{​​{1}}。 KafkaListenerEndpointRegistry.getListenerContainer(containerId).start()来自@KafkaLisnter