Hi, I have an application with a limited memory size. I run with persistence on. There are times when a long running consumer transaction will cause all memory to be consumed in the broker. This eventually leads to Producer blockage (or error -- I've sometimes configured it that way). Since the producer blocks the consumer transaction can never complete because it does not get all the messages it needs.
I am using ActiveMQ 5.3.2 with the default PersistenceAdapter: AMQPersistenceAdapter. Is there anyway I can change this behavior without having to increase the memory available to the broker? Ideally the state of the ongoing transaction would spill to storage when memory is exhausted, allowing the transaction to continue. Using a java profiler, I've noticed that the consumer holds a list of all unacknowledged yet delivered messages in memory. I cannot predict the size of the messages or the number of messages in a transaction. Any suggestions would be appreciated. Thanks, Martin -- View this message in context: http://activemq.2283324.n4.nabble.com/do-open-transactions-consume-memory-tp3413174p3413174.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.