...
In order to have a more extendible architecture, a mechanism is required to extend the system's functionality by adding new implementations. The approach proposed is to introduce a ClassLoaderService. This ClassLoaderService is an interface that will expose the functional methods to the code, but it's implementation is provided / selected at startup / runtime. The ClassLoaderService will be accessible in the Geode system and delegate to the relevant implementation to resolve service implementations, load classes or load resources.
In this proposal, the all ClassLoader specific functionality, within the Apache Geode system with be replaced with an equivalent ClassLoaderService function.
To keep the current non-modular ClassLoader functionality, a DefaultClassLoaderService will be provided to provide a seamless transition between Modular ClassLoading and single ClassLoader functionality.
Gliffy Diagram | ||||
---|---|---|---|---|
|
Use Cases
Scenario 1:
Expected behavior:
...