HornetQ General FAQs

Version 17

    What is HornetQ?


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


    HornetQ is designed with usability in mind.


    HornetQ is an example of Message Oriented Middleware (MoM)  For a description of MoMs and other messaging concepts please see the chapter 2 of the user manual "Messaging Concepts".


    HornetQ is Red Hat's flagship Java messaging system.


    Why a Hornet?


    Hornets are fast, angry and have attitude, with a sting in their tail.


    You don't mess with the hornet.


    Also they make great logos.


    What's the relation between JBoss Messaging and HornetQ?


    During most of its development the HornetQ code-base was known as JBoss Messaging 2.0.


    We decided to rename it and spin it off as an independent project since it differs in a great many ways from JBoss Messaging 1.x and we did not want to confuse JBoss Messaging 1.x with JBoss Messaging 2.x.


    The vast majority of the code base of HornetQ is different to the code base of JBoss Messaging 1.x.


    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.


    Should I use HornetQ or JBoss Messaging?


    Going ahead, HornetQ will be the default messaging provider in all JBoss Platforms and this question will be easier to answer


    For now, JBoss EAP 5.0 will contain a technology preview of HornetQ for which support is provided at technical preview level.


    If you require full production support for messaging at this time, that is available using JBoss Messaging in JBoss EAP 4.x, 5.0, or JBoss SOA platform.


    If you are an early adopter, riding the crest of the wave and want to benefit from the best performance and feature set then HornetQ is for you.



    How is the HornetQ source licenced?


    The HornetQ source is licenced under the Apache Software License version 2.0 with the exception of a very small number of files that we were unable to relicence which remain licensed under the LGPL.


    We aim to provide alternative ASL licenced versions of those files over time.


    The ASL 2.0 has fewer restrictions on use than the LGPL, thus providing fewer barriers to adoption. We want HornetQ to be adopted as widely as possible so that's why we chose it.


    How is the HornetQ documentation licenced?


    The HornetQ documentation is licenced under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA").


    An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/.


    Why did HornetQ start at 2.0.0?


    The HornetQ code-base was originally known as JBoss Messaging 2.0 during most of its development.


    For continuity we decided to continue the JBoss Messaging version numbering in HornetQ.

    Who develops HornetQ?


    HornetQ is an open source community project and we encourage and welcome contributors to help us and get involved.


    Red Hat Middleware Division (a.k.a. JBoss) also provide a small team who are employed to work on HornetQ development.


    What are Red Hat's plans for inclusion of HornetQ in JBoss and Red Hat's products?


    HornetQ 2.0.0.beta4 will be available as technology preview via a separate download for JBoss EAP 5.0, where support will be available for it.


    Latest versions of HornetQ will constitute the default messaging provider in JBoss EAP 5.0 and JBoss SOA platform.


    Is HornetQ tightly coupled to JBoss Application 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.


    You can even embed HornetQ directly in your own applications.

    Is HornetQ a stand-alone messaging system?


    Yes, HornetQ can be run as a fully functioning stand-alone messaging server quite separate from JBoss Application Server.

    Can HornetQ be integrated in JBoss Application Server?


    Yes, HornetQ can be integrated seamlessly into JBoss Application Server version 5.0 or later using instructions provided in the documentation.


    Later versions of JBoss Application Server will come with HornetQ pre-installed.


    How does HornetQ relate to MRG Messaging?


    We (Red Hat + JBoss) are intending to have a single messaging solution in the near future.


    Does HornetQ have a strategy on cloud computing?


    We are aiming for HornetQ to be cloud enabled, and want it to be the messaging provider of choice in the cloud. Most likely this will require HornetQ to implement a REST style API for interoperable messaging, which is on our roadmap.