我有一个问题,我在春季靴子中让apache kafka使用者使用了3个不同的主题。但是我需要先使用第一个主题中的所有数据,然后再使用以下主题中的数据,有没有办法做到这一点?还是您总是以相同的方式阅读它们?
@Component
public class KafkaTestListener {
@KafkaListener(topics = "${message.topic.name}", groupId = "${message.group.name}")
public void listenTopic1(String message) {....}
@KafkaListener(topics = "${message.topic.name2}", groupId = "${message.group.name}")
public void listenTopic3(String message) {....}
@KafkaListener(topics = "${message.topic.name3}", groupId = "${message.group.name}")
public void listenTopic3(String message) {.....}
}
答案 0 :(得分:0)
id
;将autoStartup
设置为false
。idleEventInterval
设置为某个值。@EventListener
方法以接收ListenerContainerIdleEvent
-请参见https://docs.spring.io/spring-kafka/docs/2.5.3.RELEASE/reference/html/#events和https://docs.spring.io/spring-kafka/docs/2.5.3.RELEASE/reference/html/#event-consumption KafkaListenerEndpointRegistry
来启动和停止容器(通过id
)。