Is the AMQ broker embedded? If so, perhaps another application is leaking
memory.
Or, are there any custom plugins?
Bottom line here - there is something taking up all of the memory, causing
the OOM condition. Taking heap dumps and/or histograms may be the only
quick way to find out just what's
Hmm, why is it not ideal to cast to an ActiveMQMessage when validating an
internal operation of ActiveMQ? Is there another messaging provider that
gives the exact same information and, therefore, a need to make this code
reusable across both?
BTW, I suspect you'll find validating the path message
BTW, once the JVM reaches the out-of-memory condition, it can become
impossible to perform any operations on it - such as obtaining stack dumps
and heap dumps. With that said, a heap dump, or at least histogram, can
help determine the precise cause of the out-of-memory condition.
The jmap program
OutOfMemory most commonly occurs with slow consumption.
The broker can run out of memory if messages are produced to it too quickly
and consumers don't keep up. It will also run out of memory if massive
transactions are used and not committed nor rolled back before the broker's
memory is exhauste