Todos os produtos
Search
Central de documentação

ApsaraMQ for MQTT:Interfaces de API e parâmetros do Cloud SDK for Java

Última atualização: Oct 09, 2026

O Cloud SDK for Java do ApsaraMQ for MQTT fornece três interfaces de API para integração do lado do servidor: sendMessage para publicar mensagens, subscribeTopic para consumir mensagens e subscribeStatus para rastrear eventos de conexão do cliente.

Pré-requisitos

Antes de começar, certifique-se de ter:

  • Crie uma instância do ApsaraMQ for MQTT no console do ApsaraMQ for MQTT

  • Um par de AccessKey para autenticação. Para mais detalhes, consulte Obter um par de AccessKey

  • O Cloud SDK for Java baixado e adicionado ao seu projeto. Para obter os links de baixe, consulte Notas de versão

Parâmetros de conexão

Configure os parâmetros de conexão em ChannelConfig.class, localizado em server-sdk-{SDK Version}\com\alibaba\mqtt\server\config. Substitua {SDK Version} pela versão do Cloud SDK for Java no seu projeto.

Parâmetros obrigatórios

Parâmetro

Tipo

Descrição

domain

String

Endpoint da sua instância do ApsaraMQ for MQTT. Consulte Formatos de endpoint.

port

Integer

Porta usada pelo Cloud SDK. Defina como 5672. O protocolo e a porta devem ser compatíveis.

instanceId

String

ID da sua instância do ApsaraMQ for MQTT. Localize-o na seção Basic Information da página Instance Details no console do ApsaraMQ for MQTT.

accessKey

String

AccessKey ID criado no console do Resource Access Management (RAM). Consulte Obter um par de AccessKey.

secretKey

String

AccessKey secret criado no console do RAM. Necessário apenas para autenticação por assinatura. Consulte Obter um par de AccessKey.

Formatos de endpoint

Escolha o formato do endpoint com base no seu método de acesso à rede:

Método de acesso

Formato do endpoint

Público

<instance-id>-server-internet.mqtt.aliyuncs.com

VPC

<instance-id>-server-internal.mqtt.aliyuncs.com

VPC dedicada

<instance-id>-server-single-internal.mqtt.aliyuncs.com

Substitua <instance-id> pelo ID da sua instância do ApsaraMQ for MQTT, listado na seção Basic Information da página Instance Details no console do ApsaraMQ for MQTT.

Nota: O endpoint de VPC dedicada fica disponível apenas após a criação de um ponto de acesso de rede para a sua instância.

Importante: Nem todas as regiões oferecem suporte ao acesso via Cloud SDK. Para as regiões compatíveis, consulte Regiões de acesso do SDK. Se você criou um ponto de acesso dedicado para a sua instância, use o endpoint de VPC dedicada para acessá-la.

Parâmetros de rede

Os valores padrão funcionam para a maioria dos casos. Ajuste esses parâmetros apenas se as condições de rede assim o exigirem.

Parâmetro

Tipo

Descrição

Unidade

Padrão

networkRecoveryInterval

Integer

Tempo antes da recuperação automática de uma conexão TCP.

Milissegundos

5000

connectionTimeout

Integer

Tempo máximo de espera para estabelecer uma conexão TCP. Se a conexão não for estabelecida nesse período, o sistema retornará um erro.

Milissegundos

60000

handshakeTimeout

Integer

Tempo máximo de espera para um handshake TCP. Se o handshake não for concluído nesse período, o sistema retornará um erro.

Milissegundos

10000

requestedHeartbeat

Integer

Intervalo entre sinais de heartbeat. Se nenhum heartbeat for enviado nesse intervalo, o sistema retornará um erro.

Segundos

60

shutdownTimeout

Integer

Período de carência para o consumidor terminar de processar mensagens após o fechamento da conexão TCP. Defina como 0 para permitir o processamento por tempo indeterminado.

Milissegundos

10000

sendMessage

Publique uma mensagem em um tópico MQTT.

  • Classe:com.alibaba.mqtt.server.ServerProducer

Parâmetro

Tipo

Descrição

mqttTopic

String

Tópico MQTT de destino da publicação. Especifique um tópico pai ou um subtópico. Crie os tópicos pai no console do ApsaraMQ for MQTT primeiro. Especifique os subtópicos diretamente no código, sem a necessidade de criá-los no console. Para detalhes sobre a hierarquia de tópicos, consulte Termos básicos.

payload

byte[]

Corpo da mensagem.

sendCallback

SendCallback

Callback invocado após o envio da mensagem. Trate o resultado do envio neste callback.

Importante: Se o tópico especificado não existir ou se o cliente não tiver permissões nele, a autenticação falhará e o broker do ApsaraMQ for MQTT encerrará a conexão do cliente.

subscribeTopic

Inscreva-se para receber mensagens de um tópico pai.

  • Classe:com.alibaba.mqtt.server.ServerConsumer

Parâmetro

Tipo

Descrição

firstTopic

String

Tópico pai criado no console do ApsaraMQ for MQTT. Para mais detalhes, consulte Termos básicos.

messageListener

MessageListener

Callback invocado quando uma mensagem chega. Processe as mensagens recebidas neste callback.

Importante: Se o tópico especificado não existir ou se o cliente não tiver permissões nele, a autenticação falhará e o broker do ApsaraMQ for MQTT encerrará a conexão do cliente.

O Cloud SDK não oferece suporte a inscrições em subtópicos. Seu design é voltado para aplicações de backend que coletam e analisam todas as mensagens de um tópico pai.

subscribeStatus

Inscreva-se para receber notificações de status do cliente de um grupo específico.

  • Classe:com.alibaba.mqtt.server.ServerConsumer

Parâmetro

Tipo

Descrição

mqttGroupId

String

Group ID criado no console do ApsaraMQ for MQTT. Para mais detalhes, consulte Termos básicos.

statusListener

StatusListener

Callback invocado quando uma notificação de status do cliente chega. Processe os eventos de status neste callback.

Tópicos relacionados

  • Termos básicos -- Hierarquia de tópicos, grupos e outros conceitos fundamentais

  • Notas de versão -- Versões do SDK e links para baixe

  • Regiões de acesso do SDK -- Regiões que oferecem suporte ao acesso via Cloud SDK