Hi,

I have an ActiveMQ (5.16.2/JDK11) broker with persistence message (kahadb).

We are using a deadletter strategy to clean messages older than 7 days but we can see that some of the older message are not clean up and we don't have any error/warning message in the logs...

Here the config.xml of the broker:

<broker xmlns="http://activemq.apache.org/schema/core";
            brokerName="localhost"
            dataDirectory="${activemq.data}"
            schedulerSupport="true"
            useJmx="true">

        <destinationPolicy>
            <policyMap>
              <policyEntries>
                  <policyEntry queue=">" queuePrefetch="500">
                      <deadLetterStrategy>
                          <sharedDeadLetterStrategy expiration="604800000"/> <!-- 7 days -->
                      </deadLetterStrategy>
                      <pendingMessageLimitStrategy>
                          <constantPendingMessageLimitStrategy limit="1000"/>
                      </pendingMessageLimitStrategy>
                  </policyEntry>

                  <policyEntry topic=">" >
                  <pendingMessageLimitStrategy>
                    <constantPendingMessageLimitStrategy limit="1000"/>
                  </pendingMessageLimitStrategy>
                </policyEntry>
              </policyEntries>
            </policyMap>
        </destinationPolicy>

        <managementContext>
            <managementContext createConnector="false"/>
        </managementContext>

        <persistenceAdapter>
            <kahaDB directory="${activemq.data}/kahadb"
                    indexWriteBatchSize="1000"
                    indexCacheSize="2000"
                    journalMaxFileLength="5mb"
                    checkForCorruptJournalFiles="true"
                    ignoreMissingJournalfiles="true"
                    maxAsyncJobs="5000"
                    concurrentStoreAndDispatchQueues="true"
                    concurrentStoreAndDispatchTopics="true"
                    enableJournalDiskSyncs="true"
                    enableIndexWriteAsync="true"/>
        </persistenceAdapter>

        <systemUsage>
            <systemUsage sendFailIfNoSpace="true">
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70" />
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="85 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="2 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>

        <transportConnectors>
            <transportConnector name="openwire" uri="tcp://0.0.0.0:61616?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
        </transportConnectors>

        <shutdownHooks>
            <bean xmlns="http://www.springframework.org/schema/beans"; class="org.apache.activemq.hooks.SpringContextHook" />
        </shutdownHooks>

    </broker>

Any ideas?

regards,

--
--
François

Reply via email to