Я использую Mule ESB с двумя приложениями (одно публикует статус другому через rabbitMQ). ТОЛЬКО в моей производственной среде эти очереди amqp.gen- появляются, но они заблокированы, и я не вижу, что внутри них. Они привязаны к моей бирже (издателю).
Клиент указывает на это как на проблему потери случайных активов. Я пытаюсь предотвратить их появление, но понятия не имею. Согласно руководству rabbitMQ, они создаются, когда вы объявляете очередь, но не указываете имя. Однако я этого не делаю.
Дополнительная информация: два приложения используют разные логины для 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>
Как видите, имени очереди нет. просто ключ маршрутизации.
У меня такой вопрос: если к этому обмену нет очереди, соответствующей этому ключу маршрутизации, почему создаются эти временные очереди? Как мое приложение может получить заблокированные в них сообщения? Я что-то делаю не так с архитектурой?
Извините за открытые вопросы, но мне нужно с чего-то начать.
amqp:inbound-endpoint
? - person David Dossot   schedule 13.06.2015