我正在处理的用例是从kafkalistener接收的消息触发一个异步方法。我希望这个aysnc方法完成,然后才从kafka队列接收新消息。关于这个实施有什么想法或建议吗?Kafka能支持这样的场景吗。
如
while(asyncMethod.idle()){
@KafkaListener(String data)
public void listen(){
process(message);
asyncMethod.execute();
}
}
我正在处理的用例是从kafkalistener接收的消息触发一个异步方法。我希望这个aysnc方法完成,然后才从kafka队列接收新消息。关于这个实施有什么想法或建议吗?Kafka能支持这样的场景吗。
如
while(asyncMethod.idle()){
@KafkaListener(String data)
public void listen(){
process(message);
asyncMethod.execute();
}
}
1条答案
按热度按时间fafcakar1#
我被这个问题弄糊涂了,但听起来你想让这个同步还是异步?
或者您可以实现一个锁,以基本上确保它不会侦听,除非锁为false,并在收到消息后将锁设置为true。
你可能想在你的实现/架构上工作,但Kafka不应该被用来维持秩序或阻止这种方式。