I recently committed some improvements for this
in the developement branch. It still does not
have any flow control like you suggest :-(
The main problem is due a server-wide lock when
writing/reading messages to disk. This causes a
stall when memory is tight and some of the cache needs to
be flushed to disk.
This is gone in my version.
It is quite a major change so it is only in
jboss-4.0.0alpha for testing at the moment.
If I get some positive feedback, I will backport
it for jboss3.0.5
You can only download jboss4 from cvs
cvs co jboss-head
FYI: On my 1Ghz XP machine (high=50M max=60M)
I can get a throughput of (approx figures)
500,000 msgs/hour (persistent)
2,700,000 msgs/hour (non-persistent)
1,000,000 msgs/hour (persistent)
2,500,000 msgs/hour (non-persistent)