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

ApsaraMQ for MQTT:クラウド SDK for Java のインターフェースとパラメーター

最終更新日:Oct 09, 2026

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

前提条件

開始する前に、以下の準備が必要です。

  • ApsaraMQ for MQTT コンソールで ApsaraMQ for MQTT インスタンスを作成済みであること
  • 認証用の AccessKey ペアを取得済みであること。詳細については、「AccessKey ペアの取得」をご参照ください。
  • クラウド SDK for Java をダウンロードし、プロジェクトに追加済みであること。ダウンロードリンクについては、「リリースノート」をご参照ください。

接続パラメーター

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

必須パラメーター

パラメーター 型 説明
domain String ApsaraMQ for MQTT インスタンスのエンドポイント。「エンドポイント形式」をご参照ください。
port Integer クラウド SDK が使用するポート。5672 に設定します。プロトコルとポートは一致している必要があります。
instanceId String ApsaraMQ for MQTT インスタンスの ID。ApsaraMQ for MQTT コンソールの [Instance Details] ページの [Basic Information] セクションで確認できます。
accessKey String Resource Access Management (RAM) コンソールで作成した AccessKey ID。「AccessKey ペアの取得」をご参照ください。
secretKey String RAM コンソールで作成した AccessKey シークレット。署名認証の場合のみ必要です。「AccessKey ペアの取得」をご参照ください。

エンドポイント形式

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

アクセス方法 エンドポイント形式
Public <instance-id>-server-internet.mqtt.aliyuncs.com
VPC <instance-id>-server-internal.mqtt.aliyuncs.com
VPC 専用 <instance-id>-server-single-internal.mqtt.aliyuncs.com

<instance-id> は、ApsaraMQ for MQTT コンソールの [Instance Details] ページの [Basic Information] セクションに記載されている ApsaraMQ for MQTT インスタンスの ID に置き換えてください。

注: VPC 専用エンドポイントは、インスタンスのネットワークアクセスポイントを作成した後でのみ使用できます。

重要: すべてのリージョンがクラウド SDK アクセスをサポートしているわけではありません。サポートされているリージョンについては、「SDK アクセスリージョン」をご参照ください。インスタンス専用のアクセスポイントを作成した場合は、VPC 専用エンドポイントを使用してインスタンスにアクセスできます。

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

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

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

sendMessage

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

  • クラス: com.alibaba.mqtt.server.ServerProducer
パラメーター 型 説明
mqttTopic String パブリッシュ先の MQTT トピック。親トピックまたはサブトピックのいずれかを指定します。親トピックは、事前に ApsaraMQ for MQTT コンソールで作成してください。サブトピックは、コンソールで作成せずにコード内で直接指定できます。トピック階層の詳細については、「基本用語」をご参照ください。
payload byte[] メッセージ本文。
sendCallback SendCallback メッセージ送信後に呼び出されるコールバック。このコールバックで送信結果を処理します。

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

subscribeTopic

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

  • クラス: com.alibaba.mqtt.server.ServerConsumer
パラメーター 型 説明
firstTopic String ApsaraMQ for MQTT コンソールで作成した親トピック。詳細については、「基本用語」をご参照ください。
messageListener MessageListener メッセージが到着したときに呼び出されるコールバック。このコールバックで受信したメッセージを処理します。

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

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

subscribeStatus

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

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

関連トピック

  • 基本用語:トピック階層、グループ、およびその他の主要な概念
  • リリースノート:SDK バージョンとダウンロードリンク
  • SDK アクセスリージョン:クラウド SDK アクセスをサポートするリージョン