Wednesday, 13 January 2010

HornetQ 2.0.0.GA is released!

Red Hat Middleware (JBoss) is pleased to announce the release of HornetQ 2.0 GA.

HornetQ is an open source community project to build a multi-protocol, embeddable, ultra high performance, clustered, asynchronous messaging system.

HornetQ can be used to provide messaging functionality from the smallest of applications to empowering the largest of enterprise messaging topologies.

Writing a full-blown, enterprise messaging system is a huge undertaking and it's been a long and windy road to get where we are today. It's taken over 2 years of development and many late nights and weekends to get to this point, but we hope you like what you see.

HornetQ is currently an unsupported community project, but, in the not-too-distant future will be available fully supported by Red Hat as part of a JBoss Enterprise Application Platform subscription. Even sooner than that HornetQ will be available in JBoss Enterprise Application Platform as a technical preview with limited support.

Here's just a taste of why you should consider choosing, or migrating to HornetQ:

* 100% open source software. HornetQ is licenced using the Apache Software License v2.0 to minimise barriers to adoption.
* Jaw-dropping performance. Our unique high performance journal provides astonishing persistent messaging performance. When running on Linux it takes advantage of native code to provide performance unavailable from pure Java. When Linux is not available it still flies at supersonic speed.
* Full feature set. All the features you'd expect in any serious messaging system, and others you won't find anywhere else.
* Usability is key. We ship with over 75 ready-to-run examples demonstrating most aspects of HornetQ functionality.
* Comprehensive documentation. We ship with a in depth 200 page user manual, and a quickstart guide to get you up and running in minutes.
* Written in Java. Runs on any platform with a Java 5+ runtime, that's everything from Windows desktops to IBM mainframes.
* Elegant, clean-cut design with minimal third party dependencies. Run HornetQ stand-alone, run it in integrated in your favourite JEE application server, or run it embedded inside your own product. The choice is yours.
* Solid high availability. We provide a HA solution with automatic client failover so you can guarantee zero message loss or duplication in event of server failure.
* Hugely flexible clustering. Create clusters of servers that know how to load balance messages. Link geographically distributed clusters over unreliable connections to form a global network that powers your core business. Configure routing of messages in a highly flexible way.

Please see the wiki for a complete list of HornetQ features.

What's next for HornetQ? We have lots of exciting things in store including REST support, AMQP support, STOMP support and direct Ajax/Comet/Web sockets support.

I've put together a FAQ that should answer most of the common questions about HornetQ.

Here are some more links:

Project web site
Project blog
Follow us on twitter
Get your cool HornetQ swag here (T-shirts, mugs etc)


  1. Congratulations - I'll update the dependency from CR3 to GA when I can see it in the Maven repository.

    Has anyone given any thought to providing HornetQ integration with Apache Camel? I was simply thinking that it would mean that instead of users' messages being routed through a JMSEndpoint it could be handled by code that knew how to take advantage of the HornetQ API, thereby realising a performance gain.

    Are we going to see a Camel URI along the lines of "hornetq:queue:notifications" at some point? It might have the effect of encouraging adoption by making the transition from other messaging providers as easy as changing a URI.



  2. *please* tell me having integrated STOMP functionality (or some other way for .Net clients to talk to this) is coming soon. StompConnect is total fail for me at this point, and after spending 2+ hours trying to force it to connect I'm giving up on it - if they can't be bothered to document basic examples of how to launch the thing then I don't need to figure it out for them. That said, it leaves me hanging without a dependable MQ system for both Java and C# programs (ActiveMQ is ... less than stable at high queue sizes, RabbitMQ doesn't scale beyond erlang's ability to consume RAM, and ZeroMQ doesn't seem to mention a .Net API at all).

  3. @chriswiegand StompConnect is working fine with HornetQ.

    I wrote an article showing how to configure HornetQ and StompConnect to provide a fully functional Stomp messaging server:

    hope that helps,

  4. How can I integrate HornetQ as a resource in Tomcat? Anything on this blog will help