Saturday, 6 March 2010

STOMP support and very cool stuff with Web sockets

Thanks to the work of Jeff Mesnil, HornetQ TRUNK now supports the STOMP protocol natively (that means without having to use StompConnect).

If you're not aware of it, STOMP is a simple, interoperable text based messaging protocol, originally implemented by the ActiveMQ guys.

Sure, it doesn't have some of the features that you'll find in more complex protocols but in many applications it's really good enough.

The great thing about STOMP too is that there are already many STOMP clients available in many different languages, this immediately opens up HornetQ to be accessed by clients in .NET, Python, Ruby etc.

The HornetQ server simultaneous supports all its protocols, so you can, e.g. send a JMS message and consume it as a STOMP message and vice versa, going ahead the same will be true with AMQP.

If STOMP support is not cool enough already, Jeff has done some very cool stuff with web sockets and STOMP.

Jeff has written a simple Javascript library which can speak the STOMP protocol, combine this with web sockets and you can now have your in-browser JavaScript apps talking directly to the HornetQ server.

Jeff demonstrated a very simple prototype with a simple JavaScript chat application that consumed messages from and sent messages to a topic on HornetQ.

Web sockets are new technology so aren't currently available in all browsers, but going ahead this is something that should be much more widely available.

Very cool stuff, and all of this will be available in the up coming 2.1 release :)

Tuesday, 16 February 2010

HornetQ reaches 800K messages / sec on a commodity server

I've been hacking away here, and managed to get a throughput of 800K small non persistent messages per second on a single 4 x 2.5GHz core server. The server was only running at 80% utilisation at this point. That means not even one core used :) Now... I just need to think of a way to incorporate this in a non hacky way.....

Friday, 12 February 2010

JBoss HornetQ sets record SPECjms2007 benchmark results


HornetQ- the new ultra high performance enterprise grade messaging system from JBoss, sets a record breaking score in the SPECjms2007 industry standard benchmark for JMS messaging system performance.

HornetQ 2.0.GA obtained scores up to 307% higher than previously published SPECjms2007 benchmark results, on the same server hardware and operating system set-up.

The peer-reviewed results are available on the spec.org web-site: http://www.spec.org/jms2007/results/jms2007.html

The results were obtained by Kai Sachs and Stefan Appel from an independent research group at the TU Darmstadt, Germany.

Their release announcement can be found here:

http://www.dvs.tu-darmstadt.de/news/specjms2007Results_HornetQ.html

Work is currently occurring on HornetQ 2.1 which includes another round of enhancements to take performance to yet another level.

For more information on HornetQ, please see the web site http://hornetq.org

SPEC® and the benchmark name SPECjms2007® are registered trademarks of the Standard Performance Evaluation Corporation. The results used in the above comparison refer to submissions made on the 17 Sep 2009 and 20 Jan 2010 by TU University Darmstadt

Friday, 5 February 2010

DZone interviews Tim Fox on HornetQ

DZone presents a short interview on the past, present and future of HornetQ

Friday, 15 January 2010

Using Stomp With HornetQ 2.0.0

The next release of HornetQ will have native support for Stomp but it already possible to use Stomp with HornetQ 2.0.0 thanks to StompConnect.

I wrote a simple example to show how to configure HornetQ and StompConnect to provide a fully functional Stomp messaging server.

The example code is hosted on GitHub:

git clone git://github.com/jmesnil/hornetq-stomp.git

Enjoy!

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
Wiki
Download
Documentation
Follow us on twitter
Get your cool HornetQ swag here (T-shirts, mugs etc)

Wednesday, 6 January 2010

HornetQ 2.0.0.CR3 is released!

We are very close to GA. This release has a just few minor fixes and improvements as it you could be verified at our release notes. You can download it from the HornetQ Web Site.