Langohr 1.4.0 is released
TL;DR
Langohr is a Clojure RabbitMQ client that embraces AMQP 0.9.1 Model.
1.4.0
is a minor feature release that primarily improves pre-1.1.0
version compatibility
and connection recovery features.
Changes between Langohr 1.3.0 and 1.4.0
Network Recovery Callbacks on Connections and Channels
They can be used to re-declare necessary entities using langohr.core/on-recovery
:
(langohr.core/on-recovery conn (fn [conn] (comment ...)))
(langohr.core/on-recovery ch (fn [ch] (comment ...)))
Unlike OO clients that represent queues and exchanges as objects, Langohr cannot be more aggressive about redeclaring entities during connection recovery.
Changes between Langohr 1.2.0 and 1.3.0
Re-introduce langohr.consumers/create-queueing
The function creates a QueueingConsumer
instance and is very similar
to langohr.consumers/create-default
in purpose.
Sometimes combining a queueing consumer with
langohr.consumers/deliveries-seq
is the best way to express a
problem.
Rename langoh.consumers/consumers-seq to langoh.consumers/deliveries-seq, make it public
langoh.consumers/deliveries-seq
is a function that turns a QueueingConsumer
instance
into a lazy sequence of deliveries.
Use :executor During Connection Recovery
Connection recovery after network failure will now respect the :executor
option.
Changes between Langohr 1.1.0 and 1.2.0
Langohr Again Uses RabbitMQ Java Client Interfaces
Langohr’s implementation of connection and channel now implements RabbitMQ Java client’s interfaces for connection and channel.
Change Log
Langohr change log is available on GitHub.
Langohr is a ClojureWerkz Project
Langohr is part of the group of libraries known as ClojureWerkz, together with
- 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.
Let us know what you think on Twitter or on the Clojure mailing list.
Michael on behalf of the ClojureWerkz Team