首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么ActiveMQ和控制台在从KahaDB中删除db-*..log文件后仍然显示消息

为什么ActiveMQ和控制台在从KahaDB中删除db-*..log文件后仍然显示消息
EN

Stack Overflow用户
提问于 2022-03-01 15:10:26
回答 1查看 99关注 0票数 0

我使用KahaDB作为一个持久存储,在ActiveMQ 5.16.4中保存消息。

代码语言:javascript
复制
<persistenceAdapter>
    <kahaDB directory="${activemq.data}/kahadb"
            checkForCorruptJournalFiles="true"
            checksumJournalFiles="true"
            ignoreMissingJournalfiles="true"
    />
</persistenceAdapter>

我正在发送持久消息,然后当代理运行时,我将删除KahaDB日志文件(下图中的db-1.log),这些文件应该保存队列的消息。但是,删除日志文件似乎没有什么作用。在ActiveMQ控制台中,我仍然可以看到持久的消息,我还可以发送更多的消息,这些消息被连接的用户从Spring应用程序中获取。我认为删除这些日志文件将消除队列中挂起或中断ActiveMQ的消息。知道为什么没发生吗?

在KahaDB文件夹中:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-01 16:03:24

ActiveMQ不像在运行时存储和检索消息的SQL数据库那样对待KahaDB。一般来说,ActiveMQ将其所有消息保存在内存中,并且它使用KahaDB是一个日志,用于存储消息,如果代理失败或通过管理方式重新启动,它将重新加载到内存中。删除KahaDB的底层数据不会影响代理内存中的内容,也不清楚为什么首先要这样做。

如果要在运行时从队列中删除消息,可以通过web控制台进行管理。删除KahaDB日志文件是而不是--这是建议的方法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71310623

复制
相关文章

相似问题

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