Размер журнала журнала ActiveMQ

Я запускаю ActiveMQ 5.3.0 (да, скоро обновлюсь до 5.4.2 или даже 5.5.0) с адаптером сохраняемости KahaDB. Он имеет 7 очередей, которые большую часть времени пусты, то есть после того, как сообщение помещается в очередь, оно израсходуется в следующие 5-10 секунд. Однако объем проходящих сообщений значительный (несколько тысяч сообщений в день).

Проблема в том, что каталог данных KahaDB заполнен множеством файлов db-X.log (где X - целое число). Каждый файл имеет размер 32 МБ, и (поскольку я использую в основном конфигурацию по умолчанию), похоже, что они представляют собой журналы повторного выполнения (поскольку длина файла журнала по умолчанию составляет 32 МБ). Они занимают ценное пространство (KahaDB размещается на томе SSD) и кажутся избыточными, поскольку мне кажется, что журналы журналов содержат старые (то есть исключенные из очереди) сообщения.

Возникает вопрос: как избавиться от файлов журналов? Я просто хочу, чтобы KahaDB хранил только ожидающие сообщения.

Как я уже упоминал, конфигурация в основном используется по умолчанию. Для элемента брокера установлены только атрибуты brokerName и dataDirectory, а для kahaDB установлен только атрибут каталога.


person Jacek Prucia    schedule 30.05.2011    source источник


Ответы (2)


Если вы используете настройки по умолчанию, то это уже должно работать. Единственная причина, по которой эти файлы останутся, - это если у вас медленный потребитель, резервное копирование сообщений и т. Д.

Атрибут cleanupInterval контролирует частоту очистки этих файлов. По умолчанию это 30 секунд ... вот пример, который устанавливает его на 5 секунд (и уменьшает размер журнала до 100 КБ для упрощения тестирования)

<kahaDB directory="${activemq.base}/data/kahadb" 
        journalMaxFileLength="100kb" 
        cleanupInterval="5000"/>
person Ben ODay    schedule 15.06.2011

Обновите до 5.5.0, чтобы получить исправление для AMQ-2736.

person gtully    schedule 01.06.2011
comment
Вскоре после того, как я задал этот вопрос, я был вынужден все это закрыть, и в результате я не смог протестировать решение для обновления. Поскольку похоже, что многие люди видят этот вопрос, было бы здорово, если бы кто-нибудь мог оставить здесь комментарий, подтверждающий, что обновление 5.5.x решает проблему. Был бы более чем счастлив принять этот ответ. - person Jacek Prucia; 08.09.2014