我有三个TomEE实例正在运行。我想用一个作为主人的'代理,并有另外两个实例作为客户端连接到主服务器。我希望客户能够相互发送/接收消息。
最大的要求是我必须使用静态网络;只需将ServerUrl
指向客户&#39; <{1}}到主网址不是一个选项。
我已经验证我能够静态连接两个容器并传递消息,但是当我引入第三个容器(主服务器)时,消息不再从客户端A&#39流出;到&#39;客户B&#39;
掌握tomee.xml :
tomee.xml
Client-A 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>
Client-B 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&persistent=false
ServerUrl = tcp://127.0.0.1:61615
</Resource>
我的ActiveMQ控制台显示两个客户端确实通过静态网络连接到主服务器:
以下是根据HawtIO的代理布局图:
提前致谢。
答案 0 :(得分:1)
对于3个以上的代理网络,您需要将set format y '%.0f'
选项设置为大于1的值,这是默认值。 TTL选项设置消息可以达到的网络代理数量的最大限制。
因此,默认情况下,您可以在同一网络中与c1&lt; - &gt; master和c2&lt; - &gt; master进行通信,但不能与c1&lt; - &gt; c2进行通信。
不知道如何通过资源适配器中的URI传递该选项。