Hi folks, we have a 5.3 embedded KahaDB based broker with just a VM connector on it (see activemq.xml here http://pastebin.com/f492ec856), our producers continuously send persistent messages while the consumers run intermittently (because they are bound to the availability of an external and intermittently available service).
For this reason we require to be able to accommodate many persistent messages onto disk, waiting for the superlazy consumers to get them and without slowing producers down. We have no constraints at all on disk space utilization. All we have done so far is to inhibit producer flow control (producerFlowControl="false") but the behavior it's still a bit unstable and we quickly get OOM exceptions when we stop consumers. We're not able to figure out which other parts of activemq.xml configuration need to be tuned. Can anyone provide pointers/samples? Here are a few questions to get us started: 1\ What is the real role played by memoryLimit in <policyEntry topic=">" producerFlowControl="false" memoryLimit="1mb"> <policyEntry queue=">" producerFlowControl="false" memoryLimit="1mb"> 2\ <systemUsage> has been left unspecified: what shall we configure to get a "don't care how much disk is used" behavior? 3\ We kept default message cursor settings, under the assumption that they were the right ones for our scenario with persistent messages and deep queues: is this right? Cheers, F. PS: ...if you believe this is a duplicate of "OOM with high KahaDB indextime" thread, let's keep that one alive and not this.