azure - 使用 QPID JMS (AMQP 1.0) 在 Azure ServiceBus 上创建订阅

标签 azure jms amqp servicebus

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/

相关文章:

python - Kombu - 消息发布到 rabbitmq 错误 - TypeError : 'str' object is not callable

azure - 如何限制Azure服务中cosmos数据库的使用?

azure - 从 Azure VM 连接到 KeyVault 时出现异常

.net - 如何在 Azure 表存储中存储任意键值对?

java - Spring JMS 运行时连接管理

java - jms 队列 vs 内存中 java 队列

java - 是否可以在运行时手动将消息驱动的 bean 订阅到 JMS 队列/主题?

Azure Blob 存储 - 自动移动到存档存储层

python - 什么相当于 nodejs 中的 Pythons "pickle"

message-queue - 消息优先级在消息队列系统中是否本质上不重要?