В настоящее время я использую ActiveMQ для обслуживания очереди сообщений STOMP с несколькими темами. Поскольку сейчас мы начинаем получать несколько тысяч подключений к очереди, я пытался реализовать NIO, чтобы уменьшить количество используемых потоков.
Следуя документации, я изменил свою конфигурацию, чтобы добавить NIO следующим образом:
Однако при тестировании я все еще получаю два потока на каждое соединение - один с именем NIO Transport Thread, а другой с именем BrokerService.
Я ожидал, что использование потоков будет намного меньше при использовании NIO. Поэтому - я ошибаюсь в своих ожиданиях, или для NIO требуются дополнительные изменения конфигурации?
Спасибо
Беглый просмотр форумов разработчиков ActiveMQ показывает, что было несколько архитектурных проблем с тем, как транспорт Stomp исторически реализовывался в AMQ.
Это выглядит как выпуск AMQ-2386 потенциально может решить проблему, с которой вы, похоже, столкнулись, и, возможно, лучше всего проверить версию> = 813722 транка ActiveMQ, чтобы узнать, решит ли она вашу проблему?