1.0.0-beta14 is a development milestone release that includes a few minor features,
mostly around error handling and recovery.
Changes between Langohr 1.0.0-beta13 and 1.0.0-beta14
In its early days, Langohr has been using
It was later replaced by a
The key difference between the two is that
QueueingConsumerblocks the caller
QueueingConsumer, deliveries are typically processed in the same thread
This implementation has pros and cons. As such, an implementation on top of
QueueingConsumer is back with
langohr.consumers/blocking-subscribe which is
langohr.consumers/subscribe in the signature but blocks the caller.
langohr.consumers/ack-unless-exception is a new convenience function
that takes a delivery handler fn and will return a new function
that explicitly acks deliveries unless an exception was raised by the original handler:
(require '[langohr.consumers :as lc]) (require '[langohr.basic :as lb]) (let [f (fn [metadata payload] (comment "Message delivery handler")) f' (lc/ack-unless-exception f)] (lb/consume ch q (lc/create-default :handle-delivery-fn f'))
Contributed by Ian Eure.
Shutdown Signal Functions
Several new functions in
langohr.shutdown aid with shutdown signals:
Clojure 1.5 By Default
Langohr now depends on
1.5.1. It is
still compatible with Clojure 1.3 and if your
project.clj depends on
a different version, it will be used, but 1.5 is the default now.
We encourage all users to upgrade to 1.5, it is a drop-in replacement for the majority of projects out there.
Langohr change log is available on GitHub.
Langohr is a ClojureWerkz Project
- Elastisch, a minimalistic well documented Clojure client for ElasticSearch
- Welle, a Riak client with batteries included
- 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.