2017-02-07 13 views
0

Я начал с ActiveMQ всего один день назад, поэтому мои знания в нем ограничены. Моя цель - проверить стабильность и пропускную способность ActiveMQ в разных сценариях для сообщения JMS. Итак, следующий сценарий. 1. Я публикую 1 миллион непостоянных синхронных сообщений для темы и подписываю ее синхронно не долговечным образом. Один издатель и один подписчик. 2. Брокер, издатель и подписчик находятся во время теста.Непостоянное сообщение jms теряется для недолгого абонента

К сожалению, почти в большинстве случаев (только один раз я получил все сообщения из 14 попыток), я не получаю все сообщения (1 мил) в конце подписчика. потеряно почти 5500 сообщений.

Я сделал тот же тест для tibco ems и ibm mq и не получил эту проблему.

Итак, для ActiveMQ, если мне нужны все сообщения, которые необходимо получить, необходимо ли постоянно использовать постоянное сообщение и долговечный подписчик?

Не думайте, что это форма гарантированного обмена сообщениями или сбой.

Любое предложение приветствуется.

Спасибо, Смит

ответ

2

Не уверен, что ваш точный сценарий. Но ActiveMQ ограничивает память, используемую для буферизации сообщений, когда производитель быстрее, чем потребитель, отбрасывая старые сообщения выше определенного предела.

Это configurable.

+0

правильный. Я справился с потерей, используя 'constantPendingMessageLimitStrategy = -1'. –