I have extracted the 'essence' of what our ESB engine does with JMS messaging. I'm sending a message to queue/A and then I'm receiving the same message, I do some cleanup (closing session and connection) and then it starts all over again. Yes for each message I'm setting up the connection and then cleaning it up.
The problem I'm seeing is the the GC is not able to clean up the JMS objects as it loops around. So at some point this this example nicely blows up when it runs out of memory. Your mileage may vary but it usually is around 800 messages.
Any ideas why the GC can't make this work? I've testing this with JBM 1.2 GA. But I think JBMQ has the same problem. I'm running JDK-1.5.0_10.
JBossMQ crashes too. Although a different error it's also due to running out of memory.