物联网:七天构建一个闭环的物联网DEMO

打印 上一主题 下一主题

主题 759|帖子 759|积分 2277

我计划用七天的时间, 基于开源物联网平台, 打造一款物联网案例的闭环。
为了增加感观体验,欢迎大家与我保持亲密的沟通。 我们来看一段代码:
  1. @Slf4j
  2. @Component
  3. public class MqttSendManager {
  4.     @Resource
  5.     private MqttSendHandler mqttSendHandler;
  6.     public void sendToMqtt(String topic, String data) {
  7.         mqttSendHandler.sendToMqtt(topic, data);
  8.     }
  9.     public void sendToMqtt(String topic, Integer qos, String data) {
  10.         log.debug("下发网关的qos: {}", qos);
  11.         log.info("下发网关的消息: {}", "topic: " + topic  + "; "+ data);
  12.         mqttSendHandler.sendToMqtt(topic, qos, data);
  13.     }
  14. }
复制代码
以上消息发送管理类可以实现向 mqtt 发送消息, 主要是借用了 MqttSendHandler 的本领,MqttSendHandler 是一个接口, 托管给了 spring 容器实例化,我们看看它的代码:
  1. @MessagingGateway(defaultRequestChannel = "mqttOutputChannel")
  2. public interface MqttSendHandler {
  3.     /**
  4.      * 使用 自定义 Topic & Default Qos 发送数据
  5.      *
  6.      * @param topic 自定义 Topic
  7.      * @param data  string
  8.      */
  9.     void sendToMqtt(@Header(MqttHeaders.TOPIC) String topic, String data);
  10.     /**
  11.      * 使用 自定义 Topic & 自定义 Qos 发送数据
  12.      *
  13.      * @param topic 自定义 Topic
  14.      * @param qos   自定义 Qos
  15.      * @param data  string
  16.      */
  17.     void sendToMqtt(@Header(MqttHeaders.TOPIC) String topic, @Header(MqttHeaders.QOS) Integer qos, String data);
  18. }
复制代码
这样两个类就封装了与 mqtt 的消息发送接口。
欢迎三连,或者有必要进一步交流的欢迎留言,评论区见。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

梦见你的名字

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表