Hi, I have a broker that has 2 queues: important.queue & problems.queue,
The important.queue contains messages that I need to process, and if I have problems processing any of the messages I put the message into the problems.queue with a bit of meta-data so I can look at it later. It is like a DLQ but not just for unreachable destinations, and also contains any meta-data gleaned from the consumer as well as stack traces etc. So I can't just use the existing DLQ infrastructure of ActiveMQ. Is there any way to specify different storage characteristics for each queue? I want the important.queue to block upon out of space, but the problems.queue I don't care about soo much and would prefer to FIFO-style evict the oldest messages from the queue to make space for new messages. The problems.queue is persistent as while I don't care about it as much as the incoming data, it still does have some valid uses so should do its best to survive a full crash (power outage, vm/OS crash, etc...). Is there a way to do this using ActiveMQ configuration? Essentially I'm trying to get a blocking queue and a non-blocking silent-purge queue, each with different usage limits, in a single broker. Pretty much all the techniques out there are only for topics. I did see 'sendFailIfNoSpace' however that applies to overall systemUsage. I want to ensure that the problems.queue only takes up a fraction of the system resource. I've tried specifying destinationPolicy/policyEntry memoryLimit to give the problems queue less memory than the important queue and it doesn't seem to make a difference (presumably the data is just being written straight to disk rather than stored in-memory?). Ideas? Thanks, Mike
