Kria (a right rotation of "Riak") is an open source asynchronous Clojure
driver for Riak 2.0 built on top of Java 7's NIO.2. It uses Riak's protocol
buffer interface.

https://github.com/bluemont/kria
https://clojars.org/kria

In my work projects, we have found that Clojure's core.async works great as
a layer on top of Kria. Just create a core.async channel in advance and
have the callback put the desired return value in the core.async channel.
You might also try Clojure atoms or promises; Kria doesn't care.

There are, of course, several Riak drivers for Java and Clojure. I hope
some people find this one useful. I have a section in the README about why
I made it. To summarize:
* The 1.4.X Java driver wasn't doing it for me.
* I started this before the new Java client was far along.
* I didn't expect to like a Java style API.
* I used Java 7 NIO.2 instead of Netty -- because it is simpler and has
less dependencies.
* First class functions in Clojure make async callbacks easier.
* Using Clojure made it easy to abstract out the boilerplate in the API.

I welcome your feedback. It does not yet support all of the Riak API, but
the essentials are there.
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to