General J2EE: Looking for a good, open source JMS implementation

  1. I am looking for a good JMS implementation that can do the following: in a single (local) transaction, be able to write 20,000 or more persistent messages to 3 different queues, each. It should be able to do this in a few seconds. Before you say, ActiveMQ, I've already tried it and it hangs at about 19,000 messages. Thanks G
  2. what do you mean it hangs at 19,000? ActiveMQ has been aroudn for a long time, and used in some mission critical production systems. if your convenienced its not your design, i recommend JBoss MOM.
  3. Here's what I tried for ActiveMQ: 1. Downloaded version 4.1.1 2. Ran the embedded broker using the default persistence config (journalledJDBC), used -Xms1500m -Xmx1500m for the JVM running the embedded broker 3. Ran a separate client JVM that sets transacted=true and persisted=true, begins a transaction and begins a for loop to insert 20,000 messages into the example test queue. This is basically a "large batch in a single transaction" that is good for performance. At about 19,825 messages, the client program just stops responding. The messages aren't large, they contain short text like "this is message # x" If this setup requires ActiveMQ tuning, I could not find it anywhere on the website.
  4. You are about to make a mistake :), and I've made the EXACT same mistake when awhile back on enterprise "Transactions", trust me when i say this....always make sure your transactions are VERY short. meaning if u have a transaction that takes more than a second(even that may be to long), its to long. do u have the code for the JMS client? cut and paste it.