Open jxblum opened 4 years ago
This has not been completely resolved yet!
Unfortunately, it is not currently possible to achieve certain, desired features or functionality in SBDG without the use of Apache Geode internal APIs.
This is because the Apache Geode's APIs are incomplete or wrong in certain cases. Additionally, and internally, Apache Geode naively treats certain object instances as the internal implementation of the public interface and API.
For example, the Pool
interface is something that applications, or particularly frameworks and tooling should be able to implement and provide to Apache Geode for use, especially with regard to the context in which Apache Geode is used. A different Pool
implementation that is context-aware (or sensitive) might be crucial to the runtime stability of the application in that context. Yet, Apache Geode treats every instance of Pool
as an org.apache.geode.cache.client.internal.PoolImpl
.
The same argument could be made for PDX features and types.
As such, the best we can do at this point is contain the uses of Apache Geode's internal classes and APIs to the SBDG apache-geode-extensions
module.
Current use of internal Apace Geode API's is (use expression:
import org\.apache\.geode.*internal*
):