接口和参数说明
本文介绍云消息队列 MQTT 版云端Java SDK提供的接口和相关的参数说明。
使用说明
公共参数和网络参数可在ChannelConfig.class中设置。ChannelConfig.class路径为server-sdk-{SDK Version}\com\alibaba\mqtt\server\config,其中
{SDK Version}
为云端SDK的版本号。SDK下载,请参见版本说明。一般情况下网络参数使用默认值,不需要自定义设置。若您需要修改参数值,请根据网络状态合理设置。
公共参数
参数 | 说明 |
domain | 云消息队列 MQTT 版实例的接入点。客户端通过接入点连接云消息队列 MQTT 版服务端。 使用云端SDK接入云消息队列 MQTT 版时,需要填写的接入点格式如下: 重要 仅实例地域属于中国内地的实例支持云端SDK接入。
MQTT实例ID可在云消息队列 MQTT 版控制台实例详情页面的基础信息区域查看。 |
port | 协议端口。端口和使用的协议必须匹配,云端SDK中,该参数值固定为5672。 |
instanceId | 您在云消息队列 MQTT 版控制台创建的实例的ID。可在云消息队列 MQTT 版控制台实例详情页面查看。 |
accessKey | 您在阿里云账号管理控制台中创建的AccessKey ID,用于身份认证。获取方式,请参见获取AccessKey。 |
secretKey | 您在阿里云账号管理控制台中创建的AccessKey Secret,用于身份认证。获取方式,请参见获取AccessKey。仅在Signature鉴权模式下需要设置。 |
网络参数
参数 | 说明 |
networkRecoveryInterval | TCP连接自动恢复的时间间隔,默认值:5000 ms。 |
connectionTimeout | TCP请求连接超时时间。默认值:60000 ms。 若TCP请求超过该参数设置的数值,客户端会返回失败响应。 |
handshakeTimeout | TCP连接握手超时时间,默认值:10000 ms。 若连接握手时间超过该参数设置的数值,客户端会返回失败响应。 |
requestedHeartbeat | 心跳间隔时间,默认值:60 s。 若心跳间隔超过该参数设置的参数值,客户端会返回失败响应。 |
shutdownTimeout | 连接关闭超时时间,默认值:10000 ms,取值为0时表示该参数无限大。 该参数表示当TCP连接关闭时,消费者还可以继续处理消息的时间。 |
消息发送接口
接口名称:sendMessage
类名称:
com.alibaba.mqtt.server.ServerProducer
表 1. 消息发送参数
参数 | 说明 |
mqttTopic | 云消息队列 MQTT 版的Topic,包括父级Topic和子级Topic。 其中父级Topic需要在云消息队列 MQTT 版控制台创建。子级Topic无需创建,直接在代码中定义。更多信息,请参见基本概念。 重要 如果使用了未创建或未授权的Topic,会导致客户端鉴权失败,云消息队列 MQTT 版服务端断开客户端的连接。 |
payload | 消息体。 |
sendCallback | 消息发送回调,在回调中处理消息发送状态。 |
消息订阅接口
接口名称:subscribeTopic
类名称:
com.alibaba.mqtt.server.ServerConsumer
表 2. 消息订阅参数
参数 | 说明 |
firstTopic | 您在云消息队列 MQTT 版控制台创建的父级Topic。更多信息,请参见基本概念。 重要
|
messageListener | 消息订阅回调,在回调中处理订阅的消息。 |
设备上下线事件接口
接口名称:subscribeStatus
类名称:
com.alibaba.mqtt.server.ServerConsumer
表 3. 设备上下线事件接口参数
参数 | 说明 |
mqttGroupId | 您在云消息队列 MQTT 版控制台创建的Group的ID。更多信息,请参见基本概念。 |
statusListener | 上下线事件回调,在回调中处理设备上下线消息。 |