相关疑难解决方法(0)

如何让Spring RabbitMQ创建一个新的Queue?

在使用rabbit-mq的(有限)经验中,如果为尚不存在的队列创建新的侦听器,则会自动创建队列.我正在尝试使用带有rabbit-mq的Spring AMQP项目来设置一个监听器,而我正在收到错误.这是我的xml配置:

<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>
Run Code Online (Sandbox Code Playgroud)

我在RabbitMq日志中得到了这个:

=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'}
Run Code Online (Sandbox Code Playgroud)

和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.
Run Code Online (Sandbox Code Playgroud)

从堆栈跟踪看来,队列是以"被动"模式创建的 - 任何人都可以指出我如何创建不使用被动模式的队列,所以我没有看到这个错误?还是我错过了别的什么?

java spring amqp rabbitmq

12
推荐指数
3
解决办法
3万
查看次数

标签 统计

amqp ×1

java ×1

rabbitmq ×1

spring ×1