Jump to content

HornetQ: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
http://hornetq.org redirects to 404
Features: wikify
 
(25 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{refimprove|date=June 2012}}
{{more citations needed|date=June 2012}}
{{ Infobox Software
{{ Infobox Software
| name = HornetQ
| name = HornetQ
Line 5: Line 5:
| screenshot =
| screenshot =
| caption =
| caption =
| founder =
| author = Tim Fox
| developer = [[JBoss (company)|JBoss]]
| developer = [https://github.com/purplefox Tim Fox] [[JBoss (company)|JBoss]]
| discontinued = yes
| status = Active
| latest release version = 2.4.0
| latest release version = 2.4.0
| latest release date = {{release date and age|2013|12|16}}
| latest release date = {{release date and age|2013|12|16}}
Line 14: Line 14:
| genre = [[asynchronous messaging]]
| genre = [[asynchronous messaging]]
| license = [[Apache License]] 2.0
| license = [[Apache License]] 2.0
| repo = {{URL|https://github.com/hornetq/hornetq}}<ref>{{Cite web|url=https://www.openhub.net/p/hornetq |title=HornetQ Open Hub project page | website=openhub.net}}</ref>
| website = http://hornetq.jboss.org/
| website = {{URL|http://hornetq.jboss.org/}}
}}
}}
'''HornetQ''' is an [[open source]] [[asynchronous messaging]] project from [[JBoss (company)|JBoss]]. It is an example of [[Message Oriented Middleware]]. HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. During much of its development, the HornetQ code base was developed under the name [[JBoss Messaging]] 2.0.
'''HornetQ''' is an [[open-source software|open-source]] [[asynchronous messaging]] project from [[JBoss (company)|JBoss]]. It is an example of [[Message-oriented middleware]]. HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. During much of its development, the HornetQ code base was developed under the name [[JBoss Messaging]] 2.0.


== History ==
The HornetQ project is licensed using the [[Apache Software License]] v 2.0. As of 4-2-2010 HornetQ is the SPECjms2007<ref>
Tim Fox started work on HornetQ in 2007 as JBoss Messaging 2.0. After 2 years of effort, Fox realised the original JBoss Messaging codebase had been almost completely rewritten and it was decided to release it under a different name. Fox came up with the name "HornetQ".
{{cite web
| url = http://www.spec.org/jms2007/docs/FAQ.html#Q1 SPECjms2007
| title = Frequently Asked Questions
| author =
| date =
| work =
| publisher =
| accessdate = 2012-06-22
| quote = SPECjms2007 is an industry-standard benchmark designed to measure the performance and scalability of JMS-based Message-Oriented Middleware (MOM) platforms.}}</ref> record breaker.<ref>[http://www.redhat.com/promo/summit/2010/presentations/jbossworld/developer-insights-ii/wed/rrahman-310-spring/spring_and_jboss_final.pdf Spring+JBoss, So Happy Together!] from [[Red Hat]]</ref>


On 24 Aug 2009 HornetQ 1.0 was launched.<ref>{{Cite web | url=https://www.infoq.com/news/2009/08/hornetq | title=JBoss Announced the HornetQ project }}</ref>
== Early Days ==
The HornetQ project was started with Tim Fox as the project lead, and was launched on 24 August 2009. Fox led the project until 8 October 2010, when he stepped down as project lead to pursue other projects. It is currently led by Clebert Suconic with core engineers Andy Taylor, Francisco Borges, Howard Gao and Jeff Mesnil.


In September 2010 Fox released the results of a set of benchmarks comparing HornetQ performance with other popular messaging systems.<ref>{{Cite web | url=https://www.infoq.com/news/2010/09/hornetq-benchmark | title=JBoss Benchmark Claims HornetQ is the Performance Leader of Enterprise Messaging Systems |date=Sep 5, 2010 |author=Dio Synodinos|website=infoq.com}}</ref>
== On Monday, 1 June 2015 ==

Fox led the project until October 2010, when he stepped down as project lead to pursue other projects.


=== HornetQ Apache donation and Apache Artemis 1.0.0 release ===
=== HornetQ Apache donation and Apache Artemis 1.0.0 release ===
The HornetQ code base was donated to the Apache ActiveMQ community late last year and now resides as a sub project under the ActiveMQ umbrella named 'Artemis'. Since the code donation, the developers have been working tirelessly to get an initial release of Artemis out the door; to allow folks to give it a whirl and to finalise the donation process. With the release of Apache Artemis 1.0.0, that process has come to a close and the code donation has now been completed.
On Monday, 1 June 2015, the HornetQ code base was donated to the [[Apache ActiveMQ]] community in late 2014 and now resides as a sub project under the ActiveMQ umbrella named [[Apache_ActiveMQ#Artemis|Apache ActiveMQ Artemis]].<ref>{{Cite web|url=http://hornetq.org |title=HornetQ - putting the buzz in messaging |website=hornetq.org}}</ref> Since the code donation, the developers have been working tirelessly to get an initial release of Artemis out the door; to allow folks to give it a whirl and to finalise the donation process. With the release of Apache Artemis 1.0.0, that process has come to a close and the code donation has now been completed.


The active developer community has migrated across to Artemis; all of the developers that were active on HornetQ are now committers to the Artemis project; working on the code base as part of the ActiveMQ umbrella. The hope is that the union of the two great communities HornetQ and ActiveMQ will provide a path for a next generation of message broker with more advanced features, better performance and greater stability. We feel we can achieve these goals using the Artemis core with its superior performance in combination with the vast feature offering of ActiveMQ. As Aristotle once put it "The whole is greater than the sum of its parts". Let's hope this holds true for this union and great things will happen.
The active developer community has migrated across to Artemis; all of the developers that were active on HornetQ are now committers to the Artemis project; working on the code base as part of the ActiveMQ umbrella. The hope is that the union of the two great communities HornetQ and ActiveMQ will provide a path for a next generation of message broker with more advanced features, better performance and greater stability. The community hopes to achieve these goals using the Artemis core with its superior performance in combination with the vast feature offering of ActiveMQ.


The Artemis project is targeted to house this next generation of message broker, as such any new feature requests or contributions from the HornetQ community should now be placed into the Artemis stream of development. HornetQ will of course have bugs fixed on its active branches (2.3 and 2.4) but will be mostly in maintenance only mode. For those HornetQ users who are wishing to migrate to Artemis 1.0.0, your job should be easy, Artemis is already compatible with HornetQ clients and supports a number of other protocols such as AMQP, Stomp, ActiveMQ's native messaging protocol 'OpenWire' (at Alpha with support for ActiveMQ JMS clients and basic transport) and also JMS 2. In addition we have already started development on support for MQTT.
The Artemis project is targeted to house this next generation of message broker, as such any new feature requests or contributions from the HornetQ community should now be placed into the Artemis stream of development. HornetQ will be mostly in maintenance only mode, aside of fixing bugs of its active branches (2.3 and 2.4). The HornetQ could easily migrate to Artemis 1.0.0 as Artemis is already compatible with HornetQ clients; it supports a number of other protocols such as AMQP, Stomp, ActiveMQ's native messaging protocol 'OpenWire' (at Alpha with support for ActiveMQ JMS clients and basic transport) and also JMS 2. In addition the team started development on support for MQTT.


== Features ==
== Features ==
It has the following relevant features:
It has the following relevant features:


* Supports [[Streaming Text Oriented Messaging Protocol|STOMP]] and now [[AMQP|AMQP 1.0]]<ref>http://docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/interoperability.html#d0e14318</ref> protocols for cross-language clients
* Supports [[Streaming Text Oriented Messaging Protocol|STOMP]] and now [[AMQP|AMQP 1.0]]<ref>{{Cite web | url=http://docs.jboss.org/hornetq/2.4.0.Final/docs/user-manual/html/interoperability.html#d0e14318 | title=HornetQ User Manual - Chapter 48. Interoperability |website=docs.jboss.org }}</ref> protocols for cross-language clients
* 100% [[Java Message Service|JMS]] compliant
* 100% [[Java Message Service|JMS]] compliant
* 8.2 Million Messages per second with SpecJMS
* 8.2 Million Messages per second with SpecJMS
Line 51: Line 45:
* Supports Master/Slave architecture for fault tolerance
* Supports Master/Slave architecture for fault tolerance
* Supports discovery groups for dynamic node clusters
* Supports discovery groups for dynamic node clusters
* Core Bridges to connect to other HornetQ servers (over unreliable WAN links)
* Core Bridges to connect to other HornetQ servers (over unreliable [[Wide_area_network|WAN]] links)
* JMS Bridges to connect to other JMS compatible servers
* JMS Bridges to connect to other JMS compatible servers
* Diverts to reroute traffic without modifying application code
* Diverts to reroute traffic without modifying application code
* Paging to support messages whose size exceeds the available RAM
* Paging to support messages whose size exceeds the available RAM
* Large message support to enable file messaging
* Large message support to enable file messaging
* XA and JTA transaction support
* [[X/Open_XA|XA]] and [[Jakarta_Transactions|JTA]] transaction support
* Application Server integration using the JCA standard (allows MDBs too)
* Application Server integration using the [[Jakarta_Connectors | JCA]] standard (allows MDBs too)
* High performance [[JBoss Netty|Netty]] [[New I/O|NIO]] connector over TCP, SSL and Servlet modes (for messaging between firewalls)
* High performance [[JBoss Netty|Netty]] [[New I/O|NIO]] connector over TCP, SSL and Servlet modes (for messaging between firewalls)
* JMX based management
* [[Java_Management_Extensions|JMX]] based management
* Last Value Queues (for protocols that support these)
* Last Value Queues (for protocols that support these)
* Filters and wildcard support
* Filters and wildcard support
* Security features integrated with JAAS
* Security features integrated with [[Java_Authentication_and_Authorization_Service|JAAS]]
* Simple XML configuration
* Simple [[XML]] configuration


==References==
==References==
Line 70: Line 64:
==External links==
==External links==
* [http://vasilec.blogspot.de/2013/05/simple-client-for-hornetq-for-testing.html Simple client for HornetQ by Jruby]
* [http://vasilec.blogspot.de/2013/05/simple-client-for-hornetq-for-testing.html Simple client for HornetQ by Jruby]
* [http://hornetq.org HornetQ web site]
* [http://www.spec.org/jms2007/results/jms2007.html SPECjms2007 results]
* [http://www.spec.org/jms2007/results/jms2007.html SPECjms2007 results]
* [http://www.ohloh.net/p/hornetq HornetQ ohloh project page]


{{DEFAULTSORT:Hornetq}}
[[Category:Message-oriented middleware]]
[[Category:Message-oriented middleware]]

Latest revision as of 02:24, 26 November 2024

HornetQ
Original author(s)Tim Fox
Developer(s)Tim Fox JBoss
Final release
2.4.0 / December 16, 2013; 11 years ago (2013-12-16)
Repositorygithub.com/hornetq/hornetq[1]
Written inJava
Operating systemCross-platform
Typeasynchronous messaging
LicenseApache License 2.0
Websitehornetq.jboss.org

HornetQ is an open-source asynchronous messaging project from JBoss. It is an example of Message-oriented middleware. HornetQ is an open source project to build a multi-protocol, embeddable, very high performance, clustered, asynchronous messaging system. During much of its development, the HornetQ code base was developed under the name JBoss Messaging 2.0.

History

[edit]

Tim Fox started work on HornetQ in 2007 as JBoss Messaging 2.0. After 2 years of effort, Fox realised the original JBoss Messaging codebase had been almost completely rewritten and it was decided to release it under a different name. Fox came up with the name "HornetQ".

On 24 Aug 2009 HornetQ 1.0 was launched.[2]

In September 2010 Fox released the results of a set of benchmarks comparing HornetQ performance with other popular messaging systems.[3]

Fox led the project until October 2010, when he stepped down as project lead to pursue other projects.

HornetQ Apache donation and Apache Artemis 1.0.0 release

[edit]

On Monday, 1 June 2015, the HornetQ code base was donated to the Apache ActiveMQ community in late 2014 and now resides as a sub project under the ActiveMQ umbrella named Apache ActiveMQ Artemis.[4] Since the code donation, the developers have been working tirelessly to get an initial release of Artemis out the door; to allow folks to give it a whirl and to finalise the donation process. With the release of Apache Artemis 1.0.0, that process has come to a close and the code donation has now been completed.

The active developer community has migrated across to Artemis; all of the developers that were active on HornetQ are now committers to the Artemis project; working on the code base as part of the ActiveMQ umbrella. The hope is that the union of the two great communities HornetQ and ActiveMQ will provide a path for a next generation of message broker with more advanced features, better performance and greater stability. The community hopes to achieve these goals using the Artemis core with its superior performance in combination with the vast feature offering of ActiveMQ.

The Artemis project is targeted to house this next generation of message broker, as such any new feature requests or contributions from the HornetQ community should now be placed into the Artemis stream of development. HornetQ will be mostly in maintenance only mode, aside of fixing bugs of its active branches (2.3 and 2.4). The HornetQ could easily migrate to Artemis 1.0.0 as Artemis is already compatible with HornetQ clients; it supports a number of other protocols such as AMQP, Stomp, ActiveMQ's native messaging protocol 'OpenWire' (at Alpha with support for ActiveMQ JMS clients and basic transport) and also JMS 2. In addition the team started development on support for MQTT.

Features

[edit]

It has the following relevant features:

  • Supports STOMP and now AMQP 1.0[5] protocols for cross-language clients
  • 100% JMS compliant
  • 8.2 Million Messages per second with SpecJMS
  • AIO (over Linux)/NIO (over any OS) based high performance journal.
  • Clustering for scalability and reliability
  • Supports Master/Slave architecture for fault tolerance
  • Supports discovery groups for dynamic node clusters
  • Core Bridges to connect to other HornetQ servers (over unreliable WAN links)
  • JMS Bridges to connect to other JMS compatible servers
  • Diverts to reroute traffic without modifying application code
  • Paging to support messages whose size exceeds the available RAM
  • Large message support to enable file messaging
  • XA and JTA transaction support
  • Application Server integration using the JCA standard (allows MDBs too)
  • High performance Netty NIO connector over TCP, SSL and Servlet modes (for messaging between firewalls)
  • JMX based management
  • Last Value Queues (for protocols that support these)
  • Filters and wildcard support
  • Security features integrated with JAAS
  • Simple XML configuration

References

[edit]
  1. ^ "HornetQ Open Hub project page". openhub.net.
  2. ^ "JBoss Announced the HornetQ project".
  3. ^ Dio Synodinos (Sep 5, 2010). "JBoss Benchmark Claims HornetQ is the Performance Leader of Enterprise Messaging Systems". infoq.com.
  4. ^ "HornetQ - putting the buzz in messaging". hornetq.org.
  5. ^ "HornetQ User Manual - Chapter 48. Interoperability". docs.jboss.org.
[edit]