2015-09-02 84 views
0

我安装了rabbitmq-server和amqp-tools。我的消费开始确定用这个参数:rabbitMQ不是我的消息

# amqp-consume -s 127.0.0.1:5672 -e "amq.topic" --vhost "/" -r "worker1" --username=guest --password=guest -d onmessage.sh 
Server provided queue name: amq.gen-gzncPpcYr0f1s8HfI-A5cW 

我的发布商发送的消息,我可以在控制台和Web浏览器看到它:

# amqp-publish -s 127.0.0.1:5672 -e "amq.topic" -r "worker1" --vhost="/" --username=guest --password=guest -b "this is a test message" 
# rabbitmqctl list_queuesListing queues ... 
amq.gen-gzncPpcYr0f1s8HfI-A5cW 3 
...done. 

代息onmessage.sh刚读一行,在屏幕上回显它。但是消费者并没有把消息夸大。为什么?

回答

1

你需要在消费者中声明一个队列。你应该增加:

-q "my_queue" 

这样的:

# amqp-consume -s 127.0.0.1:5672 -e "amq.topic" -q "my_queue" --vhost "/" -r "worker1" --username=guest --password=guest -d onmessage.sh 

的-e声明交流。

+0

这是没有必要的。 rabbitMQ创建它的队列(amq.gen-gzncPpcYr0f1s8HfI-A5cW)。我在脚本之前解决了使用/ bin/bash。 –

+0

根据你的例子 - 它看起来像它运行无论如何.. – Udy