すべてのプロダクト
Search
ドキュメントセンター

ApsaraMQ for MQTT:Cloud SDK for Java インターフェイスとパラメーター

最終更新日:Mar 12, 2026

ApsaraMQ for MQTT の Cloud SDK for Java は、サーバー側統合のために3つのインターフェイスを提供します。メッセージのパブリッシュには sendMessage、メッセージの消費には subscribeTopic、クライアント接続イベントの追跡には subscribeStatus を使用します。

前提条件

開始する前に、以下を確認してください。

  • ApsaraMQ for MQTT コンソールで ApsaraMQ for MQTT インスタンスが作成されていること

  • 認証用の AccessKey ペアがあること。詳細については、「AccessKey ペアの取得」をご参照ください。

  • Cloud SDK for Java がダウンロードされ、プロジェクトに追加されていること。ダウンロードリンクについては、「リリースノート」をご参照ください。

接続パラメーター

server-sdk-{SDK Version}\com\alibaba\mqtt\server\config にある ChannelConfig.class で接続パラメーターを設定します。{SDK Version} は、ご利用のプロジェクトの Cloud SDK for Java のバージョンに置き換えてください。

必須パラメーター

パラメーター説明
domainStringご利用の ApsaraMQ for MQTT インスタンスのエンドポイント。詳細については、「エンドポイントのフォーマット」をご参照ください。
portIntegerCloud SDK が使用するポート。プロトコルとポートは一致している必要があります。5672 に設定します。
instanceIdStringApsaraMQ for MQTT インスタンスの ID です。[インスタンスの詳細] ページで確認できます(ApsaraMQ for MQTT コンソール)。
accessKeyString認証のために Resource Access Management (RAM) コンソールで作成された AccessKey ID。詳細については、「AccessKey ペアの取得」をご参照ください。
secretKeyStringRAM コンソールで作成された AccessKey Secret。署名認証にのみ必要です。詳細については、「AccessKey ペアの取得」をご参照ください。

エンドポイントのフォーマット

ネットワークアクセス方法に基づいて、エンドポイントのフォーマットを選択します。

アクセス方法エンドポイントのフォーマット
パブリック<instance-id>-server-internet.mqtt.aliyuncs.com
VPC<instance-id>-server-internal.mqtt.aliyuncs.com

<instance-id> を、基本情報 セクションに一覧表示されているお客様の ApsaraMQ for MQTT インスタンスの ID に置き換えます。[インスタンスの詳細] ページの ApsaraMQ for MQTT コンソール で確認できます。

重要

すべてのリージョンが Cloud SDK アクセスをサポートしているわけではありません。サポートされているリージョンについては、「SDK アクセスリージョン」をご参照ください。

ネットワークパラメーター

ほとんどの場合、デフォルト値は変更せずに機能します。ネットワーク条件で必要な場合にのみ、これらのパラメーターを調整してください。

パラメーター説明単位デフォルト
networkRecoveryIntervalIntegerTCP 接続が自動的に回復されるまでの時間。ミリ秒5000
connectionTimeoutIntegerTCP 接続を確立するための最大待機時間。この期間内に接続が確立されない場合、エラーが返されます。ミリ秒60000
handshakeTimeoutIntegerTCP ハンドシェイクの最大待機時間。この期間内にハンドシェイクが完了しない場合、エラーが返されます。ミリ秒10000
requestedHeartbeatIntegerハートビート信号間の間隔。この間隔内にハートビートが送信されない場合、エラーが返されます。60
shutdownTimeoutIntegerTCP 接続がクローズされた後、コンシューマーがメッセージの処理を完了するための猶予期間。無期限の処理を許可するには 0 に設定します。ミリ秒10000

sendMessage

MQTT Topic にメッセージをパブリッシュします。

  • クラス: com.alibaba.mqtt.server.ServerProducer

パラメーター説明
mqttTopicStringパブリッシュ先の MQTT Topic。親トピックまたはサブトピックのいずれかを指定します。親トピックは、まず ApsaraMQ for MQTT コンソールで作成します。サブトピックは、コンソールで作成せずにコードで直接指定できます。Topic 階層の詳細については、「基本用語」をご参照ください。
payloadbyte[]メッセージ本文。
sendCallbackSendCallbackメッセージ送信後に呼び出されるコールバック。このコールバックで送信結果を処理します。
重要

指定された Topic が存在しない場合、またはクライアントにその権限がない場合、認証が失敗し、クライアントは ApsaraMQ for MQTT ブローカーから切断されます。

subscribeTopic

親トピックのメッセージをサブスクライブします。

  • クラス: com.alibaba.mqtt.server.ServerConsumer

パラメーター説明
firstTopicStringApsaraMQ for MQTT コンソールで作成された親トピック。詳細については、「基本用語」をご参照ください。
messageListenerMessageListenerメッセージが到着したときに呼び出されるコールバック。このコールバックで受信メッセージを処理します。
重要
  • 指定された Topic が存在しない場合、またはクライアントにその権限がない場合、認証が失敗し、クライアントは ApsaraMQ for MQTT ブローカーから切断されます。

  • Cloud SDK はサブトピックのサブスクリプションをサポートしていません。これは、親トピック上のすべてのメッセージを収集・分析するバックエンドアプリケーション向けに設計されています。

subscribeStatus

特定のグループのクライアントステータス通知をサブスクライブします。

  • クラス: com.alibaba.mqtt.server.ServerConsumer

パラメーター説明
mqttGroupIdStringApsaraMQ for MQTT コンソールで作成されたグループ ID。詳細については、「基本用語」をご参照ください。
statusListenerStatusListenerクライアントステータス通知が到着したときに呼び出されるコールバック。このコールバックでステータスイベントを処理します。

関連トピック