What you describe is as expected. Topics are a little different w.r.t to expiry as the messages are only persisted on a per consumer basis. If there are no consumers, the messages are discarded so they don't get a chance to expire. If there are durable subscribers the pendingMessageLimitStrategy kicks in and first does message expiry, then does message discarding.
On 17 March 2010 09:38, roxanac <maria_...@hotmail.com> wrote: > > Hello! > I have a problem or at least a thing that is not very clear for me. > I am publishing non-persistent messages in a topic, having TimeToLive set > to > 5 seconds for producer and for message also ( I have a C# producer but this > is not that relevant since I get the same behavior with a Java producer ). > But in JConsole there is no registered expired message even after letting > the producer publish messages for a very long time. All it seams to happen > is that the Queue size of the topic is continuously increasing no matter if > topic consumers exist or not. > > ex.: > DequeueCount = 16402 > DispatchCount = 16402 > EnqueueCount= 16443 > ExpiredCount=0 > QueueSize=16443 > > in activemq.xml I have the following: > > <policyEntry topic=">" > producerFlowControl="false" > memoryLimit="20mb" > optimizedDispatch="true" > lazyDispatch="false" > strictOrderDispatch="true" > expireMessagesPeriod="1000"> > > <deadLetterStrategy> > <individualDeadLetterStrategy processExpired="false" > /> > </deadLetterStrategy> > > <pendingMessageLimitStrategy> > <constantPendingMessageLimitStrategy limit="1"/> > </pendingMessageLimitStrategy> > </policyEntry> > > If I do the same thing for a queue the messages are expiring just fine, so > no problem there, but I need a similar behavior for topics. > I might be doing something wrong or this is just not working.... > > I wrote in other post here the following: > > > Wrt AMQ 5.3. By default, persistent messages that expire are automatically > moved from their destination to the DLQ. However, non-persistent messages > that expire are automatically removed/deleted from their destination. > > By default, the message broker sweeps destinations of expired messages > every > 30 seconds. You can change this default via the 'expireMessagesPeriod' > property. > > > Thank you! > Roxana > > -- > View this message in context: > http://old.nabble.com/Topics-messages-don%27t-expire-tp27929452p27929452.html > Sent from the ActiveMQ - User mailing list archive at Nabble.com. > > -- http://blog.garytully.com Open Source Integration http://fusesource.com