首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ActiveMQ配置与KahaDB

ActiveMQ配置与KahaDB
EN

Server Fault用户
提问于 2012-11-03 14:43:15
回答 1查看 2K关注 0票数 2

我们使用的是ActiveMQ 5.6.0和KahaDB。它产生了相当多的日志文件,这是我们的设置(DLQ等)所期望的,如下所示:

代码语言:javascript
复制
$ ll -h /opt/activemq/data/kahadb/
total 969M
drwxr-xr-x 2 root     root     4.0K Nov  3 12:47 ./
drwxr-xr-x 3 activemq activemq 4.0K Sep 24 12:12 ../
-rw-r--r-- 1 root     root      39M Oct 16 07:57 db-202.log
-rw-r--r-- 1 root     root      38M Oct 16 07:57 db-203.log
-rw-r--r-- 1 root     root      33M Oct 17 08:12 db-238.log
...

当我们遇到1GB的临时使用限制时,不再处理任何消息。或者这就是我们所假设的,对吗?

配置如下所示:

代码语言:javascript
复制
<systemUsage>
    <systemUsage>
        <memoryUsage>
            <memoryUsage limit="512mb"/>
        </memoryUsage>
        <storeUsage>
            <storeUsage limit="3 gb"/>
        </storeUsage>
        <tempUsage>
            <tempUsage limit="1 gb"/>
        </tempUsage>
    </systemUsage>
</systemUsage>

在清理日志文件并远远低于限制之后,AMQ仍然没有使用任何消息。只有当我们手动清除一个路由时,消息才开始再次传递。

因此,我们需要确保,KahaDB日志大小始终低于临时使用,对吗?而且,在修复了错误之后,并没有得到传递,或者还有其他的步骤需要采取?

EN

回答 1

Server Fault用户

回答已采纳

发布于 2013-03-28 11:53:39

是的,你应该寻找storeUsage的限制。

如果队列中有未传递的消息,则无法删除日志。

解决办法是:

  • 提高storeUsage限值;
  • 注意你的队列,清除它们中的信息;
  • 安装消息过期(http://activemq.apache.org/manage-durable-subscribers.html)。
票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/445073

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档