To be Reviewed By: August 19th 2020
Authors: Patrick Johnson
Status: Draft | Discussion | Active | Dropped | Superseded
Superseded by: N/A
Related: ClassLoader Isolation
Problem
Currently, Geode components, like the Cache, can be created and shutdown directly using things like the CacheFactory class. After the completion of the work proposed by the ClassLoader Isolation RFC, Cache and most other Geode components will be inaccessible outside of the module framework, because they will be loaded using a different ClassLoader, not the default system ClassLoader. Let's continue using Cache as an example; the Cache class is located in geode-core, which will be on the inside of the system and therefore be inaccessible from the system ClassLoader. In order to access classes from module ClassLoaders, they must implement an interface that exists outside of the module system so that it is accessible from the system ClassLoader
Anti-Goals
Solution
Changes and Additions to Public Interfaces
No anticipated changes to public interfaces.
Performance Impact
No anticipated performance impact.
Backwards Compatibility and Upgrade Path
No backward compatibility impact.
Prior Art
What would be the alternatives to the proposed solution? What would happen if we don’t solve the problem? Why should this proposal be preferred?
FAQ
Answers to questions you’ve commonly been asked after requesting comments for this proposal.
Errata
What are minor adjustments that had to be made to the proposal since it was approved?