On 14/01/2025 09:17, Code Ranger wrote:
Alex, thank you very much for your suggestion and the link with important information.

On 1/14/25 00:27, Alex Buckley wrote:
You can split your application so that a small loader module goes in the boot layer, while the bulk of the application (CORE module, API module, etc) lives in a child layer. That child layer becomes the parent for the plugins' layers. You are already resolving plugin modules (and their dependencies, such as Gson) in the context of their own layers, so no change there.


Such a solution will lead to significant and unjustified complication of the application. At the same time, it will still not be universal, as it does not apply to JDK modules, which can only reside in the boot layer. A solution that is not universal cannot be considered a good solution.

Alex's suggestion is good, esp. for the scenario where there is discord between the authors of API+CORE and the author of a plugin that wants to access the internals of one or both of these modules.

For the JDK modules then I think we need to understand more about the issues you are dealing with. Is this about serialization, or is this plugin code that needs to be fixed to not depend on JDK internals. We get it that you can't know all the bad things that these plugins might do but this doesn't mean it's a problem that should be solved.

-Alan

Reply via email to