servicebus 客户端 2.1 现在支持 AMQP 1.0 .
MSDN 上有一个 article了解如何将 QPID.AMQP.JMS 与 Azure ServiceBus 结合使用。
但是,尽管我可以连接到预定义主题和订阅、发布消息并接收所有消息,但我无法更改消息选择器或创建新主题/订阅。
我的目标是能够连接到主题并使用 org.apache.qpid.amqp_1_0.jms 基于不同的过滤器动态创建订阅。
问题:
1/如何创建新主题。
Topic newTopic = (Topic) session.createTopic("newtopic");
session.createProducer(newTopic); // returns error
- 这可能是因为 JMS 不支持主题管理...尽管我确信我在某处读过,如果主题不存在,它应该创建一个主题。?
2/如何通过 Jms 创建具有不同消息选择器的新订阅?
// This still gives me all messages no matter what I put in the 'class' property.
TopicSubscriber subscriber = session.createDurableSubscriber(topic, "sub1", "class = 'boo'", false);
谢谢, 菲尔。
最佳答案
AMQP 1.0 协议(protocol)故意将实体创建/管理排除在其范围之外,为此,您需要使用特定于提供者的机制提前创建主题和订阅(This post 对原因有很好的解释)。
对于服务总线,您可以使用 Azure SDK 、门户(如果您不需要以编程方式执行此操作)或他们的 REST API为此。
希望对你有帮助!
关于azure - 使用 QPID JMS (AMQP 1.0) 在 Azure ServiceBus 上创建订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17857061/