Как избежать блокировки просмотра очередей после вызова контрольной точки ActiveMQJAVA

Программисты JAVA общаются здесь
Anonymous
Как избежать блокировки просмотра очередей после вызова контрольной точки ActiveMQ

Сообщение Anonymous »

Существует проблема при использовании Activemq с большим количеством очередей персистенции (250) á 1000 постоянных текстовых массивов á 10 кб.
Сценарий требует, чтобы эти сообщения оставались в хранении в течение длительного времени (дни), пока они не будут потреблены (большие данные не будут стоять для распространения для многих потребителей, которые могут быть в некоторых днях). /> После того, как хранилище постоянства заполняется этими сообщениями, и после перезапуска брокера мы сможем просмотреть/потреблять несколько очередей до #CheckPoint вызов через 30 секунд. Внутренне Messagursor, похоже, решает, что памяти недостаточно и останавливает доставку содержания очередей в браузеры/потребители.
=> Есть ли способ избежать такого поведения путем конфигурации или это ошибка? /> Настройки ниже находятся в производстве в течение некоторого времени, и в документации ActiveMQ применяются несколько рекомендаций (политики назначения, системное обеспечение, варианты хранилища персистенции и т. Д.) Xmx = 1024m
[*] java: 1,8 или 1,7
[*] OS: Windows, macos, linux
[*] PersistEnceadapter: Kahadb или Leveldb
scess: достаточное количество свободного пространства (200 ГБ) и физическая память (16 GB Max). /> < /ul>
Помимо вышеупомянутых настроек мы используем следующие настройки для брокера (кстати: изменение памяти на более низкое значение, например, 1 МБ не изменяет ситуацию): < /p> Если мы установим cursormemoryhighwatermark [/b] в DestinationPolicy на более высокое значение, например, 150 или 600 в зависимости от разницы между памятью и доступным пространством кучи, облегчает ситуацию, немного для рабочего анализа, но это не является действительно вариантом для производственных систем на складе. С информацией из Oracle Mission Control, показывающей те экземпляры ActiveMQTextMessage, которые никогда не выпускаются из памяти:


Подробнее здесь: https://stackoverflow.com/questions/346 ... point-call

Вернуться в «JAVA»