Загружает ли ActiveMQ QueueBrowser все содержимое очереди в память? - PullRequest
0 голосов
/ 05 марта 2020

Когда мы используем javax.jms.QueueBrowser.getEnumeration(), будет ли он только просматривать содержимое очереди внутри JVM? Будет ли это существенно влиять на использование памяти приложения?

Кроме того, когда мы используем браузер очереди, чтобы получить саму очередь, тогда столько данных фактически занимает память, что не будет в случае getEnumeration(). Пожалуйста, помогите мне понять, прав ли я.

1 Ответ

0 голосов
/ 05 марта 2020

Определенное количество сообщений предварительно выбирается при использовании очереди с QueueBrowser. Этот предел можно настроить в ActiveMQPrefetchPolicy на ActiveMQConnectionFactory . Свойство queueBrowserPrefetch регулирует количество сообщений, полученных в пакете и помещенных в память, пока все они не будут подтверждены.

...