No changes yet.
langohr.core/settings-from
is a new public API function that parses AMQP and AMQPS connection URIs
and returns an immutable map of individual arguments. URI parsing is now delegated to the Java client
for consistency.
RabbitMQ Java Client has been upgraded to version 2.8.6.
Previously message handlers registered via langohr.consumers/subscribe
had the following
signature:
(fn [^QueueingConsumer$Delivery delivery ^AMQP$BasicProperties properties payload] ...)
starting with beta2, it has changed to be more Clojure friendly
(fn [^Channel ch metadata payload] ...)
All message metadata (both envelope and message properties) are now passed in as a single Clojure map that you can use destructuring on:
(fn [^Channel ch {:keys [type content-type message-id correlation-id] :as metadata} payload] ...)
In addition, in explicit acknowledgement mode, ack-ing and nack-ing messages got easier because consumer channel is now passed in.
It is important to remember that sharing channels between threads that publish messages is dangerous and should be avoided. Ack-ing, nack-ing and consuming messages with shared channels is usually acceptable.
RabbitMQ Java Client which Langohr is based on has been upgraded to version 2.8.1.
Langohr now uses Leiningen 2.