0

我正在使用 ActiveMQ 5.4 版,并且我有一个 纯主从配置。我的从站配置为在发生故障时启动其网络传输连接器。我的客户端是使用故障转移协议配置的,就像文档说的那样:

failover://(tcp://masterhost:61616,tcp://slavehost:61616)?randomize=false

当我的主人去世时,客户端成功地完美地故障转移到奴隶。问题是,在我恢复后(即停止从站,复制数据,重新启动主站,然后重新启动从站),客户端仍在尝试连接到从站(当时没有任何开放的网络连接器观点)。因此,客户端在重新启动后永远不会重新连接到主服务器。这是它应该如何工作的吗?

4

1 回答 1

3

我也见过这个。如果您使用的是PooledConnectionFactory ,请通过setExpiryTimeout为池连接设置过期超时。这里的 API 文档建议这将强制重新连接到主代理:

允许连接过期,无论负载或空闲时间如何。这对于故障转移以强制从池重新连接、重新建立负载平衡或使用主恢复后很有用

于 2012-05-24T15:53:40.983 回答