Even if you're stuck in production using some other proprietary JMS provider and you're not yet ready to switch to Apache ActiveMQ - you can still find it incredibly useful when testing JMS. As this FAQ entry shows, you can create a full in-JVM JMS broker (to avoid a separate process) with disabled persistence (to avoid having to clear out queues before each test case) with really fast startup times and create your JMS ConnectionFactory using one line of code. Coolio!