2013-07-25 58 views
2

服務總線客戶端2.1現在支持AMQP 1.0使用QPID JMS(AMQP 1.0)在Azure ServiceBus上創建訂閱

在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); 

謝謝, 菲爾。

+0

也許這會解釋一切! http://www.windowsazure.com/en-us/develop/java/how-to-guides/service-bus-topics/#bkmk_HowToReceiveMsgs –

回答

3

AMQP 1.0協議故意將實體創建/管理留在其範圍之外,因此您需要事先使用提供者特定的機制來創建您的主題和訂閱(This post對此有一個很好的解釋)。

對於服務總線,您可以使用Azure SDK,門戶(如果您不需要以編程方式執行此操作)或其REST API

希望它有幫助!

+0

人們希望供應商的隊列創建和管理的具體機制將由發送AMQP消息,而不是通過其他方式。 –