On 01/10/2012 12:31 PM, eugene wrote:
Hello,

So again the lack of good examples with qpid is killing me. Can anyone help
with this one?

I sent a simple message to the a Qpid/MRG queue and add the JMS Expiration
Header:

messageProducer.send(message, DeliveryMode.NON_PERSISTENT, 1, 10000);

OR

message.setJMSExpiration(10000);

OR BOTH.

 From what I understand the default removal policy for expired messages is 10
minutes.

Messages that have expired are removed either (a) when delivering messages from the queue to a consumer or (b) during a periodic purge of queues with no active consumers. An expired message will never be delivered to a consumer, but the point at which it is actively removed from the queue will depend on the scenario and configuration.

The default periodicity is indeed 10 minutes; you can adjust that via the --queue-purge-interval option to qpidd.

Guess what? The messages, of course, are not removed from the Queue,
otherwise I would not post this question :)

You mean it is not removed even after the periodic purge has run? (i.e. after 10 minutes if using the default value for --queue-purge-interval)? Is the message available - i.e. can a subscriber retrieve it - after expiration? Or is it that you expected it to be removed immediately (as reflected in statistics) from the queue?

If so can you give a bit more detail on your setup... e.g. is this a standalone broker? which version? how is the queue in question configured?

---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to