Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ruby-amqp/march_hare
Idiomatic, fast and well-maintained JRuby client for RabbitMQ
https://github.com/ruby-amqp/march_hare
amqp0-9-1 jruby messaging rabbitmq ruby
Last synced: about 1 month ago
JSON representation
Idiomatic, fast and well-maintained JRuby client for RabbitMQ
- Host: GitHub
- URL: https://github.com/ruby-amqp/march_hare
- Owner: ruby-amqp
- License: mit
- Created: 2011-05-20T07:29:33.000Z (over 13 years ago)
- Default Branch: main
- Last Pushed: 2024-05-01T14:40:12.000Z (8 months ago)
- Last Synced: 2024-10-19T16:48:58.929Z (about 2 months ago)
- Topics: amqp0-9-1, jruby, messaging, rabbitmq, ruby
- Language: Ruby
- Homepage: https://github.com/ruby-amqp/march_hare/tree/main/docs/guides
- Size: 7.11 MB
- Stars: 97
- Watchers: 8
- Forks: 46
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: ChangeLog.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ruby - March Hare - Idiomatic, fast and well-maintained JRuby client for RabbitMQ. (Queues and Messaging)
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](http://www.rabbitmq.com/api-guide.html). It strives to combine
strong parts of the Java client with over 4 years of experience using and developing [Ruby amqp gem](http://rubyamqp.info)
and [Bunny](http://rubybunny.info).## 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](https://github.com/ruby-amqp)
only use one or the other.
* [amqp gem](https://github.com/ruby-amqp/amqp) 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](https://www.rabbitmq.com/java-client.html), which is officially
supported by the [RabbitMQ team at VMware](https://github.com/rabbitmq/).## Installation, Dependency
### With Rubygems
``` shell
gem install march_hare
```### With Bundler
``` ruby
gem "march_hare", "~> 4.5"
```## Documentation
### Guides
[MarchHare documentation guides](https://github.com/ruby-amqp/march_hare/tree/master/docs/guides) are now
a part of this repository and can be read directly on GitHub.### Examples
Several [code examples](./examples) are available. Our [test suite](./spec/higher_level_api/integration) 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](ChangeLog.md).
## Continuous Integration
[![Continuous Integration status](https://secure.travis-ci.org/ruby-amqp/march_hare.svg)](http://travis-ci.org/ruby-amqp/march_hare)
CI is hosted by [travis-ci.org](http://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:
```bash
docker run -p 5672:5672 -p 15672:15672 rabbitmq:3-management
```And then you can run the specs using `rspec`:
```bash
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