私は 2 つのアプリで Mule ESB を使用しています (1 つは rabbitMQ を介してもう 1 つのアプリにステータスを発行します)。私の実稼働環境でのみ、これらの amqp.gen-queues がポップアップ表示されますが、それらはロックされており、その中に何が入っているかを見ることができません。それらは私の取引所 (パブリッシャー) にバインドされています。
顧客は、ランダムな資産が失われる問題としてそれを指摘しています。私はそれらが起こらないようにしようとしていますが、手がかりがありません. rabbitMQ チュートリアルによると、これらはキューを宣言するときに作成されますが、名前は指定しません。しかし、私はそうしていません。
詳細: 2 つのアプリは rabbitMQ への異なるログインを使用し、キューはコンシューマー アプリではなく、私のアプリ (パブリッシャー) によって作成されます。キュー名がなく、キュー宣言は次のようになります。
<amqp:connector name="amqpConnector"
host="${myApp.status_reporting.host}"
port="${myApp.status_reporting.port}"
username="${myApp.status_reporting.username}"
password="${myApp.status_reporting.password}"
requestedHeartbeat="${myApp.status_reporting.requestedHeartbeat}"
doc:name="AMQP Connector for Status Messages"/>
<flow name="cwm_send" doc:name="cwm_send">
<amqp:outbound-endpoint
exchangeName="${myApp.status_reporting.exchange_name}"
exchangeType="topic"
exchangeDurable="${myApp.status_reporting.exchange_is_durable}"
routingKey="${myApp.status_reporting.routing_key}"
connector-ref="amqpConnector"
doc:name="AMQP Out"
queueDurable="true"
responseTimeout="10000"
/>
</flow>
ご覧のとおり、キュー名はありません。単なるルーティング キーです。
私の質問は次のとおりです: このルーティング キーに一致するこの交換にバインドされたキューがない場合、これらの一時的なキューが作成されるのはなぜですか? ロックされているメッセージをアプリで取得するにはどうすればよいですか? 私は建築的に何か間違ったことをしていますか?
自由回答の質問で申し訳ありませんが、どこかから始めなければなりません。