# Java Demo使用说明
本文以Java语言为例，介绍应用通过MQTTS协议接入平台，接收服务端订阅消息的示例。
#### 前提条件
已安装**IntelliJ IDEA** 开发工具。若未安装请参考[安装IntelliJ IDEA]。
 #### 安装IntelliJ IDEA
1. 访问[IntelliJ IDEA官网](https://www.jetbrains.com/idea/)，选择合适系统的版本下载。（本文以windows 64-bit系统IntelliJ IDEA 2019.2.3 Ultimate为例）。
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0288587633.png "点击放大")
   
2. 下载完成后，运行安装文件，根据界面提示安装。
 
#### 导入代码样例
1. 下载[JAVA样例](https://obs-pipeline.obs.cn-north-4.myhuaweicloud.com/north/mqttdemo-new.zip)。
2. 打开IDEA开发者工具，单击" Import Project"。 
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0288587636.png "点击放大")
   
   
3. 选择[1]中下载的样例，然后根据界面提示，单击"next"。
   
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0288587640.png "点击放大")
   
   
4. 完成代码导入。 
   ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002063849181.png)
   
   
 
#### 建立连接
1. 在com.iot.mqtt.example.demo.MqttConstants中设置接入地址及鉴权参数的值： 
   ```
   // IoT平台MQTT接入地址，替换成"连接配置说明中"的"MQTT接入域名。
   String HOST = "${HOST}";
   // 接入凭证，替换成"获取MQTT接入凭证"中获取的接入凭证。
   String ACCESS_KEY = "${accessKey}";
   String ACCESS_CODE = "${accessCode}";
   // 实例ID，当同一region购买多个标准版实例该参数必填。
   String INSTANCE_ID = "${instanceId}";
   // 接收数据的Topic，替换成"创建规则动作"中的Topic。
   String SUBSCRIBE_TOPIC = "${subscribeTopic}";
   ```
   ![](https://support.huaweicloud.com/usermanual-iothub/public_sys-resources/note_3.0-zh-cn.png)
   Demo中涉及的参数说明，请参考[连接配置说明](https://support.huaweicloud.com/usermanual-iothub/iot_01_00113.html#ZH-CN_TOPIC_0288189808__section8427203915214)。
   
   
2. 运行com.iot.mqtt.example.demo.MqttDemo样例代码，根据以下日志信息判断是否订阅成功。该示例忽略服务端证书校验，如需校验服务端证书可参考com.iot.mqtt.example.demo.MqttTlsDemo。 
   - 订阅成功。
     图1订阅成功   
     ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002063899805.png "点击放大") 
   
   
   
   - 订阅失败。
     1. 用户名或密码错误。
        图2用户名或密码错误   
        ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002027727262.png "点击放大") 
     
     2. 订阅的Topic不存在。
        图3订阅topic不存在   
        ![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002027886590.png "点击放大") 
      
   
   
   
   
 
#### 接收数据
Topic订阅后设备上报数据并触发规则后，MQTT客户端就可以收到流转数据。样例代码收到流转数据的日志如下图所示：
图4接收到流转数据   
![](https://support.huaweicloud.com/usermanual-iothub/figure/zh-cn_image_0000002027887154.png "点击放大")
