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