2

服务总线客户端 2.1 现在支持AMQP 1.0

在 MSDN 上有一篇关于如何将 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);

谢谢,菲尔。

4

1 回答 1

3

AMQP 1.0 协议故意将实体创建/管理置于其范围之外,您需要为此使用提供商特定的机制预先创建主题和订阅(这篇文章对原因有很好的解释)。

对于服务总线,您可以使用Azure SDK、门户(如果您不需要以编程方式执行此操作)或它们的REST API

希望能帮助到你!

于 2013-08-08T00:25:36.950 回答