0

我正在使用 ActiveMQ 和 kahadb 5.7.0。我的经纪人配置如下:

<amq:broker id="broker" useJmx="true" persistent="true" useShutdownHook="false"  >
        <amq:transportConnectors>
            <amq:transportConnector uri="tcp://localhost:61616?jms.messagePrioritySupported=true" />
        </amq:transportConnectors>
  <amq:persistenceAdapter>
     <amq:kahaPersistenceAdapter directory="activemq-data" maxDataFileLength="10g"/>
   </amq:persistenceAdapter>

    <amq:destinationPolicy>
            <amq:policyMap>
                <amq:policyEntries>
                    <amq:policyEntry queue=">" producerFlowControl="false" prioritizedMessages="true" >  <amq:pendingQueuePolicy>
                        <amq:fileQueueCursor />
                    </amq:pendingQueuePolicy>
                    </amq:policyEntry>
        </amq:policyEntries>
            </amq:policyMap>
        </amq:destinationPolicy>
 <amq:systemUsage>
            <amq:systemUsage>
                <amq:memoryUsage>
                    <amq:memoryUsage limit="2 gb"/>
                </amq:memoryUsage>
                <amq:storeUsage>
                    <amq:storeUsage limit="20 gb"/>
                </amq:storeUsage>
                <amq:tempUsage>
                    <amq:tempUsage limit="5 gb"/>
                </amq:tempUsage>
            </amq:systemUsage>
        </amq:systemUsage>
    </amq:broker>

我遇到的问题是我看到目录 activemq-data 中的文件越来越大,尤其是带有 data-queue-data 的文件。大部分都达到了10g的限制

为什么不清理那些文件?

4

1 回答 1

-1

首先要做的是更新到最近的版本,5.7.0 现在已经有好几年了,很多很多....从那时起已经修复了很多错误。

您需要调查是什么导致数据保留在存储中,这一切都归结为您如何使用代理以及您的消费者如何阅读和确认(或不是这种情况)放置在代理队列中的消息. 一个常见问题是消费者使用消息选择器将旧的未使用消息留在代理上,这将导致数据被保留。

ActiveMQ 网站上有一个非常好的文档,解释了调试日志文件保留的步骤。

于 2019-11-01T15:36:03.247 回答