activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steven Van Loon" <steven.vanl...@invenso.com>
Subject RE: Expired messages
Date Thu, 15 May 2008 12:04:25 GMT
Thanks for the reply Rob.

The DLQ seems to be the queue to look for indeed, but it seems that the
expired messages are not send to this queue the moment they actually
expire.

I have created the following test scenario:

- I create a receiver for queue://ActiveMQ.DLQ and start it up
- I create a receiver for queue://MY.QUEUE.C which leaves 1000 ms
between two receive's (Thread.sleep(1000) after 1 message reception)
- I create a producer for queue://MY.QUEUE.C with a TTL = 100 ms which
will send 10 messages
- I start the receiver for queue://MY.QUEUE.C
- I start the producer for queue://MY.QUEUE.C

After running this, I see this:

ActiveMQ.DLQ 	
	Number Of Pending Messages : 0 
	Number Of Consumers: 1
	Messages Sent: 0 
	Messages Received: 0 
MY.QUEUE.C
	Number Of Pending Messages : 9 
	Number Of Consumers: 1
	Messages Sent: 10 
	Messages Received: 1

queue://MY.QUEUE.C contains 9 expired messages after execution, DLQ has
received nothing.

When I run my test an second time, I get the following stats:

ActiveMQ.DLQ 	
	Number Of Pending Messages : 0 
	Number Of Consumers: 1
	Messages Sent: 9 
	Messages Received: 9 
MY.QUEUE.C
	Number Of Pending Messages : 9 
	Number Of Consumers: 1
	Messages Sent: 20 
	Messages Received: 2

Which means the DLQ consumer has received the expired messages of my
first run and the expired message of the second run are not sent to the
DLQ. (confirmed by my logging).

Now, how can this be avoided? I want the expired messages to be sent
immediately to the DLQ.

Anybody any ideas?

Thanks!
Steven.







-----Original Message-----
From: Rob Davies [mailto:rajdavies@gmail.com] 
Sent: maandag 12 mei 2008 9:21
To: users@activemq.apache.org
Subject: Re: Expired messages


On 9 May 2008, at 10:35, Steven Van Loon wrote:

> Hi,
>
>
>
> Does anybody knows whether and how it is possible to act on expired
> messages?
>
>
>
> Thanks!
>
> Steven.
>

Expired messages have taken too long to deliver to a consumer - they  
are sent to a dead letter queue - see
http://activemq.apache.org/message-redelivery-and-dlq-handling.html
or you can listen for advisories - see
http://activemq.apache.org/advisory-message.html




cheers,

Rob

http://open.iona.com/ -Enterprise Open Integration
http://rajdavies.blogspot.com/




Mime
View raw message