起初我认为QPID文档很棒,但现在我发现它令人困惑。我正在使用QPID-0.6的C ++ API和 qpid :: messaging 命名空间(我看到我可以使用 qpid :: client 访问低级AMQP,但是这不是我现在想要的。)
使用AMQP,我会声明一个类型的交换,在发送消息之前声明一个队列和一个绑定。使用QPID,我可以向发送者发送一个地址。是否有任何带有地址示例的文档,它们也是如此? (创建各种交换,队列和创建绑定)。
值得注意的是,我在网上找到了一个地址语法,其中包括节点,链接,x-declare和x-binding字段。然而,挖掘0.6代码并没有找到,而是看到了更简单的语法(使用名为node-properties和x-properties的字段),并且其文档不是太简单,也缺少任何示例。
在examples / messaging / client.cpp中,这是我发现的最多:
#response-q; {create:always, type:queue, node-properties:{ x-properties:{auto-delete:true}}}
使用这种更简单的地址语法设置各种类型的交换,队列和绑定吗?
或者移动到0.6之后的东西会更受欢迎? (如果它足够稳定,并且语法不那么讨厌)
或者我的做法是错误的,我不应该为高级API预先创建和绑定接收队列?
谢谢。
答案 0 :(得分:2)
0.6中的消息传递API仅是早期预览。从那时起它已经发展了一点,尤其是寻址语法。您在上面引用的语法基于主干实现(现在稳定),将在10月底发布。
我不建议将消息传递API与0.6库一起使用;要么使用trunk,要么等到下一个版本(将在版本之间调用0.8 - 0.7作为主干代码)。
http://qpid.apache.org/books/0.7/Programming-In-Apache-Qpid/html/提供了消息传递API的进行中指南。有关寻址的部分值得一读。对于该文件(以及项目的所有其他方面)的反馈,欢迎发送电子邮件至users@qpid.apache.org!