JBoss has announced the availability of HornetQ, an open source, multi-protocol, embeddable, high performance, clustered, asynchronous messaging system. The HornetQ code-base was worked on under the name JBoss Messaging 2.0 for the last couple of years.
The announcement gives more information about the nature of HornetQ:
HornetQ is designed with usability in mind: We've provided an extensive, easy-to-understand user-manual and quick-start guide and we ship with over 65 ready-to-run examples out of the box, demonstrating everything from simple JMS usage to complex clusters of servers and more exotic functionality.
HornetQ is designed with flexibility in mind: It's elegant POJO based design has minimal third party dependencies: Run HornetQ as a stand-alone messaging broker, run it in integrated in your favourite JEE application server, or run it embedded inside your own application. It's up to you.
HornetQ is designed with performance in mind: Our unique ultra-high performance journal provides never seen before persistent messaging performance. Automatically switching into native mode when running on Linux, it uses asynchronous IO to provide persistent messaging rates that can saturate the write throughput of a disk. Our pluggable transport system uses JBoss Netty out of the box to provide superb performance and scalability on the wire.
Although HornetQ can be integrated in the JBoss Application Server, it can also be run as a stand alone messaging server:
HornetQ has zero dependencies on any JBoss Application server components, in fact HornetQ core has zero dependencies on any libraries other than the core JDK!
Although HornetQ can be easily integrated in JBoss Application Server as the JMS provider, it can also be run as a fully functional completely independent standalone messaging server outside of JBoss Application Server, or it can be instantiated in your dependency injection framework of choice, e.g. Spring or Google Guice.
The project wiki holds a large list about the features that are present in the current release.
JBoss explained in the FAQ about the relation between HornetQ and JBoss Messaging 2.0:
During its development over the last couple of years the HornetQ code-base was worked on under the name JBoss Messaging 2.0
We decided to rename it and separate it as an independent project since it differs in a many ways from JBoss Messaging 1.x and we did not want to confuse the two, quite different, systems. The vast majority of the code base of HornetQ is different to the code base of JBoss Messaging 1.x
So, what happens with JBoss Messaging now? JBoss Messaging 1.x continues to be known under the name of JBoss Messaging and the project is now in maintenance mode only, with all new messaging development happening on the HornetQ project.
JBoss aims to make HornetQ the messaging provider of choice in the cloud and we'll be working on implementing a RESTful style API for interoperable messaging. HornetQ will also be implementing AMQP and native STOMP support to make it a truly multi-lingual messaging system.
HornetQ is licenced under the Apache Software License version 2.0 with the exception of a small number of files that JBoss claims were not possible to relicence and had to remain licensed under the LGPL JBoss aims to provide alternative ASL licenced versions of those files over time.
You can find more information about HornetQ on the project web site and wiki. There is also a short guide that will help you to take HornetQ for a tet drive in just a few minutes.