【发布时间】:2015-01-09 08:11:26
【问题描述】:
使用 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 控制台中,myJmsModule!jmsserver1@myTopic 上的第一个订阅 testSubscription 被创建,而不是第二个。
我能做什么?
【问题讨论】:
标签: java weblogic11g jms-topic