On behalf of the SDK Engineering Team, I’m happy to introduce the second developer preview for the Couchbase JCache implementation.

This new preview is still work in progress, a few features have been added and polished since last preview. As always, feel free to toy with it and provide feedback.

Obtaining The New Developer Preview

The plan is still to make it available on Maven Central, but for now the Couchbase JCache implementation is hosted on our own Maven repository. You can grab the developer preview from there by adding the following to your pom.xml:



Alternatively, you can grab the jars directly (you’ll need java-cache, java-client and java-core), of if you feel adventurous you can see the latest code on github.

What’s New?

  • All data manipulation operations are now implemented (including LoadAll).
  • The iterator (which is based on views under the wire) now can remove().
  • Statistics are fully gathered (except for expiries).
  • Exceptions are correctly wrapped into CacheExceptions as needed.
  • Concurrency Model: we’ve tried to come closer to the concurrency model exposed in the specification while using Couchbase optimistic locking capabilities. There’s still no pessimistic locking in place though.
  • Listeners and Notifications have been implemented, except for Expiry notification (the expiries are implemented via Couchbase’s TTL, and we don’t get notified of expiries).

What’s Still To Come?

This developer preview showcases the general direction we went with this implementation.

The remaining things to implement in order to have a full specification coverage are:

  • adding support for EntryProcessors
  • implementing read-through and write-through
  • adding annotation support

Conclusion

I hope this will be of interest to you. If you want to learn more about JCache or the Java SDK (and maybe come back here later), here are some resources:

If you have some suggestions or feedback to give, please do! The best place to do so is in the comments below or in the official forums.

You can also file Issues in our bug tracker (use the “Couchbase Java Client” project, aka JCBC, and use JCache component).

Contributions are also welcome! You would have to sign our CLA (see open-source doc) and let us validate that you did before submitting a pull-request on GitHub.

I hope you enjoyed this second preview. Happy coding!

Author

Posted by Simon Basle, Software Engineer, Pivotal

Simon Basl_ is a Paris-based Software Engineer working in the Spring team at Pivotal. Previously, he worked in the Couchbase Java SDK team. His interests span software design aspects (OOP, design patterns, software architecture), rich clients, what lies beyond code (continuous integration, (D)VCS, best practices), and reactive programming. He is also an editor for the French version of InfoQ.com.

8 Comments

  1. Could you share JCache TCK results (what test pass, what fail) or provide instructions how to run couchbase client against TCK?

    1. Hi Vik, I felt at this stage it was still a bit too early for a TCK run. Nevertheless I\’ll probably attempt one in the coming weeks to share results, so stay tuned :)

      1. @simonbasle:disqus you can find instruction how to use TCK( https://github.com/jsr107/jsr1… ) here https://docs.google.com/docume

  2. i want to ask for some questions ,but lately,the couchbase forums is can net open,only i find the problem?

    1. @disqus_tpaV5Y7j41:disqus as far as I know the forums work fine, and your account is not blocked or anything

    2. @disqus_tpaV5Y7j41:disqus as far as I can see the forums work fine and your account isn\’t blocked or anything…

      1. https://forums.couchbase.com/, when i open this website ,it is blank as same as i use my mobile phone to open it. added, i am in China

      2. i have used Proxy browser,it did ont work yet

Leave a reply