The subscribe is always slower than
First, it does twice as much work as the publish
(it does a receive and an acknowledge request)
Second, you push the message to 450 clients
concurrently whereas the publish was just one
Sadly, there is no flow control, but as 3.0.7/3.2,
the message cache should act as a brake on the
If memory becomes tight, the publishing thread
is used to push messages out to disk to make room
for the new message. A sort of One-in-One-out
The OutOfMemoryException is caused by the
message cache settings - use search to find an
I have never measured the relative performance
of the serialization. If you do decide to measure
it, maybe you can post the results?
NOTE: Some of the implementations contain
workarounds for bugs in jdk1.3 which makes
them slower than they could be.
I did several test case comparisons between a MapMessage and a StreamMessage for message delivery speed. I was able to double the speed. My test case involved publishing 1000 messages to one subscriber. The message was small and contained 3 double values.