故障转移 ActiveMq c# 中的连接 IP

本文关键字:连接 IP 转移 ActiveMq 故障 | 更新日期: 2023-09-27 18:34:15

我有这个 uri

string address = "failover:(tcp://10.127.31.6:5616,tcp://10.128.22.31.5:5616,tcp://10.129.22.33.5)?randomize=false";
_connectionFactory = new ConnectionFactory(address);

故障转移工作正常,但我如何知道或找出我在 c# 中连接的 ip?

故障转移 ActiveMq c# 中的连接 IP

您必须将连接转换为 Apache.NMS.ActiveMQ.Connection 类型,然后才能访问其 Transport 属性。 从传输中,可以通过属性访问器检索远程 URI。 但请注意,由于您使用的是故障转移,如果未连接,此属性可能会返回 null。

IConnection 接口定义了连接间录和连接恢复的事件点,这将允许您知道何时成功建立连接,此时您可以检查连接的远程 URI 的传输。

故障转移:(tcp://primary:61616,tcp://secondary:61616)?randomize=false

默认情况下,故障转移传输随机选择一个 URI。这有效地在多个代理上对客户端进行负载平衡。但是,要让客户机首先连接到主服务器,并且仅在主数据库不可用时才连接到辅助备份代理,请设置 randomize=false。