Используя java-приложение, я пытаюсь создать надежную подписку на единую распределенную тему jms.
Сервер jms работает на weblogic 10.3.5 и тема распределена на 2 сервера.
Если я разрабатываю bean-компонент, управляемый сообщениями, он работает. У меня есть постоянная подписка на обоих серверах с одинаковым именем подписки.
С автономным java-приложением я могу выполнить работу с обычной темой (не распределенной). Но не могу заставить его работать с распределенной темой.
InitialContext ic = new InitialContext();
TopicConnectionFactory connectionFactory = (TopicConnectionFactory) ic.lookup("myConnectionFactory");
TopicConnection connection = connectionFactory.createTopicConnection();
connection.setClientID("testclient");
TopicSession session = connection.createTopicSession(false,Session.AUTO_ACKNOWLEDGE);
TopicSubscriber subscriber;
Topic topic1 = (Topic) ic.lookup("jmsserver1@myTopic");
Topic topic2 = (Topic) ic.lookup("jmsserver2@myTopic");
subscriber = session.createDurableSubscriber(topic1,"testSubscription","",false);
subscriber = session.createDurableSubscriber(topic2,"testSubscription","",false);
Дает мне
Exception in thread "main" weblogic.jms.common.JMSException: [JMSClientExceptions:055037]Subscription testSubscription is in use
В консоли weblogic создается первая подписка testSubscription
на myJmsModule!jmsserver1@myTopic
не вторая.
Что я могу сделать ?