I recently noticed that the JNoSQL MongoDB driver was adding the asynchronous MongoDB libraries when I only needed the synchronous libraries. This added unnecessary bulk to my JAR / WAR. I have a suggestion to split all of the libraries (drivers, mapping, communication) into synchronous, asynchronous, legacy, and possibly reactivestreams once implemented.
As an example, MongoDB has split their driver into legacy, sync, async, and even reactivestreams. By making this change, future additions will not cause additional bulk to a project built to be aimed towards microservices.
The splitting doesn't necessarily need to be project-wide, but at least for the drivers would be nice.
I recently noticed that the JNoSQL MongoDB driver was adding the asynchronous MongoDB libraries when I only needed the synchronous libraries. This added unnecessary bulk to my JAR / WAR. I have a suggestion to split all of the libraries (drivers, mapping, communication) into synchronous, asynchronous, legacy, and possibly reactivestreams once implemented.
As an example, MongoDB has split their driver into legacy, sync, async, and even reactivestreams. By making this change, future additions will not cause additional bulk to a project built to be aimed towards microservices.
The splitting doesn't necessarily need to be project-wide, but at least for the drivers would be nice.
Open discussion is encouraged. 😊