dalin wrote: > > It appears that as each message is paged in, a MessageReference object is > created for each message and stored in the linkedlist pagedInMessages. The > elements in the list are removed upon calling gc() in > org.apache.activemq.broker.region.Queue. This occurs when purge() is > called or when dropEvent() is called and garbageSize > > garbageSizeBeforeCollection. However, the linkedlist can potentially > contain 1000 MessageReference objects before gc() is called. In my case, > the content of each ObjectMessage that I send out to a consumer is about > 800KB with compression turned on. This in turn leads to about 800MB of > memory being used up by the linkedlist before gc() is called. > > Anyone can easily simulate this scenario by using a single broker with one > producer and one consumer. Turn compression off. Have the producer send an > ObjectMessage containing an 800KB byte array, and the consumer consume the > message. Using a profiler or jmx, you can see that the heap size steadily > increases and then drops after sending 1000 messages. > > Is there any way to allow the user to change or set the value of > garbageSizeBeforeCollection in org.apache.activemq.broker.region.Queue? > Thanks. >
I've create a jira issue to track this: https://issues.apache.org/activemq/browse/AMQ-1553 -- View this message in context: http://www.nabble.com/ActiveMQ-ver5.0-number-of-paged-in-messages-tp14860957s2354p14955303.html Sent from the ActiveMQ - User mailing list archive at Nabble.com.