@KafkaListener只有在满足某些条件时才会提取新数据,如果条件失败,则应停止提取数据,直到满足条件为止

时间:2017-07-21 17:15:46

标签: spring apache-kafka spring-kafka

我正在处理的用例是从KafkaListener接收的消息触发Async方法。我希望这个Aysnc方法完成,然后才从kafka队列接收新消息。有关此实施的任何想法或建议? kakfka能否支持这种情况。

例如

while(asyncMethod.idle()){
@KafkaListener(String data)
public void listen(){
process(message);
asyncMethod.execute();
}
}

1 个答案:

答案 0 :(得分:0)

我对这个问题感到困惑,但听起来你想要使这个同步与异步?

或者你可以实现一个锁,基本上确保它不会监听,除非锁是假的,并在收到消息后将锁设置为true。

您可能希望在您的实施/架构上工作,但Kafka不应该用于维护订单或阻止这种方式。