Project

march_hare

0.28
A long-lived project that still receives updates
RabbitMQ client for JRuby built around the official RabbitMQ Java client
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

March Hare, a JRuby RabbitMQ Client

March Hare is an idiomatic, fast and well-maintained (J)Ruby DSL on top of the RabbitMQ Java client. It strives to combine strong parts of the Java client with over 4 years of experience using and developing Ruby amqp gem and Bunny.

Why March Hare

  • Concurrency support on the JVM is excellent, with many tools & approaches available. Lets make use of it.
  • RabbitMQ Java client is rock solid and supports every RabbitMQ feature. Very nice.
  • It is screaming fast thanks to all the heavy duty being done in the pretty efficient & lightweight Java code.
  • It uses synchronous APIs where it makes sense and asynchronous APIs where it makes sense. Some other Ruby RabbitMQ clients only use one or the other.
  • amqp gem has certain amount of baggage it cannot drop because of backwards compatibility concerns. March Hare is a clean room design, much more open to radical new ideas.

What March Hare is not

March Hare is not

  • A replacement for the RabbitMQ Java client
  • A replacement for Bunny, the most popular Ruby RabbitMQ client
  • A long running "work queue" service

Project Maturity

March Hare has been around since 2011 and can be considered a mature library.

It is based on the RabbitMQ Java client, which is officially supported by the RabbitMQ team at VMware.

Installation, Dependency

With Rubygems

gem install march_hare

With Bundler

gem "march_hare", "~> 4.5"

Documentation

Guides

MarchHare documentation guides are now a part of this repository and can be read directly on GitHub.

Examples

Several code examples are available. Our test suite also has many code examples that demonstrate various parts of the API.

Supported Ruby Versions

March Hare supports JRuby 9.0 or later.

Supported JDK Versions

March Hare requires JDK 8 or later.

Change Log

See ChangeLog.md.

Continuous Integration

Continuous Integration status

CI is hosted by travis-ci.org

Testing

You'll need a running RabbitMQ instance with all defaults and management plugin enabled on your local machine to run the specs.

To boot one via docker you can use:

docker run -p 5672:5672 -p 15672:15672 rabbitmq:3-management

And then you can run the specs using rspec:

bundle exec rspec

License

MIT, see LICENSE in the repository root

Copyright

(c) 2011-2013 Theo Hultberg (c) 2013-2022 Michael S. Klishin and contributors