Wie man Spring-RabbitMQ zum erstellen einer neuen Warteschlange?

In meine (begrenzte) Erfahrung mit rabbit-mq, wenn Sie einen neuen listener für eine Warteschlange, die noch nicht existiert, wird die Warteschlange automatisch erstellt. Ich versuche, das Spring AMQP-Projekt mit rabbit-mq um einen listener einrichten, und ich bekomme eine Fehlermeldung statt. Das ist meine xml config:

<rabbit:connection-factory id="rabbitConnectionFactory" host="172.16.45.1" username="test" password="password" />

<rabbit:listener-container connection-factory="rabbitConnectionFactory"  >
    <rabbit:listener ref="testQueueListener" queue-names="test" />
</rabbit:listener-container>

<bean id="testQueueListener" class="com.levelsbeyond.rabbit.TestQueueListener"> 
</bean>

Bekomme ich diese in meine RabbitMq-Protokolle:

=ERROR REPORT==== 3-May-2013::23:17:24 ===
connection <0.1652.0>, channel 1 - soft error:
{amqp_error,not_found,"no queue 'test' in vhost '/'",'queue.declare'}

Und eine ähnliche Fehlermeldung von AMQP:

2013-05-03 23:17:24,059 ERROR [org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer] (SimpleAsyncTaskExecutor-1) - Consumer received fatal exception on startup
org.springframework.amqp.rabbit.listener.FatalListenerStartupException: Cannot prepare queue for listener. Either the queue doesn't exist or the broker will not allow us to use it.

Scheint es aus dem stack-trace, die Warteschlange wird immer erstellt, in eine "passive" - Modus - Kann mir jemand zeigen, wie ich das schaffen würde die Warteschlange nicht mit dem passiv-Modus, so sehe ich nicht diesen Fehler? Oder übersehe ich etwas anderes?

InformationsquelleAutor eric | 2013-05-04

Schreibe einen Kommentar