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

ApsaraMQ for RabbitMQ:エラーコード

最終更新日:Mar 08, 2026

このトピックでは、ApsaraMQ for RabbitMQ クライアントからの AMQP 0-9-1 プロトコル呼び出しのリターンコードについて説明します。リターンメッセージとソリューションを使用して、エラーのトラブルシューティングを行うことができます。

リターンコード

リターンコード (reply-code)

リターンメッセージ (reply-text)

説明

ソリューション

200

no route has mandatory

メッセージを送信するために basicPublish メソッドを呼び出し、mandatory パラメーターを true に設定した場合、エクスチェンジがそのタイプとメッセージのルーティングキーに基づいて一致するキューを見つけられないと、ブローカーは basic.return メソッドを呼び出してプロデューサーにメッセージを返します。

エクスチェンジのバインディングが正しく構成されていることを確認してください。

311

MessageBodyLengthExceeded

メッセージサイズが制限を超えています。

送信するメッセージのサイズが ApsaraMQ for RabbitMQ の使用制限を超えないようにしてください。詳細については、「使用制限」をご参照ください。

320

ProtocolVersionMismatch

プロトコルバージョンが正しくありません。AMQP 0-9-1 のみがサポートされています。

AMQP 0-9-1 プロトコルを使用していることを確認してください。

403

AccessDeniedByRamPolicy

権限エラーが発生しました。

Resource Access Management (RAM) ユーザーに必要な権限が付与されていることを確認してください。詳細については、「RAM アクセスポリシー」をご参照ください。

404

ExchangeNotExist

エクスチェンジが存在しません。

  • 指定されたエクスチェンジが作成されていることを確認してください。

  • エクスチェンジ名が正しく入力されていることを確認してください。

QueueNotExist

キューが存在しません。

  • 指定されたキューが作成されていることを確認してください。

  • キュー名が正しく入力されていることを確認してください。

405

QueueExclusive

現在のキューは排他キューです。

このキューは、作成した接続からのみ表示されます。他の接続からはアクセスできません。

406

QueueConsumerNameInvalid

キューコンシューマー名が無効です。

コンシューマー名が正しく入力され、要件を満たしていることを確認してください。要件の詳細については、「使用制限」をご参照ください。

ExchangeNameEmpty

エクスチェンジ名が空です。

エクスチェンジ名を入力してください。エクスチェンジが作成されていることを確認してください。要件の詳細については、「使用制限」をご参照ください。

QueueHasDiffField

宣言されたキューのプロパティが、サーバー上の既存のキューのプロパティと異なります。

キュー宣言のパラメーター値を、既存のキューのプロパティと一致するように変更してください。詳細については、「QueueHasDiffField」をご参照ください。

BindingNameInvalid

ルーティングキー名が無効です。

ルーティングキーが正しく入力され、要件を満たしていることを確認してください。要件の詳細については、「使用制限」をご参照ください。

ExchangeInBuilt

組み込みエクスチェンジは作成できません。

エクスチェンジ名を変更してください。「amq.」で始まる名前のエクスチェンジはシステム組み込みであり、ユーザーは作成できません。

QueueNameInvalid

キュー名が無効です。

キュー名が正しく入力され、要件を満たしていることを確認してください。要件の詳細については、「使用制限」をご参照ください。

MessageBodyEmpty

メッセージ本文が空です。

メッセージのコンテンツを入力してください。

503

ExchangeTypeNotSupport[x-delayed-message]

x-delayed-message エクスチェンジを作成する際に、パラメーターが正しく設定されていません。

エクスチェンジタイプと x-delay-type パラメーターが正しく設定されていることを確認してください。以下のコードは例を示しています。

  • arguments.put("x-delayed-type", "The value can only be direct, topic, fanout, or headers");

  • channel.exchangeDeclare("${exchangeName}", "The value can only be x-delayed-message", true, false, arguments);

504

ChannelNotFind

メッセージがサーバーに送信されている間にチャンネルがクリアされました。

このエラーコードは、複数のプロセスが接続を共有し、頻繁に接続を作成およびクローズする場合に返されます。

Spring Boot 統合を使用しており、接続ファクトリが CONNECTION モードの場合、クライアントが頻繁に接続を作成およびクローズするのを防ぐために、spring.rabbitmq.cache.connection.size (キャッシュされた接続の数) を調整してください。

530

ExchangeHasDiffFields

宣言されたエクスチェンジのプロパティが、サーバー上の既存のエクスチェンジのプロパティと異なります。

エクスチェンジ宣言のパラメーター値を、既存のエクスチェンジのプロパティと一致するように変更してください。詳細については、「ExchangeHasDiffFields」をご参照ください。

denied for too many requests

メッセージの送受信におけるピーク TPS (Transactions Per Second) がインスタンスタイプ制限を超えています。リクエストはスロットルされます。

  • トラフィックシェーピングを使用して、メッセージ TPS がインスタンスタイプ制限を超えないようにしてください。詳細については、「インスタンスのスロットリングに関するベストプラクティス」をご参照ください。

  • インスタンスタイプをアップグレードして、ピーク TPS 制限を増やしてください。制限の詳細については、「使用制限」をご参照ください。

VhostNumExceeded

単一インスタンス内の vhost 数が制限を超えています。

  • 未使用の vhost を削除してください。

  • インスタンスタイプをアップグレードして、vhost 制限を増やしてください。制限の詳細については、「使用制限」をご参照ください。

ExchangeNumExceeded

単一 vhost 内のエクスチェンジ数が制限を超えています。

  • 未使用の vhost を削除できます。

  • インスタンスタイプをアップグレードして、エクスチェンジ制限を増やしてください。制限の詳細については、「使用制限」をご参照ください。

QueueNumExceeded

単一インスタンス内のキュー数が制限を超えています。

VHostTotalBindingNumExceeded

単一 vhost 内のバインディング数が制限を超えています。

ExchangeBindingNumExceeded

単一エクスチェンジにアタッチされたキュー数が制限を超えています。

未使用のキューをデタッチしてください。

QueueConsumerNumExceeded

単一キューのコンシューマー数が制限を超えています。

ChannelNumExceeded

単一接続のチャンネル数が制限を超えています。

未使用のプロデューサーまたはコンシューマープロセスをシャットダウンしてください。

QueueConsumerAlreadyExist

同じコンシューマータグを持つコンシューマーがすでにキューに存在します。

同じチャンネルで BasicConsume を呼び出す際に、異なる ConsumerTag 値を指定してください。

AccessAccountDataError

指定されたユーザー名とパスワードでの認証に失敗しました。

  • 静的ユーザー名とパスワードが正しいことを確認してください。

  • 静的ユーザー名とパスワードが現在のインスタンスに属していることを確認してください。

  • 静的ユーザー名とパスワードの作成に使用された AccessKey ID と AccessKey Secret が正しいことを確認してください。

ConnectionNumExceeded

単一インスタンス用に作成された接続数が制限を超えています。

  • 接続を再利用してください。リクエストごとに新しい接続を作成しないでください。

  • インスタンスタイプをアップグレードして、接続制限を増やしてください。制限の詳細については、「使用制限」をご参照ください。

541

InternalError

サーバー側で内部エラーが発生しました。

リターンメッセージに基づいてエラーの原因を特定し、チケットを送信し、ApsaraMQ for RabbitMQ テクニカルサポートにお問い合わせください。

リターンメッセージの例

Caused by: com.rabbitmq.client.ShutdownSignalException: channel error; protocol method: #method<channel.close>
(reply-code=404, reply-text=ExchangeNotExist, ReqId:5FB4C999314635F952FCBFF6, ErrorHelp[dstQueue=XXX_test_queue,
srcExchange=Producer.ExchangeName,routingKey=XXX_test_bk, http://mrw.so/6rNqO8], class-id=50, method-id=20)
    at com.rabbitmq.client.impl.ChannelN.asyncShutdown(ChannelN.java:516)
    at com.rabbitmq.client.impl.ChannelN.processAsync(ChannelN.java:346)
    at com.rabbitmq.client.impl.AMQChannel.handleCompleteInboundCommand(AMQChannel.java:182)
    at com.rabbitmq.client.impl.AMQChannel.handleFrame(AMQChannel.java:114)
    at com.rabbitmq.client.impl.AMQConnection.readFrame(AMQConnection.java:672)
    at com.rabbitmq.client.impl.AMQConnection.access$300(AMQConnection.java:48)
    at com.rabbitmq.client.impl.AMQConnection$MainLoop.run(AMQConnection.java:599)
    at java.lang.Thread.run(Thread.java:748)

応答情報

パラメーター

説明

reply-code

リターンコードです。

404

reply-text

リターンメッセージです。

ExchangeNotExist

ReqId

リクエスト ID です。

5FB4C999314635F952FCBFF6

ErrorHelp

エラーのトラブルシューティングに役立つ情報です。これには以下が含まれます。

  • エラー発生時の関連メタデータ。

  • AMQP プロトコルメソッドのリターンメッセージに関するリファレンスドキュメントへのリンク。

説明

BasicPublish API 呼び出しが失敗した場合、パフォーマンスを向上させ、メモリオーバーヘッドを削減するために、ErrorHelp は msgId のみを提供します。キーと値の構造は提供されません。msgId を使用してエラーのトラブルシューティングを行ってください。

[dstQueue=XXX_test_queue,srcExchange=Producer.ExchangeName,routingKey=XXX_test_bk,http://mrw.so/6rNqO8]

class-id

クラス ID です。これはオープンソース RabbitMQ と同じです。

50

method-id

メソッド ID です。これはオープンソース RabbitMQ と同じです。

20