TIBCO EMS服务器是否管理重新连接?还是客户?

时间:2008-10-24 17:55:52

标签: c# tibco tibco-ems ems

TIBCO EMS .NET参考指南(第134页)

  

要启用重新连接行为和容错,serverURL参数必须是包含两个或多个URL的逗号分隔列表。在只有一台服务器的情况下,您可以提供该服务器URL的两个副本以启用客户端重新连接(例如,tcp:// localhost:7222,tcp:// localhost:7222)。

TIBCO EMS用户指南(第292页)讨论了故障转移方案,客户端通知以及客户端到备份服务器的自动传输,但没有特别“重新连接”相关。

在“重新连接”方案中,服务器是否处理所有内容?或客户端是否必须使用它的TIBCO.EMS.Connection实例?

1 个答案:

答案 0 :(得分:2)

从我们的测试看起来,服务器和客户端都有启用此功能的设置。在客户端,SetReconnAttemptCount,Delay,Timeout控制客户端在知道服务器故障转移/连接故障转移后尝试重新连接的尝试。

在我们的测试中,我们使用单个服务器环境,在连接字符串中列出服务器两次(使用您在上面概述的技巧),当该服务器脱机时,我们收到了一个影响故障转移过程的客户端通知(我们启用了Tibems.SetExceptionOnFTSwitch(true)),当服务器重新上线时,我们的客户端无缘无故地重新连接而不会错过任何一个节拍。我们不需要编写任何代码,内部重新连接逻辑发挥了它的神奇作用。

在服务器端,需要启用容错功能,我认为需要启用服务器客户端和客户端 - 服务器心跳(尽管尚未验证)。

希望这有帮助。