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 :

com.couchbase.client java-cache 1.0.0-dp2 couchbase couchbase repo http://files.couchbase.com/maven2 false 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 com . couchbase . client java - cache 1.0.0 - dp2 couchbase couchbase repo http : //files.couchbase.com/maven2 false

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!