Я тестирую pub/sub, используя Java и Qpid JMS 0.23.
Я создал тему в SB под названием "test.topic".
Я могу публиковать сообщения в теме из тестового приложения, но при попытке подписаться (динамически создавая подписку) происходит сбой, за исключением:
javax.jms.InvalidDestinationException: объект обмена сообщениями 'mynamespace:topic:test.topic~15|DurableSubscriber2' не найден. TrackingId: 12ECC2A3-F8F3-42A3-8BD5-AD5D9823C367_B20, Systemtracker: MyNamespace: Тема: Test.topic ~ 15 | Durablesubscriber2, TimeStamp: 8/8/2017 12:13:31 PM. /8/2017 12:13: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
i.e.
<<topic-name>>/Subscriptions/<<subscription-name>>
- Нужно ли мне иметь какое-то похожее имя при динамической подписке?