接口和参数说明

更新时间:

本文介绍云消息队列 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-server-internet.mqtt.aliyuncs.com

  • VPC 接入点MQTT实例ID-server-internal.mqtt.aliyuncs.com

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。更多信息,请参见基本概念

重要
  • 如果使用了未创建或未授权的Topic,会导致客户端鉴权失败,云消息队列 MQTT 版服务端断开客户端的连接。

  • 由于云端SDK订阅消息一般用于云上应用进行消息汇总和分析等场景,因此,云端SDK订阅消息不支持设置子级Topic。

messageListener

消息订阅回调,在回调中处理订阅的消息。

设备上下线事件接口

  • 接口名称subscribeStatus

  • 类名称com.alibaba.mqtt.server.ServerConsumer

表 3. 设备上下线事件接口参数

参数

说明

mqttGroupId

您在云消息队列 MQTT 版控制台创建的Group的ID。更多信息,请参见基本概念

statusListener

上下线事件回调,在回调中处理设备上下线消息。