I guess ActiveMq is a pretty famous but it is also buggy. I have issues like messages not being return entirely. I don't know where the messages went. If i tries to do a second read (using QueryBrowser), I get those messages again.
If you load balance it, you need to be reading it off 2 different ports and DO NOT expect messages to be return ordered by timestamps.
More challenges that other people have experienced before :-