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