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

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

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

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

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

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

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

在服务器端,需要启用容错,我认为需要启用服务器 – 客户端和客户端 – 服务器心跳(尽管尚未validation)。

希望这可以帮助。