【问题标题】:Qpid for python , Not able to subscribe for a topicQpid for python,无法订阅主题
【发布时间】:2017-12-18 15:53:12
【问题描述】:
使用 Qpid for python,我使用容器连接到 ActiveMq,连接器 URL 为:
用户名:密码@主机名:5672/topicName。
在 Web 控制台中,我可以看到 AMQP 的连接已启动。但不是订阅现有主题,而是创建一个具有该名称的新队列。
有人可以帮助我提供订阅主题的格式吗?或者,如果我遗漏了什么,请指出我正确的方向。
谢谢。
【问题讨论】:
标签:
python
activemq
qpid
jms-topic
【解决方案1】:
我不完全确定 python URI 语法的 Qpid,但从 ActiveMQ 端,目标是通过使用目标前缀直接寻址的。对于一个主题,前缀是 topic://,而对于队列,它是 queue://,这并不奇怪。在没有前缀的情况下,代理将相关地址默认为 Queue 类型,因为这通常是首选。
因此,要解决您的问题,您需要构建一个使用正确前缀的 URI,在您的情况下,该前缀将是使用 topic://some-name 的东西,并且应该会得到您期望的结果。
【解决方案2】:
发现问题是,在 On_start 方法中我们必须使用 event.container.create_receiver() 并且 URL 的格式必须是 topic://