0

Mule ESB の AMQP コネクタに問題があります。AMQP インバウンド エンドポイントによって開始された、フロー内で要求応答メッセージを送信するとき。メッセージを確認すると、インバウンド プロパティ 'delivery-key' が見つからないというエラーが表示されます。

アウトバウンド プロパティを設定し、それを VM エンドポイントを介して別のフローに送信し、そこでインバウンド プロパティになりました。しかし、これはうまくいきませんでした。

私はRabbitMQを使用しています。

4

1 に答える 1

1

AMQP メッセージ確認には、チャネルと配信キーの両方が必要です。チャネルはシリアル化できないため、フロー変数 (呼び出しスコープのメッセージ プロパティ) に格納され、メッセージ処理のある時点でシリアル化の問題が発生するのを防ぐ必要があります (たとえば、永続的な VM キューを使用する場合)。

使用しているコネクタのバージョンでは、配信キーは受信メッセージ プロパティにのみ格納されます。この ticketで説明されているように、フローの中で outbound-endpoint を使用すると ( で行うように)、受信メッセージのプロパティは消去されますhttps:outbound-endpoint

次の 2 つのオプションがあります。

  • AMQP トランスポートの mule-3.3.x ブランチをビルドして修復 (フロー変数に格納された配信キー) を取得します。
  • a を使用しmessage-enricherて SOAP 呼び出しをラップし、メイン フローから分離して、インバウンド プロパティに大損害を与えないようにします。
于 2013-07-25T21:14:10.530 に答える