使用Spring-Kafka等待消息的API

时间:2018-12-07 16:55:50

标签: spring-boot apache-kafka spring-kafka

我正在使用Spring Boot 2.0.7和Spring-Kafka创建请求/回复模式。基本上,前端UI向API发出请求,该API将消息放入请求Kafka队列,该消息由后端进程处理,完成后将消息放入回复队列。

我想为前端UI提供一个api,它会等待响应准备就绪。此时的UI只会显示一条处理消息。如果响应不可用(例如2分钟后),则API应该只返回一条消息“不可用”错误,我们可以指示用户稍后再返回。

我对Spring-Kafka有点陌生。是否可以创建轮询API?如果是这样,将非常感谢任何示例代码。

1 个答案:

答案 0 :(得分:0)

这不像轮询主题以获取答复那样简单,因为您必须将请求/答复关联起来。

您可以使用ReplyingKafkaTemplate.sendAndReceive()并继续检查isDone()上的Future<?>方法。

如果要轮询自己,则必须从消费者工厂创建消费者对象。