2015-05-12 36 views
0

以下是我的ActiveMQ设置:ActiveMQ消费者连接不同于生产商

我有两个配置了故障转移的AMQ代理。 我有40个生产者,但只对消费者。

现在的问题: 有时一个生产者失去了与主代理的连接。故障转移反应,生产者获得一个新的连接到获取消息的从站。到现在为止还挺好。但消费者没有问题,他仍然消耗主人的消息。他不知道,奴隶也有一些信息。

我该如何解决这个问题,失去那些发送给奴隶的消息?

在此先感谢

+0

你使用的是什么版本的ActiveMQ?在主动开发中不再推荐或支持主/从故障切换。 –

+0

我使用版本5.10.0。我使用lok的故障转移 - > failover:(tcp:// host1:61616,tcp:// host2:61616)?randomize = false – piet

+2

我建议你配置一个[broker网络](http:// activemq。 apache.org/networks-of-brokers.html)。这样,您的经纪人也将被连接起来,而且您的生产者和消费者所连接的代理商也不再重要 - 消息将通过网络传播。 –

回答

1

我建议您配置一个经纪人网络。这样,您的经纪人也将被连接起来,而且您的生产者和消费者所连接的代理商也不再重要 - 消息将通过网络传播。

+0

因此,我配置了一个由两个经纪人组成的小型网络作为双工连接。它现在似乎工作得很好。再次出现了一个问题:在经纪人A的网络控制台中,持有与经纪人B的双面连接,我可以看到传入的消息,所以很好。在经纪人B的Web控制台中,我看不到任何传入消息。在连接总览中,显示与出站代理A的连接。但是,如果所有消息都应该在网络中传播,那么消息必须在代理B的控制台中显示,不是吗? – piet

+0

控制台为经纪人A和B分别显示多少个生产者?如果您使用原始文章中定义的故障转移URL,则它们都应连接到A,因此B上将不会有任何消息。只有当A消失后,它们才会重新连接并开始使用B. –