Spring RabbitMQ 重新连接到主代理

Spring RabbitMQ reconnect to primary broker

我正在使用 CachingConnectionFactory,在主代理出现故障后,它会连接到辅助代理。重新启动主代理后,我想重新连接到它。这可以自动完成吗?

这是我试过的方法,但没有用:

factory.setRecoveryListener(new RecoveryListener() {
  @Override
  public void handleRecovery(final Recoverable recoverable) {
    factory.resetConnection();
  }

  @Override
  public void handleRecoveryStarted(final Recoverable recoverable) {
    factory.resetConnection();
  }
});

能否设置工厂以在主代理备份后负责重置连接?

Spring AMQP 不使用自动恢复,而且在任何情况下,它都不会仅仅因为原始代理恢复在线而被调用。

您需要一些外部机制来检测另一个代理重新在线,然后从那里调用 resetConnection()