ActiveMQ日志日志大小

时间:2011-05-30 10:36:58

标签: jms activemq

我正在使用KahaDB持久性适配器运行ActiveMQ 5.3.0(是的,要升级到5.4.2,甚至是5.5.0)。它有7个队列,大部分时间都是空的,也就是说,一旦消息被放入队列,它将在接下来的5-10秒内被消耗。然而,通过的消息量很大(每天几千条消息)。

问题是KahaDB数据目录中填充了大量的db-X.log文件(其中X是整数)。每个文件大小为32 MB(因为我运行的是相当多的默认配置),看起来它们是日志重做日志(因为默认日志文件长度是32mb)。它们占用了宝贵的空间(KahaDB托管在SSD卷上)并且看起来多余,因为在我看来,日志日志会保留旧的(即出列的)消息。

所以问题是:如何摆脱日志日志文件?我只是希望KahaDB只存储待处理的消息。

正如我所提到的,配置几乎是默认的。 Broker元素只设置了brokerName和dataDirectory属性,而kahaDB只设置了目录属性。

2 个答案:

答案 0 :(得分:3)

如果您使用默认设置,那么这应该已经有效了。这些文件保留的唯一原因是,如果您的消费者很慢并且消息正在备份等等......

“cleanupInterval”属性控制这些文件清理的频率。默认情况下,这是30秒...这是一个将其设置为5秒的示例(并将日志大小减小到100kb以便于测试)

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

答案 1 :(得分:1)

升级到5.5.0以获取AMQ-2736的修复程序。