TIBCO.EMS.IllegalStateException:连接失败:服务器处于待机模式
TIBCO.EMS.IllegalStateException: connect failed: server in standby mode
我们有一个大系统,其中有大量服务通过 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()
我们在 .NET 4.0
上使用 TIBCO.EMS.dll v. 8.1.0.10
。
知道什么会导致此异常吗?
您的连接字符串能否仅提及 FT/HA 设置中的其中一台主机?这看起来像是您尝试仅连接到 HA/FT 主机之一而不是当前活动的主机时返回的错误消息。
如果是这样,连接字符串将在 大多数 的时间工作,但是 适当的 EMS HA 连接字符串包括两个(或更多!)EMS 主机和端口。同时只有一个活动。
通常看起来像这样:
serverUrl=tcp://server0:7222, tcp://server1:7344
在此处查看源文档 in TIBCO docs。
原来我们用来检查服务器是否处于活动状态的工具(我们在服务器上没有管理员权限)行为不端(显示不正确的状态),所以 none 这些服务器确实处于活动状态(不是主要的也不是次要的)。
服务器一启动,此错误消息就消失了。
我们有一个大系统,其中有大量服务通过 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()
我们在 .NET 4.0
上使用 TIBCO.EMS.dll v. 8.1.0.10
。
知道什么会导致此异常吗?
您的连接字符串能否仅提及 FT/HA 设置中的其中一台主机?这看起来像是您尝试仅连接到 HA/FT 主机之一而不是当前活动的主机时返回的错误消息。
如果是这样,连接字符串将在 大多数 的时间工作,但是 适当的 EMS HA 连接字符串包括两个(或更多!)EMS 主机和端口。同时只有一个活动。
通常看起来像这样:
serverUrl=tcp://server0:7222, tcp://server1:7344
在此处查看源文档 in TIBCO docs。
原来我们用来检查服务器是否处于活动状态的工具(我们在服务器上没有管理员权限)行为不端(显示不正确的状态),所以 none 这些服务器确实处于活动状态(不是主要的也不是次要的)。 服务器一启动,此错误消息就消失了。