【问题标题】:How can I configure a static network of TomEE embedded ActiveMQ brokers so that clients can communicate?如何配置 TomEE 嵌入式 ActiveMQ 代理的静态网络,以便客户端可以通信?
【发布时间】:2015-10-20 17:31:49
【问题描述】:

我正在运行三个 TomEE 实例。我想使用一个作为“主”代理,并让另外两个实例作为客户端连接到主。我希望客户能够相互发送/接收消息。

最大的要求是我必须使用静态网络;简单地将客户的tomee.xml 中的ServerUrl 指向主URL 是不可行的。

我已经验证我能够静态连接两个容器并传递消息,但是当我引入第三个容器(主容器)时,消息停止从“客户端-A”流向“客户端-B”

大师 tomee.xml

<Resource
    id="ra/activemq"
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig = broker:(tcp://127.0.0.1:61616,network:static:(tcp://127.0.0.1:61615,tcp://127.0.0.1:61617))/tomeeActiveMq?useJmx=true
    ServerUrl = tcp://127.0.0.1:61616
</Resource>

客户端-A tomee.xml

<Resource
    id="ra/activemq"
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig = broker:(tcp://127.0.0.1:61615,network:static:tcp://127.0.0.1:61616)/server0?useJmx=true&amp;persistent=false
    ServerUrl = tcp://127.0.0.1:61615
</Resource>

Client-B tomee.xml

<Resource
    id="ra/activemq"
    type="ActiveMQResourceAdapter">
    BrokerXmlConfig = broker:(tcp://127.0.0.1:61617,network:static:tcp://127.0.0.1:61616)/server1?persistent=false&amp;useJmx=true
    ServerUrl = tcp://127.0.0.1:61617
</Resource>

我的 ActiveMQ 控制台显示两个客户端确实通过静态网络连接到主服务器:

这是根据 HawtIO 的代理布局图:

提前致谢。

【问题讨论】:

    标签: activemq apache-tomee


    【解决方案1】:

    对于 3 个以上的代理网络,您需要将 networkTTL 选项设置为大于 1 的值,这是默认值。 TTL 选项设置消息可以到达的网络代理的最大限制。

    因此,默认情况下,您可以在同一网络中通信 c1master 和 c2master,但不能通信 c1c2。

    不确定如何通过资源适配器中的 URI 传递该选项。

    More about the network of brokers configuration

    【讨论】:

    • networkTTL 属性需要在所有三个上设置,还是只在主控上设置?我为主节点配置了一个activemq.xml,并在networkConnector 节点上包含了uri="static:(tcp://127.0.0.1:61615,tcp://127.0.0.1:61617)" networkTTL="4"。仍然没有 c1c2 通信。
    • 我实际上能够通过结合使用networkTTL 和在master 的activemq.xmlnetworkConnector 节点上设置duplex="true" 来实现这一点。我还必须在我的客户的tomee.xml 资源配置中删除静态网络,否则会出现关于正在使用的名称的奇怪错误(来自双工属性)。感谢您的帮助!
    • 不错。双工选项非常棒,因为您可以从单个代理控制网络连接。
    猜你喜欢
    • 2018-02-16
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    • 2020-02-25
    • 2011-01-26
    • 1970-01-01
    • 2013-08-26
    相关资源
    最近更新 更多