【问题标题】:Connected IP in failover ActiveMq c#故障转移ActiveMq c#中的连接IP
【发布时间】:2016-05-22 04:57:23
【问题描述】:

我有这个 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?

【问题讨论】:

    标签: c# .net activemq


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-01-21
        • 2019-05-01
        • 2017-01-27
        • 2012-07-31
        • 2017-02-04
        • 2010-11-06
        • 1970-01-01
        • 2020-08-07
        相关资源
        最近更新 更多