针对初次接触微消息队列MQTT版的工程师,本文以Java语言为例,提供操作示例帮助您从零开始搭建微消息队列MQTT版的云端测试工程。Demo工程包含发送消息、接收消息以及接收客户端上下线消息的示例代码及相关配置。

前提条件

  • 安装IDEA。

    请下载IntelliJ IDEA Ultimate版本,并参见IntelliJ IDEA说明进行安装。更多信息,请参见下载地址。您也可以使用Eclipse,本文以IntelliJ IDEA为例。

  • 安装JDK 1.8或以上版本。更多信息,请参见安装JDK
  • 创建资源。

    使用Demo工程收发消息,需要提前在控制台创建资源信息,包括创建实例创建Topic创建Group获取AccessKey(包括AccessKey ID和AccessKey Secret)以及获取接入点

运行Demo工程

  1. 下载并解压Demo工程。
    下载地址,请参见Demo工程。解压后可看到本地新增了mqtt-server-sdk-demo-main文件夹,java-demo\src\main\java\com\aliyun\openservices\lmq\example路径下包含了消息收发的示例代码。
    • MQTTProducerDemo类:云端服务向微消息队列MQTT版服务端发送消息。
    • MQTTConsumerDemo类:云端服务从微消息队列MQTT版服务端接收消息。
    • MQTTClientStatusNoticeProcessDemo类:云端服务接收客户端上下线通知消息。
  2. 将解压好的Demo工程导入至IntelliJ IDEA。
  3. 修改示例代码,根据业务场景修改需要使用的示例代码,将创建好的资源信息填写至示例代码中。
    // 微消息队列MQTT版实例的接入点,具体填写格式,请参见公共参数。
    String domain = "domain";
    // 使用的协议和端口必须匹配,该参数值固定为5672。
    int port = "port";
    // 已创建好的微消息队列MQTT版实例ID。
    String instanceId = "instanceId";
    // 您的RAM用户的AccessKey ID和AccessKey Secret。
    String accessKey = "accessKey";
    String secretKey = "secretKey";
    // 您已创建好的用于收发消息的父级Topic。
    String firstTopic = "firstTopic";
    // 若您需要使用子级Topic,可直接在代码中设置,无需提前在控制台创建。子级Topic命名规范,请参见名词解释。
    String secondTopic = "secondTopic";
    // 您已创建好的用于收发消息的Group ID。
    String mqttGroupId = "mqttGroupId";
  4. 配置完成后,以Main方式运行步骤2中修改好的示例代码。

结果验证

运行Demo工程完成消息收发后,您可在微消息队列MQTT版控制台查询消息轨迹,验证消息收发结果。详细信息,请参见消息轨迹查询