После того, как я некоторое время проверил тему, я обнаружил, что не боюсь количества полученных сообщений. Главное не в получении самого, а в обработке полученного сообщения. Это то, что определяет реальную производительность приложения.
В предыдущем проекте мы отделили компонент Receiver от компонента Processor, и это привело к задержке, потому что мы должны ждать, пока приемник не закончит, чтобы начать обработку полученных сообщений через другой компонент.
Этот дизайн сейчас меняется. Таким образом, обработка должна быть сразу после получения сообщения. Прием сообщения должен осуществляться асинхронно с помощью обработки события MessageHandler типа EMSMessageHandler, и это лучший метод для получения сообщений.