Langohr, a feature-rich Clojure RabbitMQ client
- Embrace AMQP 0.9.1 Model. Follow Java client's API conventions instead of inventing new overly opinionated ones
- Be well documented. Use Ruby amqp gem guides as a foundation.
- Be well tested.
- Error handling and recovery should be well covered
- Support all of the RabbitMQ features, include extensions to AMQP 0.9.1.
- Make error handling and recovery easier
Here is what Langohr does not try to be:
- A replacement for the RabbitMQ Java client
- Sugar-coated API for task queues that hides all the protocol machinery from the developer
- A port of Bunny to Clojure
Langohr artifacts are released to Clojars. If you are using Maven, add the following repository
definition to your
<repository> <id>clojars.org</id> <url>http://clojars.org/repo</url> </repository>
The Most Recent Release
<dependency> <groupId>com.novemberain</groupId> <artifactId>langohr</artifactId> <version>5.4.0</version> </dependency>
Documentation & Examples
If you are only starting out, please see our Getting Started guide.
- AMQP 0.9.1 Concepts
- Connecting To The Broker
- Queues and Consumers
- Exchanges and Publishing
For existing users, there is API reference.
Several code examples used in the guides are kept in a separate Git repository.
Our test suite also can be used for code examples.
Supported Clojure Versions
Langohr requires Clojure 1.6+. The most recent stable release is highly recommended.
Supported RabbitMQ Versions
Langohr depends on RabbitMQ Java client 5.x and requires a supported RabbitMQ version.
Langohr has been around since 2011. The API is stable.
Langohr has a mailing list. Feel free to join it and ask any questions you may have.
To subscribe for announcements of releases, important changes and so on, please follow @ClojureWerkz on Twitter.
Langohr Is a ClojureWerkz Project
Langohr is part of the group of libraries known as ClojureWerkz, together with
Copyright (C) 2011-2022 Michael S. Klishin and the ClojureWerkz Team.