The org.apache.activemq.pool.PooledConnectionFactory from activemq-pool has a severe memory leak when using it for sending a lot of messages. Over time this causes memory to be eaten up.
I have tracked it down to the following tickets:
AMQ-3680, which keeps adding event listeners, despite previously added AMQ-2643, code which keep track of loaned sessions, causing JVM to create too many ConcurrentLinkedQueue$Node instances
There may be others. But with resolutions to those I can get the pool to not eat memory, and keep memory consumption low.