Hi,

Background:
We have a handful of topics, the messages sent to them will have a TTL on 1s.
To make the test cases run faster we tried to set the expireMessagesPeriod for 
all topics to 1s.
By this, a message should be expired and put in DLQ after 2 seconds, right?
But the topics are still only cleaned from expired messages every 30s, despite 
the expireMessagesPeriod="1000".
On top of that, I never see the "expiring messages" in the log for topics as we 
can see below for queues.

So the messages can be sent and received, but they don't are not cleaned up as 
fast as expected (takes 30s instead of 1s).

It's pretty confusing, so does anyone know what's going on?

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

Log:
2015-09-25 11:11:29,573 | DEBUG | Checkpoint done. | 
org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ Journal Checkpoint 
Worker
2015-09-25 11:11:34,578 | DEBUG | Checkpoint started. | 
org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ Journal Checkpoint 
Worker
2015-09-25 11:11:34,581 | DEBUG | Checkpoint done. | 
org.apache.activemq.store.kahadb.MessageDatabase | ActiveMQ Journal Checkpoint 
Worker
2015-09-25 11:11:34,691 | DEBUG | queue://xxxxx expiring messages .. | 
org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler
2015-09-25 11:11:34,693 | DEBUG | queue://xxxxx expiring messages done. | 
org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler
2015-09-25 11:11:34,805 | DEBUG | queue://ActiveMQ.DLQ expiring messages .. | 
org.apache.activemq.broker.region.Queue | ActiveMQ Broker[localhost] Scheduler
2015-09-25 11:11:34,806 | DEBUG | ActiveMQ.DLQ toPageIn: 0, Inflight: 0, 
pagedInMessages.size 11, pagedInPendingDispatch.size 11, enqueueCount: 0, 
dequeueCount: 0, memUsage:18909 | org.apache.activemq.broker.region.Queue | 
ActiveMQ
BrokerService[localhost] Task-2


Software:
ActiveMQ Version: 5.10
JVM Version: 1.7
Application server: spring + Jboss 6


Regards

Reply via email to