【发布时间】:2015-06-10 21:18:54
【问题描述】:
每个人:
我是 qpid 的新手,遇到了一些问题。我创建的exchange无法将消息路由到队列,如下:
首先,我使用 quid-config 命令在 qpid 中创建一个 durbale 队列“test-queue-1”:
qpid-config add queue test-queue-1 --durable
接下来我在 qpid 中创建一个持久的直接交换“test-exchange-1”,同时使用 qpid-config 命令:
qpid-config add exchange direct test-exchange-1 --durable
最后,将它们绑定为以下命令:
qpid-config bind test-exchange-1 test-queue-1 test-queue-1
在 qpid 工具中似乎一切正常:
Object Summary:
ID Created Destroyed Index
========================================================================================
128 12:28:28 - org.apache.qpid.broker:queue:qmfc-v2-hb-iZ23c6sri0pZ.12680.1
129 12:28:28 - org.apache.qpid.broker:queue:qmfc-v2-iZ23c6sri0pZ.12680.1
130 12:28:28 - org.apache.qpid.broker:queue:qmfc-v2-ui-iZ23c6sri0pZ.12680.1
131 12:28:28 - org.apache.qpid.broker:queue:reply-iZ23c6sri0pZ.12680.1
132 12:24:17 - org.apache.qpid.broker:queue:test-queue-1
133 12:28:28 - org.apache.qpid.broker:queue:topic-iZ23c6sri0pZ.12680.1
116 12:27:20 -
和
org.apache.qpid.broker:binding:org.apache.qpid.broker:exchange:test-exchange-1,org.apache.qpid.broker:queue:test-queue-1,test-queue-1
现在我准备好测试它们了,启动recv/send 演示程序:
[devel@iZ23c6sri0pZ build]$ ./recv amqp://127.0.0.1/test-queue-1
发送消息:
[devel@iZ23c6sri0pZ build]$ ./send -a amqp://127.0.0.1/test-exchange-1 hi,everyone
但“接收程序”无法接收任何消息。
如果我发送这样的消息:
[devel@iZ23c6sri0pZ build]$ ./send -a amqp://127.0.0.1/test-queue-1 hi,everyone
“接收程序”可以接收消息:
Address: amqp://127.0.0.1/test-queue-1
Subject: Hello Subject
Content: "hi,everyone"
谁能告诉我为什么?我阅读了amqp协议,可能消息中的routing-key与binding-key不匹配,但是如果是这样,我该如何设置routing-key? 我的接收/发送由 proton-c 编写,版本 0.8。 qpidd 是 0.32 版本。
【问题讨论】: