users@glassfish.java.net

JMS Queue persistence/non-persistence - memory problem

From: <glassfish_at_javadesktop.org>
Date: Mon, 26 Feb 2007 03:49:09 PST

hi,

I'm trying to send 20 object messages to a JMS queue, following is the code:

...
ObjectMessage objMsg = queueSession.createObjectMessage();
objMsg.setObject(task);
objMsg.setJMSDeliveryMode(DeliveryMode.NON_PERSISTENT);
queueSender.send(mdbQueue, objMsg);

I have created a message driven bean and implemented the 'onMessage(Message msg)' method.


looks like recieving 18 messages take about 300MB ram!
I'm not sure why, the 'task' object I set into the message is not so big,


So two questions:

1)
I tried to sent the delivery mode to NON-PERSISTENCE (thought maybe it could reduce some memory usage) but the delivery mode of the messages keep being PERSISTENCE, why?


2)
Also, the memory usage not getting freed when time passes,
Is there any way to reduce/free the memory usage with JMS queues?


Thanks
[Message sent by forum member 'demiant' (demiant)]

http://forums.java.net/jive/thread.jspa?messageID=205233