Не уверен, что лучше использовать синглтон, но я все равно постараюсь ответить вам.
Рассмотрим переменную класса count
в вашем синглтоне. Каждый раз, когда ваш код получает ссылку на ваш синглтон, увеличивайте счетчик. Каждый раз, когда ваш код хочет закрыть соединение, уменьшайте счетчик. Если счетчик равен нулю, закройте соединение RabbitMQ.