识别ActiveMQ网络代理中的已连接ClientId

时间:2015-07-10 04:03:19

标签: activemq

Active MQ Network Brokers(AMQ1& AMQ2)配置了2个代理并连接到ELB。 1.来自客户端ID c1的第一个请求连接到AMQ1 2.来自客户端ID c1的第二个请求连接到AMQ2。

由于已经从C1连接到AMQ1,它不应该连接到AMQ2。 那么有没有解决这个问题,比如在两个代理中获取所有连接的客户端ID,如果c1已连接到AMQ1,将在建立与AMQ2的新连接之前将其断开连接

1 个答案:

答案 0 :(得分:0)

AMQ1和AMQ2是不同的经纪人,但恰好在网络中松散连接。没有这样的限制,单个客户端ID无法连接到网络中的多个代理。

您可能会write your own authentication plugin试图在连接期间过滤掉这些内容,但我不明白这一点。

我建议您将此类逻辑放在客户端中,以确保一次只连接一个节点。或者使用virtual topics而不是常规主题 - 这将允许连接具有相同client-id的多个实例,并以负载平衡的方式订阅同一主题。