Tuning ActiveMQ for Performance
Recently I needed to optimize our ActiveMQ configuration for performance. Let me explain our deployment, we had a Jetty based Java app with GWT for the UI. We use gwt-ActiveMq with long polling to send messages to the UI. We were using activemq for everything, for out SM design, or async event listener architecture. We have no plans to scale from more then one box and for us the performance is critical. So things done were: Non-persisten messaging. Its atleast 20x faster. This can be achieved by: Set the NON_PERSISTENT message delivery flag on your MessageProducer. Set the persistent=false flag in the element of the Xml Configuration or on the property BrokerService . Remove the network. We used vm:// as transport so that the entire queue is in memory. No need to go over the network as our broker is embedded in the same context as the producer. You would have to change the broker address in the web.xml of the server as you won't get messages on the UI. Seria