Ok... I no longer think it's a memory issue, because it has happened while using more than 64mb. I tried various combinations of how my QueueSession was created. In other words, transacted vs non-transacted, auto-acknowledge vs client-acknowledge, and persistant vs non-persistant. But all combinations seem to give me the same results: once I commit the message (or when I simply call receive() while using non-transacted messages), the j2ee server takes almost all cpu time, and after about 5 minutes it finally writes out the jms messages to the hard drive under J2EE_HOME/repository/HOST_NAME/db...etc. Once it's finally done writing out the jms messages, the call to commit() in my
java app returns and continues to process. It's almost as if the commit() or acknowledgement of the message is temporarily locking up the j2ee server. It still works, but 5 minutes for such a small jms message (about 800kb) seems rediculous. I have plenty of ram available, so I'm not sure what the j2ee server is doing. Anyone have any ideas? Again, i'm using j2ee 1.3.1, so I will try 1.4 in the meantime to see if that helps.
Thank you,
Gordon
[ October 21, 2004: Message edited by: Gordon Glas ]