我需要编写一个API,当客户端调用该API时,它将在MQTT的请求主题上发布消息,并在响应主题上等待响应。如果响应主题未返回任何内容,则API应该返回默认响应。
我的问题是在消费来自主题的消息时。我可以发布,但是如何等待特定主题的响应(对使用消息的响应)并将其作为响应发送,或在特定时间之后发送API的默认响应。
我正在使用Java的Spring 4,
答案 0 :(得分:0)
您可以执行以下步骤:
您的HTTP服务器接收请求并将具有唯一相关ID的请求消息发布到MQTT,并创建事件循环 E以等待消息响应
消费者C1使用该消息并进行处理,然后向MQTT响应(发布)具有相同相关ID的消息
用户C2使用该响应消息并将其发送给事件循环E
事件循环E中断循环并向HTTP客户端返回消息响应