Migrate Couchbase Cachebox Provider to ColdBox 4.0 Module


Because the original Cachebox provider uses the CB 3 system Javaloader, and the CB LoaderService loads Cachebox before loading Wirebox, the Couchbase provider is incompatible, in its current form, with CB4.

If the CBJavaloader module is installed, a separate instance of JavaLoader can be created to load the Couchbase jars, but too many manual installation variables are required.

The loading order issues with the Couchbase provider would also be an issue with developing any future providers which might require module dependencies (i.e. MongoDB or Redis which would need the javaloader).

As the Javaloader is no longer a part of the framework, it might be best to post an EOL for the Couchbase provider and discourage development of other providers which are not 100% CFML.


Luis Majano
January 31, 2016, 5:34 PM

Maybe we need to update our provider to be a ColdBox 4 module now. Is this something you would be willing to tackle , with that said, would you be willing to also add another CacheBox provider via your cbmongodb project?

Jon Clausen
January 31, 2016, 6:09 PM

Sure, I can do both. My big concern was that, due to the order of framework LoaderService init (Cachebox, Wirebox, then Modules), the Wirebox DSL's aren't available when Cachebox sets up. Using the current Cachebox config with providers requiring external Java libs will require, at the very least and Application.cfc mappings or a manual override to the module Javaloader path to make it work out.

I'm sure we can find a workaround, though. I'll add another story for the MongoDB Provider module.

Jon Clausen
February 14, 2016, 4:27 PM

This conversion to a module is included in PR#3



Jon Clausen


Jon Clausen




Affects versions