开发者社区> 问答> 正文

java 获取其他线程处理结果,异步消息获取问题!? 400 报错

java 获取其他线程处理结果,异步消息获取问题!? 400 报错

有http接口 A,  当上层调用它后, 它需要发指令给硬件设备(mqtt),硬件设备会有回复消息,但是这个回复消息是在 其他线程里面统一解析的。 可是A 接口必须要得到这个硬件的回复消息来返回给上层调用。

请问有没有啥好思路?

目前想到的:

接口A 当然是异步等待结果,以免请求一直占用资源。

1、硬件消息解析线程中 所有的返回结果临时存到一个 cache里面, 接口A中,每隔1秒去cache里面找(请求可以根据设备id+流水号来唯一确定)。找到就返回,超时就返回超时

 

暂时就想到这, 请教给位有啥其他想法没?

展开
收起
爱吃鱼的程序员 2020-06-04 13:14:37 534 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    可以每隔0.5秒查数据库######接口A的类里可以写个回调方法,处理硬件结果的线程调用回调方法######

    阻塞队列会不会是一个可能的解?

    ######

    先考虑是不是能通过业务手段解决

    1. 接口A 提交指令

    2.接口B 查询结果

    2020-06-04 14:35:37
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载