Code Monkey home page Code Monkey logo

march_hare's Introduction

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
  • An attempt to re-create 100% of the amqp gem API on top of the Java client
  • A "work queue" like Resque
  • A cure for cancer

Project Maturity

March Hare is not a young project. Extracted from a platform that transports more than a terabyte of data over RabbitMQ every day, it has been around as an open source project since mid-2011 and has reached 2.0 in late 2013.

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

Installation, Dependency

With Rubygems

gem install march_hare

With Bundler

gem "march_hare", "~> 3.0.0"

Documentation

Guides

MarchHare documentation guides are mostly complete.

Examples

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

Reference

API reference is available.

Supported Ruby Versions

March Hare supports JRuby 9.0 or later.

Supported JDK Versions

The project is tested against OpenJDK 8, Oracle JDK 8 and is known to work on OpenJDK 7 and Oracle JDK 7.

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

Theo Hultberg, Michael Klishin, 2011-2017.

march_hare's People

Contributors

michaelklishin avatar iconara avatar ivoanjo avatar olleolleolle avatar andrewvc avatar cheald avatar ifesdjeen avatar mmmries avatar andreaseger avatar quixoten avatar etehtsea avatar simonykq avatar ginkel avatar bitdeli-chef avatar gaiottino avatar rasputnik avatar priviterag avatar jakelandis avatar leemhenson avatar noahhaon avatar rlishtaba avatar

Watchers

David Colwell avatar Jérémie Astori avatar Jarrod Taylor avatar BrindleFly avatar Radu Helstern avatar Asjad Khan avatar Adam Schepis (he/him) avatar Joey Parshley avatar Rudi Wirth avatar Adam Abrevaya avatar Ben Rousseau avatar Andi Abes avatar James Cloos avatar Nivetha R avatar Scott Stackley avatar Sriram Nookala avatar Jeremie Roche avatar SCOTT JENSEN avatar Gaurav Singh avatar Siddharth Tewari avatar Francesca Nannizzi avatar Efe Yardimci avatar Sahil Singhal avatar Vikram Pillai avatar Sivaraj M avatar Hina Gandhi avatar Becky Bell avatar Hanbin Cho avatar Daniel Recker avatar Naina Verma avatar Haley Pelletier avatar Steven Picciano avatar Mageshwaran Rajendran avatar Jeff Zhou avatar Xu Han avatar Aswin Prabhu avatar Greg O'Hare avatar Duk Hwan Kim avatar Vishal Singh avatar Jeff Brainerd avatar David Nutting avatar Maya Dahan avatar Samir Mehra avatar Dhruv Patel avatar Stan Luke avatar John Purcell avatar Alberto Massari avatar John Gallinagh avatar Chris Harris avatar James Curran  avatar Madolyn Sullivan avatar  avatar Mike Jasnowski avatar Muzibur Rahiman Shaik avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.