Monger is an idiomatic Clojure MongoDB driver for a more civilized age.
It has batteries included, offers powerful expressive query DSL, strives to support every MongoDB 2.0+ feature and has sane defaults.
It also has solid documentation.
1.7.0 is a minor backwards-compatible release that updates MongoDB Java driver
and makes two dependencies optional.
Automatic Topology Recovery Tracks Entities Per Connection
Automatic topology recovery now tracks entities (exchanges,
queues, bindings, and consumers) per connection. This makes
it possible to, say, declare an exchange on one channel, delete
it on another channel and not have it reappear.
Suggested by Jonathan Halterman.
RabbitMQ Java Client Upgrade
RabbitMQ Java client dependency has been updated to 3.2.2.
Validateur is a functional validations library inspired by Ruby’s ActiveModel.
Validateur 1.6 contains a usability improvement and drops Clojure 1.3 support.
Changes between Validateur 1.5.0 and 1.6.0
Corrected logic in blank/nil validations
Corrected the logic in the allowed-to-be-blank functions to properly allow nil values
when allow-nil is true, but allow-blank is false. Previously, both allow-blank and allow-nil
had to be set to true to allow nil values due to clojure’s blank? function returning true for nil.
2.0.0 is a major release that introduces automatic topology (queues,
exchanges, bindings, and consumers) recovery.
Making Automatic Connection Recovery More Awesome
Langohr 1.7.0 supports automatic recovery of connections and channels
when network connectivity fails. However, recovery of queues, exchanges, bindings
and consumers was up to developers. In most cases, topology recovery
consists of a few straightforward steps:
Re-declare queues
Re-declare exchanges
Re-establish bindings
Re-register consumers
Langohr 2.0 provides a feature that performs those steps automatically.
Every channel now tracks the entities declared on it and re-declares them
after recovery. It’s possible to disable this feature and perform manual
recovery, just like before.
For many applications, recovery from network and node failures will
now be almost effortless. Give it a try and let us
know how it goes!
Connection recovery now supports entity recovery. Queues, exchanges,
bindings and consumers can be recovered automatically after channel
recovery. This feature is enabled by default and can be disabled
by setting the :automatically-recover-topology option to false.
:requested-channel-max Connection Option
:requested-channel-max is a new option accepted by
langohr.core/connect that configures how many channels
this connection may have. The limit is enforced on the client
side. 0 means “no limit” and is the default.
Contributed by Glophindale.
langohr.queue/empty?
langohr.queue/empty? is a new function that returns true if provided
queue is empty (has 0 messages ready):
langohr.core/add-shutdown-listener is a helper function that
reifies and registers a shutdown signal listener on a connection.
langohr.core/add-blocked-listener
langohr.core/add-blocked-listener is a helper function that
reifies and registers a connection.blocked and connection.unblocked
listener on a connection.