jhgjghjhgj 2022-10-12 12:01 采纳率: 50%
浏览 16

java物联网判断设备状态的问题

问题遇到的现象和发生背景

java物联网项目,硬件设备使用mqtt上报数据,如果超过一段时间没上报状态,就认为离线,然后修改数据库的状态字段,现在是想用定时任务去实现,但是想看看有没有更好的方法。

我的解答思路和尝试过的方法

如果用rabbitmq的死信队列的话,设备上报了,往队列推送一个时间为xx分钟的消息,到时间了就消费,设置为离线。但是这里有个地方我不太懂,这个队列的消息能删除或者取消吗,不然的话还没到超时时间,设备又上报了,队列里又会推送一条过期时间为xx分钟的消息,应该是重置时间才对,想请教一下大家,说的不对的地方还请见谅

  • 写回答

1条回答 默认 最新

  • sum墨 2022-10-13 20:29
    关注

    首先,通过定时任务的方式没有问题的,我现在的项目也用这种方式,在实际项目中没有很大问题,但是有时效性不行的缺点。我想MQTT的消息也不是长连接,估计也只能通过心跳的方式进行监控吧,qos选那种发1次必须有1次回应的topic,发出去如果没有返回就认为是掉线了

    评论

报告相同问题?

问题事件

  • 创建了问题 10月12日

悬赏问题

  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音
  • ¥30 Pytorch深度学习服务器跑不通问题解决?
  • ¥15 部分客户订单定位有误的问题
  • ¥15 如何在maya程序中利用python编写领子和褶裥的模型的方法
  • ¥15 Bug traq 数据包 大概什么价
  • ¥15 在anaconda上pytorch和paddle paddle下载报错
  • ¥25 自动填写QQ腾讯文档收集表