我正在使用Java和Qpid JMS 0.23與pub/sub進行測試。使用Azure服務總線的Java(Qpid JMS)中的持久訂閱
我在SB中創建了一個名爲「test.topic」的主題。
我可以發佈消息,從測試應用程序的主題,但試圖以認購(動態創建訂閱),當它失敗例外:
javax.jms.InvalidDestinationException:消息傳遞實體「myNameSpace對象:主題:測試.topic〜15 | DurableSubscriber2'找不到。 TrackingId:12ecc2a3-f8f3-42a3-8bd5-ad5d9823c367_B20,SystemTracker:mynamespace:topic:test.topic〜15 | DurableSubscriber2,Timestamp:8/8/2017 12:13:31 PM TrackingId:7e0d46404c8c45f39bffff2b77c7a140_G21,SystemTracker:gateway6,Timestamp:8 /二千○十七分之八下午十二時十三分31秒[條件= AMQP:未找到]
一些代碼:
env.put("topic.TOPIC", "test.topic");
Context context = new InitialContext(env);
ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("SBCF");
Topic topic = (Topic) context.lookup("TOPIC");
connection = connectionFactory.createConnection("user", "secret");
subscriberSession = connection.createSession(false, Session.CLIENT_ACKNOWLEDGE);
subscriber = subscriberSession.createDurableConsumer(topic, "DurableSubscriber2");
- 是否有可能從應用SB上創建主題訂閱?
如果我在主題上創建一個名爲「sub1」的靜態訂閱,它將接收發布的消息。當檢索我需要有主題定義爲:
test.topic/Subscriptions/sub1
即
<<topic-name>>/Subscriptions/<<subscription-name>>
- 我需要有一些相似的命名時,動態訂閱?
是的,我發現你是正確的,它不支持QPid/AMQP 1.0。如果需要,需要使用此API:https://github.com/Azure/azure-service-bus-java – 4integration