Skip to main content

ConsumeMQTT

概述

订阅主题并从MQTT代理接收消息

ConsumeMQTT属性说明

代理URI : 用于连接到MQTT代理的URI(例如tcp://localhost:1883)。支持"tcp"和"ssl"模式,为了使用"ssl",必须设置ssl上下文服务属性。
客户端ID :要使用的MQTT客户端ID
主题过滤 : 要将消息发布到的主题。
服务质量(QoS) : 用来发送消息的服务质量(QoS)。接受三个值“0”、“1”和“2”;“0”表示“最多一次”,“1”表示“至少一次”,“2”表示“恰好一次”。允许使用表达式语言来支持具有不同QoS的消息发布,但是属性的最终值必须是'0'、'1'或'2'。
队列最大大小 : MQTT消息总是发送到主题上的订阅者。如果“Run Schedule”明显落后于消息到达此组件的速度,则可能发生备份。此属性指定该组件一次将在内存中保存的最大消息数。

示例

demo

#####样本数据 例子中,我们使用的MQTT服务端是公网上的(版本3.1.1)。参考https://www.emqx.com/zh/mqtt/public-mqtt5-broker

当前使用的MQTT服务器支持tcp、ws、wss的三种协议访问。

#####ConsumeMQTT设置 ConsumeMQTT组件属于只定时驱动类型组件,不允许有上级流文件驱动。需要配置时间调度策略,一般使用Timer driver且设置0s调度时间间隔,相当于订阅客户端一直保持启动的状态。

consume_timer

设置"主题过滤",表示你想收到哪个主题的消息,也就是想订阅的主题。

comsume_topic_filter.png

#####说明 要注意两点:

  1. ClientID消费者和生产者不能用同一个
  2. 支持多客户端订阅同一消息

流程模板

参见附件(请右键另存保存):MQTT示例