我们有一个大系统,其中包含大量通过 TIBCO EMS Messaging 相互通信的服务。现在,其中一项服务在尝试连接到 EMS 服务器时不断抛出此异常:
TIBCO.EMS.IllegalStateException: connect failed: server in standby mode
但是,同一台EMS服务器上的其他服务运行正常,没有任何异常。
我试图通过创建一个控制台应用程序来重现此问题,该应用程序将使用相同的凭据连接到同一目的地(队列)上的 EMS 服务器,但无法重现此错误。
EMS 连接是容错的,它可能已故障转移到辅助服务器,但是,现在我看到主服务器已备份。
我还尝试仅连接到主服务器(我可以看到它已启动并正在运行),但由于相同的异常而失败。
以下是供参考的堆栈跟踪:
TIBCO.EMS.IllegalStateException: connect failed: server in standby mode
at TIBCO.EMS.CFImpl._CreateConnection(String userName, String password, Boolean xa)
at TIBCO.EMS.ConnectionFactory.CreateConnection(String userName, String password)
at Ems.makeConn()
我们使用TIBCO.EMS.dll v. 8.1.0.10
上.NET 4.0
。
知道什么会导致这个异常吗?
事实证明,我们用来检查服务器是否处于活动状态的工具(我们没有服务器的管理员权限)行为不端(显示不正确的状态),因此这些服务器中没有一个真正处于活动状态(既不是主要服务器也不是辅助服务器)。一旦服务器启动,此错误消息就消失了。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句