Учитывая следующий код:
public void doSomething(Channel channel1){
DefaultConsumer consumer1 = new DefaultConsumer(channel1).
channel1.basicConsume("Queue1Name",..., "Consumer1Tag", consumer1)
}
Если по какой-то причине канал 1 будет отключен, сообщения не будут использоваться (?):
(consumer1) с другим каналом или требуется новый экземпляр и новый канал?DeclareOk queueResponse = someOtherChannel.queueDeclare("Queue1Name", ........);
int consumerCount = queueResponse.getConsumerCount()Какой будет подсчет потребителей?
Причина этого вопроса в том, что у меня запущен фоновый поток и время от времени проверяется соединение с RabbitMQ. Проверяю, открыты ли каналы и соединения, а если нет - сбрасываю. Я хочу сохранить одного потребителя в Queue1 и по-прежнему иметь возможность обрабатывать сценарий, когда я обнаруживаю, что его канал закрыт.




Если канал 1 отключается, сообщения не будут использоваться, это правильно. Они останутся в очереди.
Вам действительно стоит попробовать это в своем приложении и понаблюдать за поведением.