使用c#客户端将使用持久订阅服务器订阅Tibco主题。正在使用下面的代码
TopicConnectionFactory factory = new TIBCO.EMS.TopicConnectionFactory(serverUrl);
TopicConnection connection = factory.CreateTopicConnection(userName, password);
connection.ClientID = clientID;
TopicSession session = connection.CreateTopicSession(false, Session.AUTO_ACKNOWLEDGE);
Topic topic = session.CreateTopic(topicName);
TopicSubscriber subscriber = session.CreateDurableSubscriber(topic, durableName);
connection.Start();
当程序第一次运行时,上述代码运行良好,能够接收消息。但是当我停止我的客户端程序并尝试再次运行它时,从现在开始,我根本无法连接到主题。这给了我一个错误
ClientId already exists at line
connection.ClientID = clientID;
我不确定clientId的作用是什么。每次连接到主题时,我是否需要给出唯一的客户端?
帮帮忙吧。
提前谢谢。
发布于 2014-03-25 19:28:55
我终于找到了解决这个问题的办法。我没有使用接收方法,而是使用了一个方法ReceiveNoWait方法,然后所有方法都工作得很好。
发布于 2014-03-22 23:08:34
一般来说,每个连接都应该有一个唯一的clientId。否则,如果已经有一个具有相同clientId的连接,您将得到"ClientId已经存在“。
https://stackoverflow.com/questions/22280521
复制相似问题