Я использую ActiveMQ вместе с Mule (своего рода ESB на основе Spring).У нас быстрый производитель и медленный потребитель.Это синхронная конфигурация только с одним потребителем.
Здесь конфигурация потребителя в весеннем стиле: http://pastebin.com/vweVd1pi
Самым большим требованием является поддержание порядка сообщений.Однако после нескольких часов выполнения этого кода ActiveMQ внезапно пропускает 200 сообщений и отправляет следующие. 200 сообщений все еще находятся в activeMQ, они не теряются.Но наш клиент (Mule) действительно имеет некоторый пользовательский код для проверки порядка сообщений, используя уникальный идентификатор.
У меня была эта проблема уже несколько месяцев назад.Мы меняем потребителя с помощью параметра "jms.prefetchPolicy.queuePrefetch = 1".Казалось, что это сработало хорошо, и это было исправление, в котором мы нуждались сейчас, когда проблема снова возникла у другого потребителя.
Это ошибка или проблема конфигурации?