3.0.0 is a major release that introduces breaking API changes, JDK 8
compatibility, minor new features and major internal revamp.
Options as Maps
Functions that take options now require a proper Clojure map instead of pseudo keyword arguments:
1 2 3 4 5 6 7 8 9 10 11 12
JDK 8 Compatibility
Langohr test suite now passes on JDK 8 (previously there was 1 failure in recovery test).
GH issue: #54.
Connection Recovery Performed by Java Client
Langohr no longer implements automatic connection recovery of its own. The feature is still there and there should be no behaviour changes but the functionality has now been pushed “upstream” in the Java client, so Langohr now relies on it to do all the work.
There is two public API changes:
com.rabbitmq.client.Recoverableinstead in its signature.
Server-named queues will change after recovery. Use
langohr.core/on-queue-recoveryto register a listener for queue name change.
GH issue: #58.
RabbitMQ Java Client Upgrade
RabbitMQ Java client dependency has been updated to
Custom Exception Handlers
langohr.core/exception-handler is a function that customizes
default exception handler RabbitMQ Java client uses:
1 2 3 4 5 6
Valid keys are:
GH issue: #47.
Clojure 1.7 Support
Clojure 1.7-specific compilation issues and warnings were eliminated.
clj-http dependency has been updated to
ClojureWerkz Support Upgrade
clojurewerkz/support dependency has been updated to
langohr.core/version is Removed
langohr.core/version was removed.
Langohr change log is available on GitHub.
Langohr is a ClojureWerkz Project
- Elastisch, a minimalistic well documented Clojure client for ElasticSearch
- Cassaforte, a Clojure Cassandra client built around CQL 3.0
- Monger, a Clojure MongoDB client for a more civilized age
- Neocons, a client for the Neo4J REST API
- Quartzite, a powerful scheduling library
and several others. If you like Langohr, you may also like our other projects.