Programming language: HTML
License: Apache License 2.0
Tags: Database    

rxaerospike alternatives and similar libraries

Based on the "Database" category.
Alternatively, view rxaerospike alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of rxaerospike or a related project?

Add another 'Database' Library



Build Status Maven Central GitHub license

RxAerospike is a wrapper for aerospike-client-java which re-implements the database operations using RxJava2 and Kotlin. This wrapper also has 100% code coverage.

Current features

  • RxAerospike implements all non-deprecated operations from IAsyncClient and every operation returning a Task.
  • Synchronous operations have not been implemented yet, but they will be. Also, certain scan operations are implemented in a strange way, which does not send onCompleted() or onFailure() notifications (although they can throw exceptions), and this increases the difficulty of wrapping them.
  • All the other operations implemented in AerospikeClient and AsyncClient are still available in this wrapper (synchronous, admin and scan operations from IAerospikeClient), but not implemented using RxJava.

Why Kotlin?

  • Kotlin makes it very easy to implement class delegation by eliminating all the boilerplate code.
  • Also Kotlin supports default parameters, which generate different methods auto-magically in Java by using the annotation @JvmOverloads, reducing boilerplate code even more.

Maven central



Why not implement the wrapper using Kotlin extension functions?

In a Kotlin world, that would be the way to go and the ideal implementation. However, this wrapper is intended to be compatible with Java applications as well, so class delegation is a better option.

Why don't you have a code coverage badge to prove the 100% coverage claim?

I attached an IntelliJ coverage report to the project, as other coverage tools like JaCoCo would not report the correct percentage (i.e. they base their results on .class bytecode rather than real source code and in this case AerospikeRxClient extends AsyncClient but its not responsible at all for testing its implementation). Feel free to download the project and run the tests with IntelliJ code coverage enabled.

Contact and contributions

I will setup a contribution model soon, please use this mailing list for any questions for now: https://groups.google.com/forum/#!forum/rxaerospike

*Note that all licence references and agreements mentioned in the rxaerospike README section above are relevant to that project's source code only.