Hi,
I´m interested to understand how Glassfish and OpenMQ works together
since we started to experience a odd situation:
We have a persistent queue which receives quite a lot of messages per
second.
After a while we had 350.000 messages in the queue (Almost 60MB). At
this point, we did a simple undeploy and deploy of our .ear application
(without any source code change).
The result of this operation was catastrophic: a Java heap space during
deploy and worst of all - The queue was cleaned!
This is our top requirement, never lose a single message. In this case
we lost million application messages since each jms message contains a
batch from our application.
I cannot understand such situation since we use persistent messages.
It's looks like Glassfish loads all message into a HashMap but I´m not
sure (I´m guessing by java heap error)...
The question is why Glassfish and Open MQ would touch data from a
persistent queue during application load? And why delete all messages
without any reasonable reason?
Other details:
Glassfish v2.1.1
Queue FlowLimit = 1
Regards