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. -andreas James.Strachan wrote: > > On 10/23/06, Dave cawthorn <[EMAIL PROTECTED]> 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 > ------- > http://radio.weblogs.com/0112098/ > > -- View this message in context: http://www.nabble.com/Non-Persistent-queue-message-TTL-tf2492842.html#a7011684 Sent from the ActiveMQ - User mailing list archive at Nabble.com.
