При использовании DirectMessageListenerContainer с consumerPerQueue свойство 25, я заметил, что 25 кроличьи каналы создаются за очередь подписавшегося контейнера слушателя. В наших настройках количество каналов кролика быстро выходит из-под контроля, так как в контейнер слушателя динамически добавляется больше очередей. Нам пришлось увеличить лимит канала брокера, чтобы учесть рост канала.
- Какова связь между каналами и потребителями в DirectMessageListenerContainer. Из моих наблюдений кажется, что это 1 канал на потребителя.
- Предлагает ли DirectMessageListenerContainer какой-либо пул / рециркуляцию / ребалансирование каналов, чтобы контролировать рост каналов. Специально для очередей, которые в основном бездействуют.
- Простой SimpleMessageListenerContainer обрабатывает пулы каналов по-разному, поскольку может динамически изменять размер счетчика потребителей.