我正在使用Java和Qpid JMS 0.23测试pub / sub。
我在SB中创建了一个名为“test.topic”的主题。
我可以从测试应用程序向主题发布消息,但在尝试订阅(动态创建订阅)时,它会失败并出现异常:
javax.jms.InvalidDestinationException:找不到消息传递实体'mynamespace:topic:test.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 / 8/2017 2017 12:13:31 PM [condition = amqp:not-found]
一些代码:
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");
如果我在主题上创建一个名为“sub1”的静态订阅,它会收到已发布的消息。检索时我需要将主题定义为:
test.topic/Subscriptions/sub1
即
<<topic-name>>/Subscriptions/<<subscription-name>>
答案 0 :(得分:0)
请参阅文档TLC.LoginPageView = Ember.View.extend({
templateName: 'LoginPage',
});
TLC.DashboardView = Ember.View.extend({
templateName: 'Dashboard',
});
的{{3}}部分,并重点关注How to use the Java Message Service (JMS) API with Service Bus and AMQP 1.0
选项,如下所示。
目前不支持临时目的地,即 TemporaryQueue , TemporaryTopic ,以及 QueueRequestor 和 TopicRequestor 使用它们的API。
所以我认为Azure Service Bus不支持动态创建订阅。