TIBCO EMS用户指南(第292页)说:
备份服务器将无限期地工作以A)成为 主服务器或B)重新连接到主服务器。它还说 当交换机成功时,客户端可能会收到故障转移通知(另请参阅TIBCO EMS .NET参考第220页)。
我对这些事实有些疑问......
服务器尝试故障转移/重新连接时,客户端出现了哪些错误?
客户的适当回应是什么?
我希望情况很清楚,任何相关的信息或建议也会受到赞赏。
答案 0 :(得分:4)
我至少可以回答上面的#1。
如果您启用了Tibems.SetExceptionOnFTSwitch(true);并设置了一个异常处理程序来捕获服务器发送给客户端的消息,您将看到以下内容:
对于单服务器,非容错连接故障: “连接已被终止”。
对于容错连接失败: “连接已执行容错切换到”
如果在连接断开时尝试发布,则会抛出TIBCO.EMS.IllegalStateException并显示“Producer is closed”消息。
对于上面的#2,我认为答案是允许EMS库尽可能地处理。一旦我们让EMS重新连接功能正常工作,它就会优雅地重新连接,直到服务器再次可用,一旦重新连接,就好像从来没有问题。唯一的问题可能是如果您尝试在ems连接恢复之前发布消息。这是异常处理程序的来源。一旦通知您处于故障转移模式,您可以调整发布方的异常处理以抑制错误,直到连接恢复。我不知道的是,当你耗尽所有重新连接尝试时,你怎么知道。
无论如何,似乎我们的两个世界在EMS方面密切相关 - 希望我们的发现(根据您对我的问题的评论)对您有帮助。
答案 1 :(得分:0)
我们使用TEMS(Tibco EMS - 用于WCF的Tibco产品)因此它成为自定义绑定。我们试图通过反弹服务器以强制切换来破坏它,并且它运行得非常好。确保您使用的是1.2版而不是1.1版,因为除了客户端确认之外,您无法执行任何操作。