activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From kruthoff <>
Subject Re: Non Persistent queue message TTL
Date Thu, 26 Oct 2006 14:00:51 GMT

I've a similar situation, a queue, DeliveryMode.NON_PERSISTENT, and a TTL on
the producer. The msgs remain in the RAM of activemq forever, if not
consumed by a receiver (might be out of service or so..).

With persistent delivery mode and asyncSend, it works well, but I would be
very happy to have the case described above, too. Remove outdated msgs from
the queue would be very appreciated.


James.Strachan wrote:
> On 10/23/06, Dave cawthorn <> wrote:
>> HI,
>> Do non persistent messages with a TTL ever get removed out of the brokers
>> message store?
> Non persistent messages shouldn't be getting written to the message
> store? Or do you mean the RAM buffer?
>>  I wrote a test that sends a non persistent message with a TTL
>> of 1ms and then tries to consume this message. What I have noticed is
>> that
>> every time I run this test the broker tries to redeliver the previously
>> expired message as well as the newly expired message but the
>> ActiveMQMessageConsumer rejects it and outputs multiple "Received expired
>> message:" debug log record. I waited for an hour to see if the thread
>> that
>> deletes messages out of the persistent store cleaned up these messages as
>> well but it doesn't seem to.
>> I'm using jms for heartbeating clients and I want to use the TTL
>> functionality to remove stale heartbeat requests but if the they are
>> going
>> to cause a memory leak in the broker i won't be able to do this.
> It could be we need to me more aggressive in evicting timed out
> messages from RAM. We may wanna add some background thread to chase
> down expired messages and remove them eagerly
> -- 
> James
> -------

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message